:py:mod:`desdeo_emo.recombination.SimulatedBinaryCrossover`
===========================================================

.. py:module:: desdeo_emo.recombination.SimulatedBinaryCrossover


Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   desdeo_emo.recombination.SimulatedBinaryCrossover.SBX_xover




.. py:class:: SBX_xover(ProC: float = 1, DisC: float = 30)

   Simulated binary crossover.

   Parameters
       ----------
       ProC : float, optional
           [description], by default 1
       DisC : float, optional
           [description], by default 30

   .. py:method:: do(pop: numpy.ndarray, mating_pop_ids: list = None) -> numpy.ndarray

      Consecutive members of mating_pop_ids are crossed over
          in pairs. Example: if mating_pop_ids = [0, 2, 3, 6, 5] then the individuals
          are crossover as: [0, 2], [3, 6], [5, 0]. Note: if the number of elements
          is odd, the last individual is crossed over with the first one.

      :param pop: Array of all individuals
      :type pop: np.ndarray
      :param mating_pop_ids:
                             Indices of population members to mate, by default None, which shuffles and
                                 mates whole population
      :type mating_pop_ids: list, optional

      :returns: The offspring produced as a result of crossover.
      :rtype: np.ndarray



