desdeo_emo.selection.NSGAIII_select

Module Contents

Classes

NSGAIII_select

The NSGA-III selection operator. Code is heavily based on the version of nsga3 in

class desdeo_emo.selection.NSGAIII_select.NSGAIII_select(pop: desdeo_emo.population.Population.Population, n_survive: int = None, selection_type: str = None)[source]

Bases: desdeo_emo.selection.SelectionBase.SelectionBase

The NSGA-III selection operator. Code is heavily based on the version of nsga3 in

the pymoo package by msu-coinlab.

Parameters
  • pop (Population) – [description]

  • n_survive (int, optional) – [description], by default None

do(self, pop: desdeo_emo.population.Population.Population, vectors: desdeo_emo.utilities.ReferenceVectors.ReferenceVectors)List[int][source]

Select individuals for mating for NSGA-III.

Parameters
Returns

List of indices of the selected individuals

Return type

List[int]

get_extreme_points_c(self, F, ideal_point, extreme_points=None)[source]

Taken from pymoo

get_nadir_point(self, extreme_points, ideal_point, worst_point, worst_of_front, worst_of_population)[source]
niching(self, F, n_remaining, niche_count, niche_of_individuals, dist_to_niche)[source]
associate_to_niches(self, F, ref_dirs, ideal_point, nadir_point, utopian_epsilon=0.0)[source]
calc_niche_count(self, n_niches, niche_of_individuals)[source]
calc_perpendicular_distance(self, N, ref_dirs)[source]
_calculate_fitness(self, pop)numpy.ndarray[source]