SciPy Sampler Plugin
ropt.plugins.sampler.scipy.SciPySampler
Bases: Sampler
A sampler implementation utilizing SciPy's statistical functions.
This sampler leverages functions from the scipy.stats
and
scipy.stats.qmc
modules to generate perturbation samples for optimization.
Supported Sampling Methods:
-
From Probability Distributions (
scipy.stats
):norm
: Samples from a standard normal distribution (mean 0, standard deviation 1). This is the default method if none is specified or if "default" is requested.truncnorm
: Samples from a truncated normal distribution (mean 0, std dev 1), truncated to the range[-1, 1]
by default.uniform
: Samples from a uniform distribution. Defaults to the range[-1, 1]
.
-
From Quasi-Monte Carlo Sequences (
scipy.stats.qmc
):sobol
: Uses Sobol' sequences.halton
: Uses Halton sequences.lhs
: Uses Latin Hypercube Sampling. (Note: QMC samples are generated in the unit hypercube[0, 1]^d
and then scaled to the hypercube[-1, 1]^d
)
Configuration:
The specific sampling method is chosen via the method
field in the
SamplerConfig
. Additional method-specific
parameters (e.g., distribution parameters like loc
, scale
, a
, b
for
stats
methods, or engine parameters for qmc
methods) can be passed
through the options
dictionary within the SamplerConfig
. Refer to the
scipy.stats
and
documentation for available options.