shark::ParetoDominanceComparator< Extractor > Struct Template Reference

Implementation of the Pareto-Dominance relation under the assumption of all objectives to be minimized. More...

#include <shark/Algorithms/DirectSearch/ParetoDominanceComparator.h>

Public Types

enum  DominanceRelation {
  A_STRICTLY_DOMINATES_B = 3, A_WEAKLY_DOMINATES_B = 2, A_EQUALS_B = 1, TRADE_OFF = -1,
  B_WEAKLY_DOMINATES_A = -2, B_STRICTLY_DOMINATES_A = -3
}
 

Public Member Functions

template<typename IndividualType >
int operator() (const IndividualType &A, const IndividualType &B)
 Compares two individuals with respect to the Pareto-Dominance relation. More...
 

Detailed Description

template<typename Extractor>
struct shark::ParetoDominanceComparator< Extractor >

Implementation of the Pareto-Dominance relation under the assumption of all objectives to be minimized.

Template Parameters
Extractorreturning the fitness vector of an object

Definition at line 49 of file ParetoDominanceComparator.h.

Member Enumeration Documentation

§ DominanceRelation

template<typename Extractor>
enum shark::ParetoDominanceComparator::DominanceRelation
Enumerator
A_STRICTLY_DOMINATES_B 

A strictly dominates B.

A_WEAKLY_DOMINATES_B 

A weakly dominates B.

A_EQUALS_B 

A equals B for every coordinate.

TRADE_OFF 

Both A and B are a valid trade-off.

B_WEAKLY_DOMINATES_A 

B weakly dominates B.

B_STRICTLY_DOMINATES_A 

B strictly dominates A.

Definition at line 51 of file ParetoDominanceComparator.h.

Member Function Documentation

§ operator()()

template<typename Extractor>
template<typename IndividualType >
int shark::ParetoDominanceComparator< Extractor >::operator() ( const IndividualType A,
const IndividualType B 
)
inline

Compares two individuals with respect to the Pareto-Dominance relation.

Template Parameters
IndividualTypeThe type of the individuals, needs to be a model of TypedIndividual.
Parameters
[in]AIndividual A.
[in]BIndividual B.
Returns
An integer with values according to the constanst defined within this class.

Definition at line 69 of file ParetoDominanceComparator.h.

References shark::ParetoDominanceComparator< Extractor >::A_EQUALS_B, shark::ParetoDominanceComparator< Extractor >::A_STRICTLY_DOMINATES_B, shark::ParetoDominanceComparator< Extractor >::A_WEAKLY_DOMINATES_B, shark::ParetoDominanceComparator< Extractor >::B_STRICTLY_DOMINATES_A, shark::ParetoDominanceComparator< Extractor >::B_WEAKLY_DOMINATES_A, shark::size(), SIZE_CHECK, and shark::ParetoDominanceComparator< Extractor >::TRADE_OFF.


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