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

.. py:module:: desdeo_emo.recombination.biogp_xover


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

Classes
~~~~~~~

.. autoapisummary::

   desdeo_emo.recombination.biogp_xover.BioGP_xover



Functions
~~~~~~~~~

.. autoapisummary::

   desdeo_emo.recombination.biogp_xover.mate



.. py:function:: mate(mating_pop, individuals: list, params)

   Perform BioGP crossover functions. Produce two offsprings by swapping genetic
   material of the two parents.

   Standard crossover:
   Swap two random subtrees between the parents.

   Height-fair crossover:
   Swap two random subtrees between the parents at the selected depth.

   :param mating_pop: List of indices of individuals to mate. If None, choose from population
                      randomly.
                      Each entry should contain two indices, one for each parent.
   :type mating_pop: list
   :param individuals: List of all individuals.
   :type individuals: list
   :param params: Parameters for evolution. If None, use defaults.
   :type params: dict

   :returns: **offspring** -- The offsprings produced as a result of crossover.
   :rtype: list


.. py:class:: BioGP_xover(probability_crossover: float = 0.9, probability_standard: float = 0.5)

   .. py:method:: do(pop, mating_pop_ids)



