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

.. py:module:: desdeo_emo.selection.SelectionBase


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

Classes
~~~~~~~

.. autoapisummary::

   desdeo_emo.selection.SelectionBase.SelectionBase
   desdeo_emo.selection.SelectionBase.InteractiveDecompositionSelectionBase




.. py:class:: SelectionBase

   Bases: :py:obj:`abc.ABC`

   The base class for the selection operator.


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

      Use the selection operator over the given fitness values. Return the indices
          individuals with the best fitness values according to the operator.

      :param fitness: Fitness of the individuals from which the next generation is to be selected.
      :type fitness: np.ndarray

      :returns: The list of selected individuals
      :rtype: List[int]



.. py:class:: InteractiveDecompositionSelectionBase(number_of_vectors: int, number_of_objectives: int, selection_type: str = None)

   Bases: :py:obj:`SelectionBase`

   The base class for the selection operators for interactive decomposition based MOEAs.


   .. py:method:: _calculate_fitness(pop: desdeo_emo.population.Population.Population) -> numpy.ndarray


   .. py:method:: set_interaction_type(interaction_type: str = None) -> Union[None, dict]


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


   .. py:method:: request_preferences(pop: desdeo_emo.population.Population.Population) -> Union[desdeo_tools.interaction.PreferredSolutionPreference, desdeo_tools.interaction.NonPreferredSolutionPreference, desdeo_tools.interaction.ReferencePointPreference, desdeo_tools.interaction.BoundPreference]


   .. py:method:: request_reference_point(pop: desdeo_emo.population.Population.Population) -> desdeo_tools.interaction.ReferencePointPreference


   .. py:method:: request_preferred_solutions(pop: desdeo_emo.population.Population.Population) -> desdeo_tools.interaction.PreferredSolutionPreference


   .. py:method:: request_non_preferred_solutions(pop: desdeo_emo.population.Population.Population) -> desdeo_tools.interaction.NonPreferredSolutionPreference


   .. py:method:: request_preferred_ranges(pop) -> desdeo_tools.interaction.BoundPreference


   .. py:method:: manage_preferences(pop: desdeo_emo.population.Population.Population, preference: Union[desdeo_tools.interaction.PreferredSolutionPreference, desdeo_tools.interaction.NonPreferredSolutionPreference, desdeo_tools.interaction.ReferencePointPreference, desdeo_tools.interaction.BoundPreference, None])


   .. py:method:: manage_reference_point(pop: desdeo_emo.population.Population.Population, preference: desdeo_tools.interaction.ReferencePointPreference)


   .. py:method:: manage_preferred_solutions(pop: desdeo_emo.population.Population.Population, preference: desdeo_tools.interaction.PreferredSolutionPreference)


   .. py:method:: manage_non_preferred_solutions(pop: desdeo_emo.population.Population.Population, preference: desdeo_tools.interaction.NonPreferredSolutionPreference)


   .. py:method:: manage_preferred_ranges(preference: desdeo_tools.interaction.BoundPreference)



