moeoBinaryHypervolumeIndicator< EOFitness > Class Template Reference

Functor Binary hypervolume indicator for eoParetoFitness. More...

#include <moeoBinaryQualityIndicator.h>

Inheritance diagram for moeoBinaryHypervolumeIndicator< EOFitness >:

moeoBinaryQualityIndicator< EOFitness > eoBF< A1, A2, R > eoFunctorBase List of all members.

Public Member Functions

 moeoBinaryHypervolumeIndicator (double _rho)
 constructor
double operator() (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2)
 indicator value of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 (don't forget to set the bounds before the call of this function)

Private Types

typedef EOFitness::fitness_traits traits
 fitness traits

Private Member Functions

double hypervolumeIndicatorValue (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag=false)
 computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2
double hypervolumeIndicatorValueMin (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag)
 computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a minimization on the objective _iObj
double hypervolumeIndicatorValueMax (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag)
 computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a maximization on the objective _iObj

Private Attributes

double rho
 reference point for the hypervolume calculation

Detailed Description

template<class EOFitness>
class moeoBinaryHypervolumeIndicator< EOFitness >

Functor Binary hypervolume indicator for eoParetoFitness.

Definition at line 206 of file moeoBinaryQualityIndicator.h.


Constructor & Destructor Documentation

template<class EOFitness>
moeoBinaryHypervolumeIndicator< EOFitness >::moeoBinaryHypervolumeIndicator ( double  _rho  )  [inline]

constructor

Parameters:
double _rho reference point for the hypervolume calculation (rho must not be smaller than 1)

Definition at line 216 of file moeoBinaryQualityIndicator.h.

References moeoBinaryHypervolumeIndicator< EOFitness >::rho.


Member Function Documentation

template<class EOFitness>
double moeoBinaryHypervolumeIndicator< EOFitness >::operator() ( const EOFitness &  _fitness_eo1,
const EOFitness &  _fitness_eo2 
) [inline]

indicator value of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 (don't forget to set the bounds before the call of this function)

Parameters:
EOFitness & _fitness_eo1 the fitness of the first individual
EOFitness & _fitness_eo2 the fitness of the second individual

Definition at line 239 of file moeoBinaryQualityIndicator.h.

References moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue().

template<class EOFitness>
double moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue ( const EOFitness &  _fitness_eo1,
const EOFitness &  _fitness_eo2,
const unsigned  _iObj,
const bool  _flag = false 
) [inline, private]

computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2

Parameters:
EOFitness & _fitness_eo1 the fitness of the first individual
EOFitness & _fitness_eo2 the fitness of the second individual
unsigned _iObj number of objectives (used for iteration)
bool _flag = false (only used for iteration)

Definition at line 274 of file moeoBinaryQualityIndicator.h.

References moeoBinaryQualityIndicator< EOFitness >::bounds, moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMax(), and moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMin().

Referenced by moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMax(), moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMin(), and moeoBinaryHypervolumeIndicator< EOFitness >::operator()().

template<class EOFitness>
double moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMin ( const EOFitness &  _fitness_eo1,
const EOFitness &  _fitness_eo2,
const unsigned  _iObj,
const bool  _flag 
) [inline, private]

computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a minimization on the objective _iObj

Parameters:
EOFitness & _fitness_eo1 the fitness of the first individual
EOFitness & _fitness_eo2 the fitness of the second individual
unsigned _iObj index of the objective
bool _flag (only used for iteration)

Definition at line 309 of file moeoBinaryQualityIndicator.h.

References moeoBinaryQualityIndicator< EOFitness >::bounds, moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(), and moeoBinaryHypervolumeIndicator< EOFitness >::rho.

Referenced by moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue().

template<class EOFitness>
double moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMax ( const EOFitness &  _fitness_eo1,
const EOFitness &  _fitness_eo2,
const unsigned  _iObj,
const bool  _flag 
) [inline, private]

computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a maximization on the objective _iObj

Parameters:
EOFitness & _fitness_eo1 the fitness of the first individual
EOFitness & _fitness_eo2 the fitness of the second individual
unsigned _iObj index of the objective
bool _flag (only used for iteration)

Definition at line 363 of file moeoBinaryQualityIndicator.h.

References moeoBinaryQualityIndicator< EOFitness >::bounds, moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(), and moeoBinaryHypervolumeIndicator< EOFitness >::rho.

Referenced by moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue().


The documentation for this class was generated from the following file:
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  doxygen 1.5.1