Sampling backends¶
Many optimization algorithms require the gradient of the objective function. These are estimated using evaluations of perturbed controls, which requires (pseudo-)stochastic sampling. By default these perturbations are generated using sampling code from the SciPy package. SciPy provides sampling from common distributions such as Gaussian, Uniform and Bernoulli, and some additional methods such as Sobol and Latin hypercube sampling.
The sampling method and options are specified in the sampler subsection of
the controls configuration settings. The sampling method is selected using the
method keyword. If the method keyword is missing, a normal distribution
is used.
The sampling methods in the SciPy backend support several options that can be
passed using the options keyword. Consult the online SciPy manual on
Statistical functions
for details. To find the algorithms and options that are supported in Everest,
consult the relevant section of the ropt manual: SciPy Sampler Plugin.
Example
optimization:
sampler:
method: sobol
options:
scramble: False