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

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

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: