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