opytimizer.optimizers.science.eo

Equilibrium Optimizer.

class opytimizer.optimizers.science.eo.EO(params: Optional[Dict[str, Any]] = None)

An EO class, inherited from Optimizer.

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

References

A. Faramarzi et al. Equilibrium optimizer: A novel optimization algorithm. Knowledge-Based Systems (2020).

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

Initialization method.

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

Exploration constant.

a2

Exploitation constant.

GP

Generation probability.

V

Velocity.

C

Concentrations (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.
_calculate_equilibrium(agents: List[opytimizer.core.agent.Agent]) → None

Calculates the equilibrium concentrations.

Parameters:agents – List of agents.
_average_concentration(function: opytimizer.core.function.Function) → opytimizer.core.agent.Agent

Averages the concentrations.

Parameters:function – A Function object that will be used as the objective function.
Returns:Averaged concentration.
Return type:(Agent)
update(space: opytimizer.core.space.Space, function: opytimizer.core.function.Function, iteration: int, n_iterations: int) → None

Wraps Equilibrium Optimizer over all agents and variables.

Parameters:
  • space – Space containing agents and update-related information.
  • function – A Function object that will be used as the objective function.
  • iteration – Current iteration.
  • n_iterations – Maximum number of iterations.