Finds the hypervolume contribution for points in 3DD. More...
#include <shark/Algorithms/DirectSearch/Operators/Hypervolume/HypervolumeContribution3D.h>
Public Member Functions  
template<class Set , typename VectorType >  
std::vector< KeyValuePair< double, std::size_t > >  smallest (Set const &points, std::size_t k, VectorType const &ref) const 
Returns the index of the points with smallest contribution as well as their contribution. More...  
template<class Set >  
std::vector< KeyValuePair< double, std::size_t > >  smallest (Set const &points, std::size_t k) const 
Returns the index of the points with smallest contribution as well as their contribution. More...  
template<class Set , typename VectorType >  
std::vector< KeyValuePair< double, std::size_t > >  largest (Set const &points, std::size_t k, VectorType const &ref) const 
Returns the index of the points with largest contribution as well as their contribution. More...  
template<class Set >  
std::vector< KeyValuePair< double, std::size_t > >  largest (Set const &points, std::size_t k) const 
Returns the index of the points with largest contribution as well as their contribution. More...  
Finds the hypervolume contribution for points in 3DD.
The algorithm sweeps ascending through the zdirection and keeps track of of the current cut through the volume at a given zvalue. the cut is partitioned in boxes representing parts of the hypervolume that is not hared with any other point. thus the sum of the volume of all boxes belonging to a point is making up its hypervolume.
The algorithm runs in O(n log(n)) time.
Definition at line 50 of file HypervolumeContribution3D.h.

inline 
Returns the index of the points with largest contribution as well as their contribution.
[in]  points  The set \(S\) of points from which to select the largest contributor. 
[in]  referencePointThe  reference Point \(\vec{r} \in \mathbb{R}^2\) for the hypervolume calculation, needs to fulfill: \( \forall s \in S: s \preceq \vec{r}\). 
Definition at line 354 of file HypervolumeContribution3D.h.
Referenced by shark::HypervolumeContribution::largest().

inline 
Returns the index of the points with largest contribution as well as their contribution.
As no reference point is given, the extremum points can not be computed and are never selected.
[in]  points  The set \(S\) of points from which to select the largest contributor. 
[in]  k  The number of points to select. 
Definition at line 380 of file HypervolumeContribution3D.h.
References SHARK_RUNTIME_CHECK.

inline 
Returns the index of the points with smallest contribution as well as their contribution.
[in]  points  The set \(S\) of points from which to select the smallest contributor. 
[in]  k  The number of points to select. 
[in]  referencePointThe  reference Point \(\vec{r} \in \mathbb{R}^2\) for the hypervolume calculation, needs to fulfill: \( \forall s \in S: s \preceq \vec{r}\). 
Definition at line 280 of file HypervolumeContribution3D.h.
References SHARK_RUNTIME_CHECK.
Referenced by shark::HypervolumeContribution::smallest().

inline 
Returns the index of the points with smallest contribution as well as their contribution.
As no reference point is given, the extremum points can not be computed and are never selected.
[in]  points  The set \(S\) of points from which to select the smallest contributor. 
[in]  k  The number of points to select. 
Definition at line 305 of file HypervolumeContribution3D.h.
References SHARK_RUNTIME_CHECK.