downhill_simplex module
Define the Downhill simplex (or Nelder-Mead) algorihm.
- class DownhillSimplex(*, compensating_elements, elts, objectives, variables, compute_beam_propagation, compute_residuals, cavity_settings_factory, reference_simulation_output, constraints=None, compute_constraints=None, optimisation_algorithm_kwargs=None, history_kwargs=None, **kwargs)[source]
Bases:
OptimisationAlgorithmDownhill simplex method, which does not use derivatives.
All the attributes but
solutionare inherited from the Abstract Base ClassOptimisationAlgorithm.See also
- Parameters:
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, default:None)compute_constraints (
Callable[[SimulationOutput],ndarray] |None, default:None)optimisation_algorithm_kwargs (
dict[str,Any] |None, default:None)
- optimize()[source]
Set up the optimization and solve the problem.
- Return type:
- Returns:
Gives list of solutions, corresponding objective, convergence violation if applicable, etc.
- _generate_opti_sol(result)[source]
Store the optimization results.
- Parameters:
result (
OptimizeResult)- Return type:
- _abc_impl = <_abc._abc_data object at 0x75e515325380>