desdeo_emo.selection.IOPIS_APD

Module Contents

Classes

IOPIS_APD_Select

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:
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