PaGMO
1.1.5
|
HOY algorithm. More...
#include <hoy.h>
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... | |
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:
|
virtual |
Compute hypervolume.
[in] | points | vector of points containing the D-dimensional points for which we compute the hypervolume |
[in] | r_point | reference point for the points |
Implements pagmo::util::hv_algorithm::base.
|
virtual |
Verify before compute method.
Verifies whether given algorithm suits the requested data.
[in] | points | vector of points containing the D-dimensional points for which we compute the hypervolume |
[in] | r_point | reference point for the vector of points |
value_error | when trying to compute the hypervolume for the non-maximal reference point |
Implements pagmo::util::hv_algorithm::base.