资源简介
对应论文RM-MEDA: A regularity model based multiobjective estimation of distribution algorithm,张青富老师的源代码,很规范,值得学习。
代码片段和文件信息
// GenMod.cpp
#include
#include
#include
#include
#include
#include “LocalPCA.h“
#include “HCSampler.h“
#include “GenMod.h“
//#define SD_DIS
#if defined(WIN32)
#define wxFinite(n) _finite(n)
#elif defined(_LINUX)
#define wxFinite(n) finite(n)
#else
#define wxFinite(n) ((n)==(n))
#endif
namespace az
{
namespace mea
{
namespace gen
{
namespace mod
{
//constructor
Modelbase::Modelbase()
{
mDataSize = mDataDim = 0;
pData = 0;
mExtension = 0.2;
}
//destructor
Modelbase::~Modelbase()
{
Clear();
}
//clear data pool
void Modelbase::Clear()
{
unsigned int i;
if( pData != 0 )
{
for( i=0; i delete []pData;
pData = 0;
mDataSize = 0;
}
}
// convert a real number to a nearest positive integer number
unsigned int Modelbase::ROUND(double X)
{
if(X-(unsigned int)(X)<0.5 && (unsigned int)(X)>0 )
return (unsigned int)(X);
else
return (unsigned int)(X)+1;
}
// pertubation
double Modelbase::PERTUBATION()
{
double r;
do{ r = 1.5 + rnd::gaussian()*0.5; }while(r<0.8 || r>2.2);
return r;
}
//////////////////////////////////////////////
//Local PCA based EDA generator
//constructor
ModelLocalPCAU::ModelLocalPCAU()
{
mLatentDim = 0;
mMaxCluster = 0;
}
//initialize the LPCA
void ModelLocalPCAU::Set(unsigned int latent unsigned int cluster unsigned int trainsteps double extension)
{
mLatentDim = latent;
mMaxCluster = cluster;
mTrainSteps = trainsteps;
mExtension = extension;
}
//model-based generator
CPopulationMO& ModelLocalPCAU::Generate(CPopulationMO& popnew CPopulationMO& popref)
{
unsigned int cijk;
//Step 1: assign new data
if( popref.Size() != mDataSize )
{
Clear();
mDataSize = popref.Size();
mDataDim = popref.P().XSize();
pData = new double*[mDataSize];
for( i=0; i }
for( i=0; i
//Step 2: train with Local PCA
alg::LocalPCA lpca;
//alg::Kmeans lpca;
lpca.Set(mMaxCluster mDataSize mDataDim mLatentDim mTrainSteps);
for( i=0; i lpca.Train();
//Step 3: calculate the probability of each cluster i.e the size to create in each cluster
unsigned int nt = 0;
std::vector nc(mMaxCluster);
for(i=0; i= 1) ? 2:0; nt += nc[i];}
double vt = 0.0;
std::vector vc(mMaxCluster);
for(i=0; i {
vc[i] = 0.0;
if(lpca.mvNo[i] > 1)
{
vc[i] = 1.0;
for(j=0; j }
vt += vc[i];
}
double ns = mDataSize - nt + 0.0;
nt = 0;
for(i=0; i while(nt {
i = rnd::rand((unsigned int)0 (unsigned int)mMaxCluster);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-04-06 10:04 RM-MOEA\
文件 38433 2017-04-06 10:03 RM-MOEA\49282683RM-MEDA.rar
目录 0 2017-04-06 10:04 RM-MOEA\RM-MEDA\
文件 4548 2008-02-21 22:25 RM-MOEA\RM-MEDA\Alg.h
文件 5401 2008-02-21 22:27 RM-MOEA\RM-MEDA\GenMod.cpp
文件 3208 2008-02-21 22:25 RM-MOEA\RM-MEDA\GenMod.h
文件 765 2007-02-08 21:04 RM-MOEA\RM-MEDA\HCSampler.cpp
文件 1692 2008-02-21 22:22 RM-MOEA\RM-MEDA\HCSampler.h
文件 3638 2007-02-08 21:04 RM-MOEA\RM-MEDA\IndividualMO.cpp
文件 5150 2008-02-21 22:22 RM-MOEA\RM-MEDA\IndividualMO.h
文件 553 2008-02-21 22:21 RM-MOEA\RM-MEDA\Initialization.cpp
文件 1748 2008-02-21 22:21 RM-MOEA\RM-MEDA\Initialization.h
文件 3677 2007-02-08 21:04 RM-MOEA\RM-MEDA\LocalPCA.cpp
文件 1657 2008-02-21 22:19 RM-MOEA\RM-MEDA\LocalPCA.h
文件 15224 2007-02-08 21:04 RM-MOEA\RM-MEDA\Matrix.cpp
文件 9493 2008-02-21 22:18 RM-MOEA\RM-MEDA\Matrix.h
文件 11381 2008-02-21 22:17 RM-MOEA\RM-MEDA\MatrixAlg.cpp
文件 4233 2007-02-08 21:04 RM-MOEA\RM-MEDA\Model.cpp
文件 3482 2008-02-21 22:18 RM-MOEA\RM-MEDA\Model.h
文件 6281 2008-02-21 22:16 RM-MOEA\RM-MEDA\Parameter.h
文件 7545 2009-05-08 22:04 RM-MOEA\RM-MEDA\PopulationMO.cpp
文件 7058 2008-02-21 22:16 RM-MOEA\RM-MEDA\PopulationMO.h
文件 5142 2008-02-21 22:30 RM-MOEA\RM-MEDA\Problem.h
文件 3313 2007-02-08 21:04 RM-MOEA\RM-MEDA\Random.cpp
文件 2345 2008-02-21 22:15 RM-MOEA\RM-MEDA\Random.h
文件 4441 2008-02-21 22:14 RM-MOEA\RM-MEDA\Sel.cpp
文件 2478 2008-02-21 22:13 RM-MOEA\RM-MEDA\Sel.h
文件 5415 2008-02-21 23:16 RM-MOEA\RM-MEDA\main.cpp
- 上一篇:屏幕特效之径向模糊
- 下一篇:STM32驱动ht1621b显示LCD
相关资源
- 华南农业大学数据结构上机题目答案
- 汽车修理管理系统源码
- glut工具库
- UE4串口,蓝图可调用,4.24.3亲测可使
- graphics包包含graphics.lib.rar
- 华为机试题2020.zip
- 实验三:AES加密算法
- 鼠标自动点击程序
- CNFIX3.0.rar
- CMatrix
- Proteus8.9 仿真STM32407ZGT6系列基础模板
- GDI+柱状图
- 制作动画GIF的VC源代码,八叉树算法生
- 面向对象程序设计实验报告
- 进程状态转换包括创建、删除、调度
- 经典的背包问题九讲,必看
- 模拟退火算法解决TSP问题
- 操作系统设计一个按优先权调度算法
- 驱动执行应用层代码之KeuserModeCallba
- 虚拟磁盘MINIPORT驱动代码
- 最新的libssh2库源码
- 模拟IPINTERNET PROTOCOL数据分片和重组
- 火车车厢重排列问题 堆栈解决
- 山东大学数据结构课设箱子装箱问题
- som神经网络用于实现图像压缩
- 一种新的GEP 解码方法及其应用程序及
- 信息学奥赛一本通课后练习答案汇总
- 操作系统实验生产者与消费者实验报
- windows rpc基本使用Demo
- 基于QT实现2048小游戏
评论
共有 条评论