opytimizer.optimizers.evolutionary.de

Differential Evolution.

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

A DE class, inherited from Optimizer.

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

References

R. Storn. On the usage of differential evolution for function optimization. Proceedings of North American Fuzzy Information Processing (1996).

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

Initialization method.

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

Crossover probability.

F

Differential weight.

_mutate_agent(agent: opytimizer.core.agent.Agent, alpha: opytimizer.core.agent.Agent, beta: opytimizer.core.agent.Agent, gamma: opytimizer.core.agent.Agent) → opytimizer.core.agent.Agent

Mutates a new agent based on pre-picked distinct agents (eq. 4).

Parameters:
  • agent – Current agent.
  • alpha – 1st picked agent.
  • beta – 2nd picked agent.
  • gamma – 3rd picked agent.
Returns:

A mutated agent.

Return type:

(Agent)

update(space: opytimizer.core.space.Space, function: opytimizer.core.function.Function) → None

Wraps Differential Evolution over all agents and variables (eq. 1-4).

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