moeoHypervolumeBinaryMetric< ObjectiveVector > Class Template Reference

Hypervolume binary metric allowing to compare two objective vectors as proposed in Zitzler E., Künzli S. More...

#include <moeoHypervolumeBinaryMetric.h>

Inheritance diagram for moeoHypervolumeBinaryMetric< ObjectiveVector >:

moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, double > moeoBinaryMetric< A1, A2, R > eoBF< A1, A2, R > moeoMetric eoFunctorBase eoFunctorBase List of all members.

Public Member Functions

 moeoHypervolumeBinaryMetric (double _rho=1.1)
 Ctor.
double operator() (const ObjectiveVector &_o1, const ObjectiveVector &_o2)
 Returns the volume of the space that is dominated by _o2 but not by _o1 with respect to a reference point computed using rho.

Private Member Functions

double hypervolume (const ObjectiveVector &_o1, const ObjectiveVector &_o2, const unsigned int _obj, const bool _flag=false)
 Returns the volume of the space that is dominated by _o2 but not by _o1 with respect to a reference point computed using rho for the objective _obj.

Private Attributes

double rho
 value used to compute the reference point from the worst values for each objective
moeoParetoObjectiveVectorComparator<
ObjectiveVector > 
paretoComparator
 Functor to compare two objective vectors according to Pareto dominance relation.

Detailed Description

template<class ObjectiveVector>
class moeoHypervolumeBinaryMetric< ObjectiveVector >

Hypervolume binary metric allowing to compare two objective vectors as proposed in Zitzler E., Künzli S.

: Indicator-Based Selection in Multiobjective Search. In Parallel Problem Solving from Nature (PPSN VIII). Lecture Notes in Computer Science 3242, Springer, Birmingham, UK pp.832–842 (2004). This indicator is based on the hypervolume concept introduced in Zitzler, E., Thiele, L.: Multiobjective Optimization Using Evolutionary Algorithms - A Comparative Case Study. Parallel Problem Solving from Nature (PPSN-V), pp.292-301 (1998).

Definition at line 29 of file moeoHypervolumeBinaryMetric.h.


Constructor & Destructor Documentation

template<class ObjectiveVector>
moeoHypervolumeBinaryMetric< ObjectiveVector >::moeoHypervolumeBinaryMetric ( double  _rho = 1.1  )  [inline]

Ctor.

Parameters:
_rho value used to compute the reference point from the worst values for each objective (default : 1.1)

Definition at line 37 of file moeoHypervolumeBinaryMetric.h.

References moeoHypervolumeBinaryMetric< ObjectiveVector >::rho.


Member Function Documentation

template<class ObjectiveVector>
double moeoHypervolumeBinaryMetric< ObjectiveVector >::operator() ( const ObjectiveVector &  _o1,
const ObjectiveVector &  _o2 
) [inline]

Returns the volume of the space that is dominated by _o2 but not by _o1 with respect to a reference point computed using rho.

Warning:
don't forget to set the bounds for every objective before the call of this function
Parameters:
_o1 the first objective vector
_o2 the second objective vector

Definition at line 63 of file moeoHypervolumeBinaryMetric.h.

References moeoHypervolumeBinaryMetric< ObjectiveVector >::hypervolume(), and moeoHypervolumeBinaryMetric< ObjectiveVector >::paretoComparator.

template<class ObjectiveVector>
double moeoHypervolumeBinaryMetric< ObjectiveVector >::hypervolume ( const ObjectiveVector &  _o1,
const ObjectiveVector &  _o2,
const unsigned int  _obj,
const bool  _flag = false 
) [inline, private]

Returns the volume of the space that is dominated by _o2 but not by _o1 with respect to a reference point computed using rho for the objective _obj.

Parameters:
_o1 the first objective vector
_o2 the second objective vector
_obj the objective index
_flag used for iteration, if _flag=true _o2 is not talen into account (default : false)

Definition at line 96 of file moeoHypervolumeBinaryMetric.h.

References moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double >::bounds, and moeoHypervolumeBinaryMetric< ObjectiveVector >::rho.

Referenced by moeoHypervolumeBinaryMetric< ObjectiveVector >::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