moeoFastNonDominatedSortingFitnessAssignment< MOEOT > Class Template Reference

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

#include <moeoFastNonDominatedSortingFitnessAssignment.h>

Inheritance diagram for moeoFastNonDominatedSortingFitnessAssignment< MOEOT >:

moeoParetoBasedFitnessAssignment< MOEOT > moeoFitnessAssignment< MOEOT > eoUF< eoPop< MOEOT > &, void > eoFunctorBase List of all members.

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. More...

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


The documentation for this class was generated from the following file:
Generated on Mon Jul 2 16:05:02 2007 for ParadisEO-MOEO by  doxygen 1.4.7