Implementation of the exact hypervolume calculation in m dimensions. More...
#include <shark/Algorithms/DirectSearch/Operators/Hypervolume/HypervolumeCalculatorMDHOY.h>
Public Member Functions | |
template<typename Set , typename VectorType > | |
double | operator() (Set const &points, VectorType const &refPoint) |
Executes the algorithm. More... | |
template<typename VectorType > | |
int | covers (VectorType const &cuboid, VectorType const ®ionLow) |
template<typename VectorType > | |
int | partCovers (VectorType const &cuboid, VectorType const ®ionUp) |
template<typename VectorType > | |
int | containsBoundary (VectorType const &cub, VectorType const ®Low, int split) |
template<typename VectorType > | |
double | getMeasure (const VectorType ®ionLow, const VectorType ®ionUp) |
template<typename VectorType > | |
int | isPile (const VectorType &cuboid, const VectorType ®ionLow, const VectorType ®ionUp) |
template<typename VectorType > | |
unsigned int | binaryToInt (const VectorType &v) |
template<typename VectorType > | |
void | intToBinary (unsigned int i, VectorType &result) |
template<typename VectorType > | |
double | computeTrellis (const VectorType ®Low, const VectorType ®Up, const VectorType &trellis) |
template<typename VectorType > | |
double | getMedian (const VectorType &bounds, int length) |
template<typename Set , typename VectorType > | |
double | stream (const VectorType ®ionLow, const VectorType ®ionUp, const Set &points, int split, double cover) |
Public Attributes | |
std::size_t | m_sqrtNoPoints |
Implementation of the exact hypervolume calculation in m dimensions.
The algorithm is described in
Nicola Beume und 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.
Definition at line 48 of file HypervolumeCalculatorMDHOY.h.
|
inline |
Definition at line 132 of file HypervolumeCalculatorMDHOY.h.
Referenced by computeTrellis().
|
inline |
Definition at line 159 of file HypervolumeCalculatorMDHOY.h.
References binaryToInt(), and intToBinary().
Referenced by stream().
|
inline |
Definition at line 94 of file HypervolumeCalculatorMDHOY.h.
Referenced by stream().
|
inline |
Definition at line 76 of file HypervolumeCalculatorMDHOY.h.
Referenced by stream().
|
inline |
Definition at line 108 of file HypervolumeCalculatorMDHOY.h.
Referenced by stream().
|
inline |
Definition at line 190 of file HypervolumeCalculatorMDHOY.h.
Referenced by stream().
|
inline |
Definition at line 143 of file HypervolumeCalculatorMDHOY.h.
Referenced by computeTrellis().
|
inline |
Definition at line 117 of file HypervolumeCalculatorMDHOY.h.
Referenced by stream().
|
inline |
Executes the algorithm.
[in] | set | The set \(S\) of points for which the following assumption needs to hold: \(\forall s \in S: \lnot \exists s' \in S: s' \preceq s \) |
[in] | refPoint | The reference point \(\vec{r} \in \mathbb{R}^n\) for the hypervolume calculation, needs to fulfill: \( \forall s \in S: s \preceq \vec{r}\). . |
Definition at line 54 of file HypervolumeCalculatorMDHOY.h.
References m_sqrtNoPoints, and SIZE_CHECK.
|
inline |
Definition at line 85 of file HypervolumeCalculatorMDHOY.h.
Referenced by stream().
|
inline |
Definition at line 205 of file HypervolumeCalculatorMDHOY.h.
References computeTrellis(), containsBoundary(), covers(), getMeasure(), getMedian(), isPile(), m_sqrtNoPoints, and partCovers().
std::size_t shark::HypervolumeCalculatorMDHOY::m_sqrtNoPoints |
Definition at line 340 of file HypervolumeCalculatorMDHOY.h.
Referenced by operator()(), and stream().