📄 genmod.h
字号:
//
//Please find details of the method from
//
// Q. Zhang, A. Zhou and Y. Jin, "RM-MEDA: A Regularity Model Based Multiobjective Estimation of Distribution Algorithm", IEEE Trans. Evolutionary Computation, Vol. 12, no. 1, pp41-63, 2008.
//
//The source codes are free for reserach work. If you have any problem with the source codes, please contact with
// Qingfu Zhang,
// Department of Computing and Electronic Systems,
// University of Essex,
// Colchester, CO4 3SQ, UK
// http://cswww.essex.ac.uk/staff/zhang
// Email: qzhang@essex.ac.uk
// Aimin Zhou
// Department of Computing and Electronic Systems,
// University of Essex,
// Colchester, CO4 3SQ, UK
// http://privatewww.essex.ac.uk/~azhou/
// Email: azhou@essex.ac.uk or amzhou@gmail.com
//Programmer:
// Aimin Zhou
//Last Update:
// Feb. 21, 2008
//
//GenMod.h : Model based generators for MOEA
//
#ifndef AZ_GENERATOR_MODEL_H
#define AZ_GENERATOR_MODEL_H
#include <vector>
#include "PopulationMO.h"
//!\brief az namespace, the top namespace
namespace az
{
//!\brief mea namespace, the multiobjective evolutionary algorithm namespace
namespace mea
{
//!\brief gen namespace, offspring generate strategies
namespace gen
{
//!\brief model based generator
namespace mod
{
//=========================================================================================
//!\brief the basic class for model-based generators
class ModelBase
{
protected:
double **pData, //!< pointer to data
mExtension; //!< Principal Curve(Surface) extension ratio
unsigned int mDataSize, //!< data number
mDataDim, //!< data dimension
mTrainSteps;//!< inner train steps
public:
//!\brief constructor
//!\return void
ModelBase();
//!\brief destructor
//!\return void
virtual ~ModelBase();
protected:
//!\brief clear data pool
//!\return void
void Clear();
//!\brief convert a real number to a nearest positive integer number
//!\param X real number
//!\return integer number
unsigned int ROUND(double X);
//!\brief pertubation around 1.5
//!\return pertubation number
double PERTUBATION();
};//class ModelBase
//=========================================================================================
//!\brief Local PCA based EDA generator
class ModelLocalPCAU:public ModelBase
{
protected:
unsigned int mLatentDim, //!< latent dimension
mMaxCluster;//!< maximum cluster number
public:
//!\brief constructor
//!\return void
ModelLocalPCAU();
//!\brief Generator
//!\param popnew offspring population
//!\param popref parent population
//!\return offspring population
CPopulationMO& Generate(CPopulationMO& popnew, CPopulationMO& popref);
//!\brief initialize the LPCA
//!\param latent latent dimension
//!\param cluster maximum cluster number
//!\param trainsteps Local PCA train steps
//!\param extension extension ratio
//!\return void
void Set(unsigned int latent, unsigned int cluster, unsigned int trainsteps, double extension);
}; //class ModelLocalPCA
} //namespace mod
} //namespace gen
} //namespace mea
} //namespace az
#endif //AZ_GENERATOR_MODEL_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -