PaGMO
1.1.5
|
Bringmann-Friedrich approximation method. More...
#include <bf_fpras.h>
Public Member Functions | |
bf_fpras (const double eps=1e-2, const double delta=1e-2) | |
Constructor. More... | |
double | compute (std::vector< fitness_vector > &, const fitness_vector &) const |
Compute method. More... | |
double | exclusive (const unsigned int, std::vector< fitness_vector > &, const fitness_vector &) const |
Exclusive method. More... | |
unsigned int | least_contributor (std::vector< fitness_vector > &, const fitness_vector &) const |
Least contributor method. More... | |
unsigned int | greatest_contributor (std::vector< fitness_vector > &, const fitness_vector &) const |
Greatest contributor method. More... | |
std::vector< double > | contributions (std::vector< fitness_vector > &, const fitness_vector &) const |
Contributions method. More... | |
void | verify_before_compute (const std::vector< fitness_vector > &, const fitness_vector &) const |
Verify before compute. 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 | ~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... | |
Bringmann-Friedrich approximation method.
This class contains the implementation of the Bringmann-Friedrich approximation scheme (FPRAS), reduced to a special case of approximating the hypervolume indicator.
Definition at line 48 of file bf_fpras.h.
pagmo::util::hv_algorithm::bf_fpras::bf_fpras | ( | const double | eps = 1e-2 , |
const double | delta = 1e-2 |
||
) |
Constructor.
Constructs an instance of the algorithm
[in] | eps | accuracy of the approximation |
[in] | delta | confidence of the approximation |
Definition at line 38 of file bf_fpras.cpp.
|
virtual |
Compute method.
Compute the hypervolume using FPRAS.
[in] | points | vector of fitness_vectors for which the hypervolume is computed |
[in] | r_point | distinguished "reference point". |
Implements pagmo::util::hv_algorithm::base.
Definition at line 65 of file bf_fpras.cpp.
|
virtual |
Contributions method.
As of yet, this algorithm does not support this method, even in its naive form, due to a poor handling of the dominated points.
Reimplemented from pagmo::util::hv_algorithm::base.
Definition at line 157 of file bf_fpras.cpp.
|
virtual |
Exclusive method.
This algorithm does not support this method.
Reimplemented from pagmo::util::hv_algorithm::base.
Definition at line 123 of file bf_fpras.cpp.
|
virtual |
Greatest contributor method.
This algorithm does not support this method.
Reimplemented from pagmo::util::hv_algorithm::base.
Definition at line 146 of file bf_fpras.cpp.
|
virtual |
Least contributor method.
This algorithm does not support this method.
Reimplemented from pagmo::util::hv_algorithm::base.
Definition at line 135 of file bf_fpras.cpp.
|
virtual |
Verify before compute.
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.
Definition at line 49 of file bf_fpras.cpp.