shark::HypervolumeCalculatorMDWFG Struct Reference

Implementation of the exact hypervolume calculation in m dimensions. More...

#include <shark/Algorithms/DirectSearch/Operators/Hypervolume/HypervolumeCalculatorMDWFG.h>

Public Member Functions

template<typename Set , typename VectorType >
double operator() (Set const &points, VectorType const &refPoint) const
 Executes the algorithm. More...

Detailed Description

Implementation of the exact hypervolume calculation in m dimensions.

The algorithm is described in

L. While, L. Bradstreet and L. Barone, "A Fast Way of Calculating Exact Hypervolumes," in IEEE Transactions on Evolutionary Computation, vol. 16, no. 1, pp. 86-95, Feb. 2012.

WFG is extremely fast in practice, while theoretically it has O(2^N) complexity where N is the number of points.

We do not implement slicing as the paper showed that it does have only small impact while it increases the algorithm complexity dramatically.

Definition at line 52 of file HypervolumeCalculatorMDWFG.h.

Member Function Documentation

◆ operator()()

template<typename Set , typename VectorType >
double shark::HypervolumeCalculatorMDWFG::operator() ( Set const &  points,
VectorType const &  refPoint 
) const

Executes the algorithm.

[in]setThe 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]refPointThe 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 58 of file HypervolumeCalculatorMDWFG.h.

References SIZE_CHECK.

The documentation for this struct was generated from the following file: