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 z-direction and keeps track of of the current cut through the volume at a given z-value. 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.