shark::CrowdingDistance Struct Reference

Implements the Crowding Distance of a pareto front. More...

#include <shark/Algorithms/DirectSearch/Operators/Indicators/CrowdingDistance.h>

Public Member Functions

template<typename ParetofrontType , typename ParetoArchive >
std::size_t leastContributor (ParetofrontType const &front, ParetoArchive const &archive) const
 Selects the point with the smallest crowding distance. More...
template<typename ParetoFrontType , typename ParetoArchive >
std::vector< std::size_t > leastContributors (ParetoFrontType const &front, ParetoArchive const &archive, std::size_t K) const
template<class random >
void init (std::size_t, std::size_t, random &)
template<typename Archive >
void serialize (Archive &, const unsigned int)

Detailed Description

Implements the Crowding Distance of a pareto front.

The Crowding distance is an estimate of the perimeter of the cuboid formed by using the nearest neighbors of a given point as the vertices. The point with the smallest crowding distance is removed from the set.

See the following reference for further details: Deb, Kalyanmoy, et al. "A fast and elitist multiobjective genetic algorithm: NSGA-II." IEEE transactions on evolutionary computation 6.2 (2002): 182-197.

Definition at line 47 of file CrowdingDistance.h.

Member Function Documentation

◆ init()

template<class random >
void shark::CrowdingDistance::init ( std::size_t  ,
std::size_t  ,
random &   

Definition at line 111 of file CrowdingDistance.h.

◆ leastContributor()

template<typename ParetofrontType , typename ParetoArchive >
std::size_t shark::CrowdingDistance::leastContributor ( ParetofrontType const &  front,
ParetoArchive const &  archive 
) const

Selects the point with the smallest crowding distance.

Crowding distance is computed wrt the union of the set front and the archive of points dominating the front

Definition at line 52 of file CrowdingDistance.h.

Referenced by leastContributors().

◆ leastContributors()

template<typename ParetoFrontType , typename ParetoArchive >
std::vector<std::size_t> shark::CrowdingDistance::leastContributors ( ParetoFrontType const &  front,
ParetoArchive const &  archive,
std::size_t  K 
) const

Definition at line 95 of file CrowdingDistance.h.

References leastContributor().

◆ serialize()

template<typename Archive >
void shark::CrowdingDistance::serialize ( Archive &  ,
const unsigned  int 

Definition at line 114 of file CrowdingDistance.h.

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