:py:mod:`desdeo_emo.selection.MOEAD_select`
===========================================

.. py:module:: desdeo_emo.selection.MOEAD_select


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

Classes
~~~~~~~

.. autoapisummary::

   desdeo_emo.selection.MOEAD_select.MOEAD_select




.. py:class:: MOEAD_select(pop: desdeo_emo.population.Population.Population, SF_type: desdeo_tools.scalarization.MOEADSF.MOEADSFBase, n_neighbors: int, selection_type: str = None)

   Bases: :py:obj:`desdeo_emo.selection.SelectionBase.InteractiveDecompositionSelectionBase`

   The MOEAD selection operator.

   :param pop: The population of individuals
   :type pop: Population
   :param SF_type: The scalarizing function employed to evaluate the solutions
   :type SF_type: MOEADSFBase

   .. py:method:: do(pop: desdeo_emo.population.Population.Population, current_neighborhood: int) -> List[int]

      Select the individuals that are kept in the neighborhood.

      :param pop: The current population.
      :type pop: Population
      :param vectors: Class instance containing reference vectors.
      :type vectors: ReferenceVectors
      :param ideal_point: Ideal vector found so far
      :param current_neighborhood: Neighborhood to be updated
      :param offspring_fx: Offspring solution to be compared with the rest of the neighborhood

      :returns: List of indices of the selected individuals
      :rtype: List[int]


   .. py:method:: _evaluate_SF(neighborhood, weights, ideal_point)


   .. py:method:: choose_parents(current_neighborhood: int, n_parents: int) -> List[int]


   .. py:method:: adapt_RVs(fitness: numpy.ndarray) -> None



