optuna.samplers.nsgaii.UNDXCrossover

class optuna.samplers.nsgaii.UNDXCrossover(sigma_xi=0.5, sigma_eta=None)[source]

Unimodal Normal Distribution Crossover used by NSGAIISampler.

Generates child individuals from the three parents using a multivariate normal distribution.

Parameters:
  • sigma_xi (float) – Parametrizes normal distribution from which xi is drawn.

  • sigma_eta (Optional[float]) – Parametrizes normal distribution from which etas are drawn. If not specified, defaults to 0.35 / sqrt(len(search_space)).

Note

Added in v3.0.0 as an experimental feature. The interface may change in newer versions without prior notice. See https://github.com/optuna/optuna/releases/tag/v3.0.0.

Methods

crossover(parents_params, rng, study, ...)

Perform crossover of selected parent individuals.

Attributes

n_parents

crossover(parents_params, rng, study, search_space_bounds)[source]

Perform crossover of selected parent individuals.

This method is called in sample_relative().

Parameters:
  • parents_params (np.ndarray) – A numpy.ndarray with dimensions num_parents x num_parameters. Represents a parameter space for each parent individual. This space is continuous for numerical parameters.

  • rng (np.random.RandomState) – An instance of numpy.random.RandomState.

  • study (Study) – Target study object.

  • search_space_bounds (np.ndarray) – A numpy.ndarray with dimensions len_search_space x 2 representing numerical distribution bounds constructed from transformed search space.

Returns:

A 1-dimensional numpy.ndarray containing new parameter combination.

Return type:

np.ndarray