optimisation.algorithms.downhill_simplex module

Define the Downhill simplex (or Nelder-Mead) algorihm.

class DownhillSimplex(*args, **kwargs)

Bases: OptimisationAlgorithm

Downhill simplex method, which does not use derivatives.

All the attributes but solution are inherited from the Abstract Base Class OptimisationAlgorithm.

See also

DownhillSimplexPenalty

__init__(*args, **kwargs) None

Instantiate object.

_abc_impl = <_abc._abc_data object>
property _default_kwargs: dict[str, Any]

Create the kwargs for the optimisation.

_format_variables() tuple[ndarray, Bounds]

Convert the Variable`s to an array and :class:`Bounds.

_output_some_info(objectives_values: dict[str, float]) None

Show the most useful data from least_squares.

optimise(keep_history: bool = False, save_history: bool = False) tuple[bool, SetOfCavitySettings | None, OptiInfo]

Set up the optimisation and solve the problem.

Returns:

  • success (bool) – Tells if the optimisation algorithm managed to converge.

  • optimized_cavity_settings (SetOfCavitySettings) – Best solution found by the optimization algorithm.

  • info (dict[str, list[float]]] | None) – Gives list of solutions, corresponding objective, convergence violation if applicable, etc.

supports_constraints: bool = False