Class SPXCrossover
- Namespace
- OptunaSharp.Samplers.Nsgaii
- Assembly
- OptunaSharp.dll
Simplex Crossover operation used by NSGAIISampler. Port of
optuna/samplers/nsgaii/_crossovers/_spx.py: SPXCrossover (experimental v3.0.0).
Uniformly samples child individuals from within a single simplex similar to the simplex produced by the (three) parent individuals.
public class SPXCrossover : BaseCrossover
- Inheritance
-
SPXCrossover
- Inherited Members
Constructors
SPXCrossover(double?)
Configures expansion of the simplex formed by three numerical parent vectors.
public SPXCrossover(double? epsilon = null)
Parameters
epsilondouble?Expansion rate. If unset, defaults to
sqrt(len(search_space) + 2).
Properties
NParents
Number of parent individuals required to perform crossover.
public override int NParents { get; }
Property Value
Methods
Crossover(double[][], NumPyRandom, Study, double[,])
Perform crossover of selected parent individuals.
public override double[] Crossover(double[][] parentsParams, NumPyRandom rng, Study study, double[,] searchSpaceBounds)
Parameters
parentsParamsdouble[][]A
num_parents x num_parametersarray. Represents a parameter space for each parent individual (continuous for numerical parameters). Rowiis parenti.rngNumPyRandomAn instance of
numpy.random.RandomState.studyStudyTarget study object.
searchSpaceBoundsdouble[,]A
len_search_space x 2array of numerical distribution bounds constructed from the transformed search space. Column 0 is lower, column 1 is upper.
Returns
- double[]
A 1-dimensional array containing the new parameter combination.