Table of Contents

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

eta double

Distribution 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

param double

A parameter value in the transformed numerical search space.

rng NumPyRandom

An instance of numpy.random.RandomState.

study Study

Target study object.

searchSpaceBounds double[]

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.