moeoFastNonDominatedSortingFitnessAssignment(3)

NAME
moeoFastNonDominatedSortingFitnessAssignment - Fitness assignment sheme based on Pareto-dominance count proposed in: N.

SYNOPSIS

#include <moeoFastNonDominatedSortingFitnessAssignment.h>

Inherits moeoParetoBasedFitnessAssignment< MOEOT >< MOEOT >.

  Public Types
typedef MOEOT::ObjectiveVector ObjectiveVector
the objective vector type of the solutions

  Public Member Functions
moeoFastNonDominatedSortingFitnessAssignment ()
Default ctor.
moeoFastNonDominatedSortingFitnessAssignment (moeoObjectiveVectorComparator< ObjectiveVector > &_comparator)
Ctor where you can choose your own way to compare objective vectors.
void operator() (eoPop< MOEOT > &_pop)
Sets the fitness values for every solution contained in the population _pop.
void updateByDeleting (eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)
Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account.

  Private Member Functions
void oneObjective (eoPop< MOEOT > &_pop)
Sets the fitness values for mono-objective problems.
void twoObjectives (eoPop< MOEOT > &_pop)
Sets the fitness values for bi-objective problems with a complexity of O(n log n), where n stands for the population size.
void mObjectives (eoPop< MOEOT > &_pop)
Sets the fitness values for problems with more than two objectives with a complexity of O(n² log n), where n stands for the population size.

  Private Attributes
moeoObjectiveVectorComparator< ObjectiveVector > & comparator
Functor to compare two objective vectors.
moeoParetoObjectiveVectorComparator< ObjectiveVector > paretoComparator
Functor to compare two objective vectors according to Pareto dominance relation.
moeoFastNonDominatedSortingFitnessAssignment::ObjectiveComparator objComparator
Functor allowing to compare two solutions according to their first objective value, then their second, and so on.

  Classes
class ObjectiveComparator
Functor allowing to compare two solutions according to their first objective value, then their second, and so on.

Detailed Description

  template<class MOEOT> class moeoFastNonDominatedSortingFitnessAssignment< MOEOT >
Fitness assignment sheme based on Pareto-dominance count proposed in: N. Srinivas, K. Deb, 'Multiobjective Optimization Using Nondominated Sorting in Genetic Algorithms', Evolutionary Computation vol. 2, no. 3, pp. 221-248 (1994) and in: K. Deb, A. Pratap, S. Agarwal, T. Meyarivan, 'A Fast and Elitist Multi-Objective Genetic Algorithm: NSGA-II', IEEE Transactions on Evolutionary Computation, vol. 6, no. 2 (2002). This strategy is, for instance, used in NSGA and NSGA-II.

Definition at line 32 of file moeoFastNonDominatedSortingFitnessAssignment.h.

Constructor & Destructor Documentation

  template<class MOEOT> moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::moeoFastNonDominatedSortingFitnessAssignment (moeoObjectiveVectorComparator< ObjectiveVector > & _comparator) [inline]

Ctor where you can choose your own way to compare objective vectors.

Parameters:
    _comparator the functor used to compare objective vectors

Definition at line 51 of file moeoFastNonDominatedSortingFitnessAssignment.h.

Member Function Documentation

  template<class MOEOT> void moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::operator() (eoPop< MOEOT > & _pop) [inline, virtual]

Sets the fitness values for every solution contained in the population _pop.

Parameters:
    _pop the population

Implements eoUF< eoPop< MOEOT > &, void >.

Definition at line 59 of file moeoFastNonDominatedSortingFitnessAssignment.h.

References moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::mObjectives(), and moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::oneObjective().

  template<class MOEOT> void moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::updateByDeleting (eoPop< MOEOT > & _pop, ObjectiveVector & _objVec) [inline, virtual]

Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account.

Parameters:
    _pop the population
    _objVec the objective vector

Implements moeoFitnessAssignment< MOEOT >.

Definition at line 101 of file moeoFastNonDominatedSortingFitnessAssignment.h.

References moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::comparator.

  template<class MOEOT> void moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::oneObjective (eoPop< MOEOT > & _pop) [inline, private]

Sets the fitness values for mono-objective problems.

Parameters:
    _pop the population

Definition at line 143 of file moeoFastNonDominatedSortingFitnessAssignment.h.

References moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::objComparator.

Referenced by moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::operator()().

  template<class MOEOT> void moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::twoObjectives (eoPop< MOEOT > & _pop) [inline, private]

Sets the fitness values for bi-objective problems with a complexity of O(n log n), where n stands for the population size.

Parameters:
    _pop the population

Definition at line 165 of file moeoFastNonDominatedSortingFitnessAssignment.h.

  template<class MOEOT> void moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::mObjectives (eoPop< MOEOT > & _pop) [inline, private]

Sets the fitness values for problems with more than two objectives with a complexity of O(n² log n), where n stands for the population size.

Parameters:
    _pop the population

Definition at line 175 of file moeoFastNonDominatedSortingFitnessAssignment.h.

References moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::comparator.

Referenced by moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::operator()().

Author

Generated automatically by Doxygen for ParadisEO-MOEO from the source code.