shark::ReferenceVectorAdaptation< IndividualType > Struct Template Reference

Reference vector adaptation for the RVEA algorithm. More...

#include <shark/Algorithms/DirectSearch/Operators/ReferenceVectorAdaptation.h>

Public Member Functions

void operator() (std::vector< IndividualType > const &population, RealMatrix &referenceVectors, RealVector &minAngles)
 Apply adaptation operator and update the angles. More...
 
template<typename Archive >
void serialize (Archive &archive)
 

Static Public Member Functions

static void updateAngles (RealMatrix const &referenceVectors, RealVector &minAngles)
 Compute the minimum angles between unit vectors. More...
 

Public Attributes

RealMatrix m_initVecs
 The set of initial reference vectors. More...
 

Detailed Description

template<typename IndividualType>
struct shark::ReferenceVectorAdaptation< IndividualType >

Reference vector adaptation for the RVEA algorithm.

This operator is supposed to be applied regularly in the RVEA algorithm to adjust the set of reference vectors to better match a scaled pareto front. See below paper for details: R. Cheng, Y. Jin, M. Olhofer, and B. Sendhoff, “A reference vector guided evolutionary algorithm for many-objective optimization,” IEEE Transactions on Evolutionary Computation, Vol 20, Issue 5, October 2016 http://dx.doi.org/10.1109/TEVC.2016.2519378

Definition at line 51 of file ReferenceVectorAdaptation.h.

Member Function Documentation

◆ operator()()

template<typename IndividualType>
void shark::ReferenceVectorAdaptation< IndividualType >::operator() ( std::vector< IndividualType > const &  population,
RealMatrix &  referenceVectors,
RealVector &  minAngles 
)
inline

Apply adaptation operator and update the angles.

Definition at line 56 of file ReferenceVectorAdaptation.h.

◆ serialize()

template<typename IndividualType>
template<typename Archive >
void shark::ReferenceVectorAdaptation< IndividualType >::serialize ( Archive &  archive)
inline

Definition at line 103 of file ReferenceVectorAdaptation.h.

◆ updateAngles()

template<typename IndividualType>
static void shark::ReferenceVectorAdaptation< IndividualType >::updateAngles ( RealMatrix const &  referenceVectors,
RealVector &  minAngles 
)
inlinestatic

Compute the minimum angles between unit vectors.

Definition at line 88 of file ReferenceVectorAdaptation.h.

Member Data Documentation

◆ m_initVecs

template<typename IndividualType>
RealMatrix shark::ReferenceVectorAdaptation< IndividualType >::m_initVecs

The set of initial reference vectors.

This must be set before the operator is called the first time.

Definition at line 111 of file ReferenceVectorAdaptation.h.

Referenced by shark::ReferenceVectorAdaptation< shark::Individual >::serialize().


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