PaGMO  1.1.5
Public Member Functions | Friends
pagmo::util::hv_algorithm::hoy Class Reference

HOY algorithm. More...

#include <hoy.h>

Inheritance diagram for pagmo::util::hv_algorithm::hoy:
Inheritance graph
[legend]

Public Member Functions

 hoy ()
 Constructor.
 
double compute (std::vector< fitness_vector > &, const fitness_vector &) const
 Compute hypervolume. More...
 
void verify_before_compute (const std::vector< fitness_vector > &, const fitness_vector &) const
 Verify before compute method. More...
 
base_ptr clone () const
 Clone method.
 
std::string get_name () const
 Algorithm name.
 
- Public Member Functions inherited from pagmo::util::hv_algorithm::base
virtual double exclusive (const unsigned int, std::vector< fitness_vector > &, const fitness_vector &) const
 Exclusive hypervolume method. More...
 
virtual unsigned int least_contributor (std::vector< fitness_vector > &, const fitness_vector &) const
 Least contributor method. More...
 
virtual unsigned int greatest_contributor (std::vector< fitness_vector > &, const fitness_vector &) const
 Greatest contributor method. More...
 
virtual std::vector< double > contributions (std::vector< fitness_vector > &, const fitness_vector &) const
 Contributions method. More...
 
virtual ~base ()
 Destructor required for pure virtual methods.
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Static Public Member Functions inherited from pagmo::util::hv_algorithm::base
static double volume_between (const fitness_vector &, const fitness_vector &, unsigned int=0)
 Compute volume between two points. More...
 
- Protected Types inherited from pagmo::util::hv_algorithm::base
enum  { DOM_CMP_B_DOMINATES_A = 1, DOM_CMP_A_DOMINATES_B = 2, DOM_CMP_A_B_EQUAL = 3, DOM_CMP_INCOMPARABLE = 4 }
 
- Protected Member Functions inherited from pagmo::util::hv_algorithm::base
void assert_minimisation (const std::vector< fitness_vector > &, const fitness_vector &) const
 Assert that reference point dominates every other point from the set. More...
 
virtual unsigned int extreme_contributor (std::vector< fitness_vector > &, const fitness_vector &, bool(*)(double, double)) const
 compute the extreme contributor More...
 
- Static Protected Member Functions inherited from pagmo::util::hv_algorithm::base
static bool cmp_least (const double, const double)
 Comparison method for the least contributor. More...
 
static bool cmp_greatest (const double, const double)
 Comparison method for the least contributor. More...
 
static double volume_between (double *, double *, unsigned int)
 Compute volume between two points. More...
 
static int dom_cmp (double *, double *, unsigned int)
 Dominance comparison method. More...
 
static int dom_cmp (const fitness_vector &, const fitness_vector &, unsigned int=0)
 Dominance comparison method. More...
 

Detailed Description

HOY algorithm.

This class contains the implementation of the HOY (Hypervolume by Overmars and Yapp) algorithm for the computation of the hypervolume indicator. It is a refactoring of the original code, with minor improvements and optimizations. Original source code of HOY by Nicola Beume can be found here: http://ls11-www.cs.tu-dortmund.de/people/beume/publications/hoy.cpp

I propose some improvements and modify the code to reuse the available methods where possible:

See also
Nicola Beume and Guenter Rudolph, "Faster S-Metric Calculation by Considering Dominated Hypervolume as Klee's Measure Problem.", In: B. Kovalerchuk (ed.): Proceedings of the Second IASTED Conference on Computational Intelligence (CI 2006), pp. 231-236. ACTA Press: Anaheim, 2006.
Author
(original implementation) Nicola Beume
(refactoring and optimization) Krzysztof Nowak (kn@ki.nosp@m.ryx..nosp@m.net)

Definition at line 57 of file hoy.h.

Member Function Documentation

double pagmo::util::hv_algorithm::hoy::compute ( std::vector< fitness_vector > &  points,
const fitness_vector r_point 
) const
virtual

Compute hypervolume.

Parameters
[in]pointsvector of points containing the D-dimensional points for which we compute the hypervolume
[in]r_pointreference point for the points
Returns
hypervolume.

Implements pagmo::util::hv_algorithm::base.

Definition at line 46 of file hoy.cpp.

void pagmo::util::hv_algorithm::hoy::verify_before_compute ( const std::vector< fitness_vector > &  points,
const fitness_vector r_point 
) const
virtual

Verify before compute method.

Verifies whether given algorithm suits the requested data.

Parameters
[in]pointsvector of points containing the D-dimensional points for which we compute the hypervolume
[in]r_pointreference point for the vector of points
Exceptions
value_errorwhen trying to compute the hypervolume for the non-maximal reference point

Implements pagmo::util::hv_algorithm::base.

Definition at line 363 of file hoy.cpp.


The documentation for this class was generated from the following files: