Backtracking Search Optimization Algorithm.

class opytimizer.optimizers.evolutionary.bsa.BSA(params: Optional[Dict[str, Any]] = None)

A BSA class, inherited from Optimizer.

This is the designed class to define BSOA-related variables and methods.


P. Civicioglu. Backtracking search optimization algorithm for numerical optimization problems. Applied Mathematics and Computation (2013).

__init__(params: Optional[Dict[str, Any]] = None) → None

Initialization method.

Parameters:params – Contains key-value parameters to the meta-heuristics.

Experience from previous generation.


Number of non-crosses.


List of historical agents.

compile(space: opytimizer.core.space.Space) → None

Compiles additional information that is used by this optimizer.

Parameters:space – A Space object containing meta-information.
_permute(agents: List[opytimizer.core.agent.Agent]) → None

Performs the permuting operator.

Parameters:agents – List of agents.
_mutate(agents: List[opytimizer.core.agent.Agent]) → List[opytimizer.core.agent.Agent]

Performs the mutation operator.

Parameters:agents – List of agents.
Returns:A list holding the trial agents.
Return type:(List[Agent])
_crossover(agents: List[opytimizer.core.agent.Agent], trial_agents: List[opytimizer.core.agent.Agent]) → None

Performs the crossover operator.

  • agents – List of agents.
  • trial_agents – List of trial agents.
update(space: opytimizer.core.space.Space, function: opytimizer.core.function.Function) → None

Wraps Backtracking Search Optimization Algorithm over all agents and variables.

  • space – Space containing agents and update-related information.
  • function – A Function object that will be used as the objective function.