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. | |
| 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. | |
| Public Attributes | |
| RealMatrix | m_initVecs | 
| The set of initial reference vectors. | |
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.
| 
 | inline | 
Apply adaptation operator and update the angles.
Definition at line 56 of file ReferenceVectorAdaptation.h.
References shark::ReferenceVectorAdaptation< IndividualType >::m_initVecs, shark::unpenalizedFitness(), and shark::ReferenceVectorAdaptation< IndividualType >::updateAngles().
| 
 | inline | 
Definition at line 103 of file ReferenceVectorAdaptation.h.
References shark::ReferenceVectorAdaptation< IndividualType >::m_initVecs.
| 
 | inlinestatic | 
Compute the minimum angles between unit vectors.
Definition at line 88 of file ReferenceVectorAdaptation.h.
Referenced by shark::ReferenceVectorAdaptation< IndividualType >::operator()().
| 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< IndividualType >::operator()(), and shark::ReferenceVectorAdaptation< IndividualType >::serialize().