shark::HypervolumeContribution2D Struct Reference

Finds the smallest/largest Contributors given 2D points. More...

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

## Public Member Functions

template<typename Set , typename VectorType >
std::vector< KeyValuePair< double, std::size_t > > smallest (Set const &points, std::size_t k, VectorType const &referencePoint) const
Returns the index of the points with smallest contribution. More...

template<typename 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. More...

template<typename Set , typename VectorType >
std::vector< KeyValuePair< double, std::size_t > > largest (Set const &points, std::size_t k, VectorType const &referencePoint) const
Returns the index of the points with largest contribution. More...

template<typename 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. More...

## Detailed Description

Finds the smallest/largest Contributors given 2D points.

The algorithm sorts the points by their first coordinate and then calculates the volume of the hypervolume dominated by each Pointseparately returning the index of the elements with the minimum/maximum contribution.

Definition at line 42 of file HypervolumeContribution2D.h.

## ◆ largest() [1/2]

template<typename Set , typename VectorType >
 std::vector > shark::HypervolumeContribution2D::largest ( Set const & points, std::size_t k, VectorType const & referencePoint ) const
inline

Returns the index of the points with largest contribution.

Parameters
 [in] points The set $$S$$ of points from which to select the smallest 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 138 of file HypervolumeContribution2D.h.

References SHARK_RUNTIME_CHECK.

Referenced by shark::HypervolumeContribution::largest().

## ◆ largest() [2/2]

template<typename Set >
 std::vector > shark::HypervolumeContribution2D::largest ( Set const & points, std::size_t k ) const
inline

Returns the index of the points with largest contribution.

As no reference point is given, the edge points can not be computed and are not selected.

Parameters
 [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 157 of file HypervolumeContribution2D.h.

References SHARK_RUNTIME_CHECK.

## ◆ smallest() [1/2]

template<typename Set , typename VectorType >
 std::vector > shark::HypervolumeContribution2D::smallest ( Set const & points, std::size_t k, VectorType const & referencePoint ) const
inline

Returns the index of the points with smallest contribution.

Parameters
 [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 104 of file HypervolumeContribution2D.h.

References SHARK_RUNTIME_CHECK.

Referenced by shark::HypervolumeContribution::smallest().

## ◆ smallest() [2/2]

template<typename Set >
 std::vector > shark::HypervolumeContribution2D::smallest ( Set const & points, std::size_t k ) const
inline

Returns the index of the points with smallest contribution.

As no reference point is given, the edge points can not be computed and are not selected.

Parameters
 [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 123 of file HypervolumeContribution2D.h.

References SHARK_RUNTIME_CHECK.

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