Class PolynomialMutation
- Namespace
- OptunaSharp.Samplers.Nsgaii
- Assembly
- OptunaSharp.dll
Polynomial mutation operation used by NSGAIISampler. Port of
optuna/samplers/nsgaii/_mutations/_polynomial.py: PolynomialMutation (experimental v5.0.0).
Mutates a real-valued parameter according to the polynomial probability distribution, following revision 1.1.6 of the original NSGA-II C implementation.
public class PolynomialMutation : BaseMutation
- Inheritance
-
PolynomialMutation
- Inherited Members
Constructors
PolynomialMutation(double)
Configures the polynomial perturbation distribution applied to bounded coordinates.
public PolynomialMutation(double eta = 20)
Parameters
etadoubleDistribution index. Larger values keep mutated values closer to the original.
Exceptions
- ValueError
The polynomial distribution index is negative.
Methods
Mutation(double, NumPyRandom, Study, double[])
Mutate the given parameter.
public override double Mutation(double param, NumPyRandom rng, Study study, double[] searchSpaceBounds)
Parameters
paramdoubleA parameter value in the transformed numerical search space.
rngNumPyRandomAn instance of
numpy.random.RandomState.studyStudyTarget study object.
searchSpaceBoundsdouble[]A length-2 array
[lower, upper]of numerical distribution bounds from the transformed search space.
Returns
- double
A mutated parameter value in the transformed numerical search space.