differential_evolution module

Define DifferentialEvolution.

class DifferentialEvolution(*, compensating_elements: Collection[Element], elts: ListOfElements, objectives: Collection[Objective], variables: Collection[Variable], compute_beam_propagation: Callable[[SetOfCavitySettings], SimulationOutput], compute_residuals: Callable[[SimulationOutput], Any], cavity_settings_factory: CavitySettingsFactory, reference_simulation_output: SimulationOutput, constraints: Collection[Constraint] | None = None, compute_constraints: Callable[[SimulationOutput], ndarray] | None = None, optimisation_algorithm_kwargs: dict[str, Any] | None = None, history_kwargs: dict[str, Any] | None = None, **kwargs)

Bases: DownhillSimplex

Differential evolution method, which does not use derivatives.

Warning

This method was not tuned for this problem yet.

supports_constraints: bool = False
optimize() OptiSol

Set up the optimisation and solve the problem.

Returns:

info – Gives list of solutions, corresponding objective, convergence violation if applicable, etc.

Return type:

OptiSol

_algorithm_parameters() dict

Create the kwargs for the optimisation.

_abc_impl = <_abc._abc_data object at 0x7f36f75b0e80>