desdeo_emo.selection.APD_Select

Module Contents

Classes

APD_Select

The selection operator for the RVEA algorithm. Read the following paper for more

class desdeo_emo.selection.APD_Select.APD_Select(pop: desdeo_emo.population.Population.Population, time_penalty_function: Callable, alpha: float = 2)[source]

Bases: desdeo_emo.selection.SelectionBase.SelectionBase

The selection operator for the RVEA algorithm. Read the following paper for more

details. R. Cheng, Y. Jin, M. Olhofer and B. Sendhoff, A Reference Vector Guided Evolutionary Algorithm for Many-objective Optimization, IEEE Transactions on Evolutionary Computation, 2016

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