Table of Contents

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

epsilon double?

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

int

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

parentsParams double[][]

A num_parents x num_parameters array. Represents a parameter space for each parent individual (continuous for numerical parameters). Row i is parent i.

rng NumPyRandom

An instance of numpy.random.RandomState.

study Study

Target study object.

searchSpaceBounds double[,]

A len_search_space x 2 array 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.