Calculates the hypervolume covered by a front of non-dominated points. More...
#include <shark/Algorithms/DirectSearch/Operators/Indicators/HypervolumeIndicator.h>
Public Member Functions | |
template<typename ParetoFrontType , typename ParetoArchive > | |
std::size_t | leastContributor (ParetoFrontType const &front, ParetoArchive const &) const |
Determines the point contributing the least hypervolume to the overall front of points. More... | |
template<typename ParetoFrontType , typename ParetoArchive > | |
std::vector< std::size_t > | leastContributors (ParetoFrontType const &front, ParetoArchive const &archive, std::size_t K) const |
template<class random > | |
void | init (std::size_t, std::size_t, random &) |
void | setReference (RealVector const &newReference) |
Sets the reference point. More... | |
void | useApproximation (bool useApproximation) |
Whether the approximtive algorithm should be used on large problems. More... | |
double | approximationEpsilon () const |
Error bound for the approximative algorithm. More... | |
double & | approximationEpsilon () |
Error bound for the approximative algorithm. More... | |
double | approximationDelta () const |
Error probability for the approximative algorithm. More... | |
double & | approximationDelta () |
Error probability for the approximative algorithm. More... | |
template<typename Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Calculates the hypervolume covered by a front of non-dominated points.
If given, the Indicator uses a provided reference value that can be set via setReference. Otherwise, it is computed from the data by using the maximum value in the set. As this usually gives 0 contribution to the extremum points (i.e. the ones with best function value), those points are skipped when computing the contribution (i.e. extremum points are never selected). Note, that for boundary points that are not extrema, this does not hold and they are selected.
for problems with many objectives, an approximative algorithm can be used.
Definition at line 54 of file HypervolumeIndicator.h.
|
inline |
Error probability for the approximative algorithm.
Definition at line 108 of file HypervolumeIndicator.h.
References shark::HypervolumeContribution::approximationDelta().
|
inline |
Error probability for the approximative algorithm.
Definition at line 113 of file HypervolumeIndicator.h.
References shark::HypervolumeContribution::approximationDelta().
|
inline |
Error bound for the approximative algorithm.
Definition at line 99 of file HypervolumeIndicator.h.
References shark::HypervolumeContribution::approximationEpsilon().
|
inline |
Error bound for the approximative algorithm.
Definition at line 103 of file HypervolumeIndicator.h.
References shark::HypervolumeContribution::approximationEpsilon().
|
inline |
Definition at line 84 of file HypervolumeIndicator.h.
|
inline |
Determines the point contributing the least hypervolume to the overall front of points.
[in] | front | pareto front of points |
Definition at line 59 of file HypervolumeIndicator.h.
References shark::HypervolumeContribution::smallest().
Referenced by leastContributors().
|
inline |
Definition at line 68 of file HypervolumeIndicator.h.
References leastContributor().
|
inline |
Definition at line 118 of file HypervolumeIndicator.h.
|
inline |
Sets the reference point.
If no point is set, it is estimated from the current front and the extremum points are never selected.
Definition at line 89 of file HypervolumeIndicator.h.
|
inline |
Whether the approximtive algorithm should be used on large problems.
Definition at line 94 of file HypervolumeIndicator.h.
References shark::HypervolumeContribution::useApproximation().