libcmaes 0.10.2
A C++11 library for stochastic optimization with CMA-ES
Loading...
Searching...
No Matches
libcmaes::GenoPheno< TBoundStrategy, TScalingStrategy > Class Template Reference

Public Member Functions

 GenoPheno (TransFunc &genof, TransFunc &phenof)
 
 GenoPheno (const double *lbounds, const double *ubounds, const int &dim)
 
 GenoPheno (TransFunc &genof, TransFunc &phenof, const double *lbounds, const double *ubounds, const int &dim)
 
 GenoPheno (const dVec &scaling, const dVec &shift, const double *lbounds=nullptr, const double *ubounds=nullptr)
 this is a dummy constructor to accomodate an easy to use linear scaling with pwq bounds from a given scaling vector. Outside the library, the proper way to re-specialize for other custom scaling classes would be to inherit GenoPheno and specialize constructors within the new class.
 
dMat pheno (const dMat &candidates) const
 
dMat geno (const dMat &candidates) const
 
dVec pheno (const dVec &candidate) const
 
dVec geno (const dVec &candidate) const
 
TBoundStrategy get_boundstrategy () const
 
TBoundStrategyget_boundstrategy_ref ()
 
TScalingStrategy get_scalingstrategy () const
 
void remove_dimensions (const std::vector< int > &k)
 
dMat pheno (const dMat &candidates) const
 
dVec pheno (const dVec &candidate) const
 
dVec geno (const dVec &candidate) const
 
dVec pheno (const dVec &candidate) const
 
dVec geno (const dVec &candidate) const
 
dMat pheno (const dMat &candidates) const
 
 GenoPheno (const dVec &scaling, const dVec &shift, const double *lbounds, const double *ubounds)
 
 GenoPheno (const dVec &scaling, const dVec &shift, const double *lbounds, const double *ubounds)
 

Private Member Functions

dMat pheno_candidates (const dMat &candidates) const
 
dMat geno_candidates (const dMat &candidates) const
 

Private Attributes

TBoundStrategy _boundstrategy
 
TransFunc _genof
 
TransFunc _phenof
 
bool _id = false
 
TScalingStrategy _scalingstrategy
 

Friends

class CMASolutions
 

Constructor & Destructor Documentation

◆ GenoPheno()

template<class TBoundStrategy = NoBoundStrategy, class TScalingStrategy = NoScalingStrategy>
libcmaes::GenoPheno< TBoundStrategy, TScalingStrategy >::GenoPheno ( const dVec &  scaling,
const dVec &  shift,
const double lbounds = nullptr,
const double ubounds = nullptr 
)
inline

this is a dummy constructor to accomodate an easy to use linear scaling with pwq bounds from a given scaling vector. Outside the library, the proper way to re-specialize for other custom scaling classes would be to inherit GenoPheno and specialize constructors within the new class.

Parameters
scalingvector for linear scaling of input parameters.

Member Data Documentation

◆ _id

template<class TBoundStrategy = NoBoundStrategy, class TScalingStrategy = NoScalingStrategy>
bool libcmaes::GenoPheno< TBoundStrategy, TScalingStrategy >::_id = false
private

geno/pheno transform is identity.


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