SNES¶
- class pints.SNES(x0, sigma0=None, boundaries=None)[source]¶
Finds the best parameters using the SNES method described in [1], [2].
SNES stands for Seperable Natural Evolution Strategy, and is designed for non-linear derivative-free optimization problems in high dimensions and with many local minima [1].
It treats each dimension separately, making it suitable for higher dimensions.
Extends
PopulationBasedOptimiser
.References
- ask()[source]¶
See
Optimiser.ask()
.
- f_best()[source]¶
See
Optimiser.f_best()
.
- n_hyper_parameters()¶
- name()[source]¶
See
Optimiser.name()
.
- needs_sensitivities()¶
Returns
True
if this methods needs sensitivities to be passed in totell
along with the evaluated error.
- population_size()¶
Returns this optimiser’s population size.
If no explicit population size has been set,
None
may be returned. Once running, the correct value will always be returned.
- running()[source]¶
See
Optimiser.running()
.
- set_hyper_parameters(x)¶
The hyper-parameter vector is
[population_size]
.
- set_population_size(population_size=None)¶
Sets a population size to use in this optimisation.
If population_size is set to
None
, the population size will be set using the heuristicsuggested_population_size()
.
- stop()¶
Checks if this method has run into trouble and should terminate. Returns
False
if everything’s fine, or a short message (e.g. “Ill-conditioned matrix.”) if the method should terminate.
- suggested_population_size(round_up_to_multiple_of=None)¶
Returns a suggested population size for this method, based on the dimension of the search space (e.g. the parameter space).
If the optional argument
round_up_to_multiple_of
is set to an integer greater than 1, the method will round up the estimate to a multiple of that number. This can be useful to obtain a population size based on e.g. the number of worker processes used to perform objective function evaluations.
- tell(fx)[source]¶
See
Optimiser.tell()
.
- x_best()[source]¶
See
Optimiser.x_best()
.