desdeo_emo.selection.IOPIS_APD
Module Contents
Classes
The selection operator for the IOPIS/RVEA algorithm. |
- class desdeo_emo.selection.IOPIS_APD.IOPIS_APD_Select(time_penalty_function: Callable, scalarization_methods: List, alpha: float = 2)[source]
Bases:
desdeo_emo.selection.SelectionBase.SelectionBase
The selection operator for the IOPIS/RVEA algorithm.
- Parameters:
pop (Population) – The population instance
time_penalty_function (Callable) – A function that returns the time component in the penalty function.
alpha (float, optional) – The RVEA alpha parameter, by default 2
- do(pop: desdeo_emo.population.Population.Population, vectors: desdeo_emo.utilities.ReferenceVectors.ReferenceVectors, reference_point: numpy.ndarray) List[int] [source]
Select individuals for mating on basis of Angle penalized distance.
- Parameters:
pop (Population) – The current population.
vectors (ReferenceVectors) – Class instance containing reference vectors.
- Returns:
List of indices of the selected individuals
- Return type:
List[int]
- _partial_penalty_factor() float [source]
- Calculate and return the partial penalty factor for APD calculation.
This calculation does not include the angle related terms, hence the name. If the calculated penalty is outside [0, 1], it will round it up/down to 0/1
- Returns:
The partial penalty value
- Return type:
float