class_docstr: Unimodal Normal Distribution Crossover used by :class:`~optuna.samplers.NSGAIISampler`.
  
  Generates child individuals from the three parents
  using a multivariate normal distribution.
  
  - `H. Kita, I. Ono and S. Kobayashi,
    Multi-parental extension of the unimodal normal distribution crossover
    for real-coded genetic algorithms,
    Proceedings of the 1999 Congress on Evolutionary Computation-CEC99
    (Cat. No. 99TH8406), 1999, pp. 1581-1588 Vol. 2
    <https://ieeexplore.ieee.org/document/782672>`_
  
  Args:
      sigma_xi:
          Parametrizes normal distribution from which ``xi`` is drawn.
      sigma_eta:
          Parametrizes normal distribution from which ``etas`` are drawn.
          If not specified, defaults to ``0.35 / sqrt(len(search_space))``.
code: def __init__(
      self, sigma_xi: float = 0.5, sigma_eta: Optional[float] = None
  ) -> None:
      self._sigma_xi = sigma_xi
      self._sigma_eta = sigma_eta
  
file_path: optuna/optuna/samplers/nsgaii/_crossovers/_undx.py
imports: from typing import Optional
  import numpy
  from optuna._experimental import experimental_class
  from optuna.samplers.nsgaii._crossovers._base import BaseCrossover
  from optuna.study import Study
label_desc: Use image node_id 1 to create a new UNDXCrossover object from inherited base classes: BaseCrossover with example: obj = UNDXCrossover(sigma_xi, sigma_eta)