资源简介
对应论文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
相关资源
- VisualStudioUninstaller vs卸载工具
- 组态王驱动开发包3.0.0.7(中文)
- 多窗口后台鼠标连点器
- 使用选择性重传协议实现UDP可靠通信
- VC 获得文件属性 获取文件的创建时
- 读者写者问题(读者优先,写者优先
- 用VC 编写的仿QQ聊天室程序源代码
- 外点法程序
- 外罚函数程序
- qt-电子点菜系统
- 推箱子及人工智能寻路C 源代码
- 自己写的航空订票系统c 版--数据结构
- 数据结构实验魔王语言
- MUSIC算法c 实现
- C 餐厅叫号系统(QT平)
- 国际象棋c 完整版
-
ob
jectARX给Auto CAD加工具条 - 画图程序MFC/VC/VC CRectTracker 串行化
- MFC网络编程实例
- c 课程设计 职工信息管理系统
- VC 游戏编程—附源代码
- IpHlpApi.h&IpHlpApi.lib
- 清华大学 c 郑莉 ppt课件
- c 程序判断离散数学中命题公式
- 多项式求和(数据结构C 版)
- vc 6.0开发的流程图编辑器
- VC 天空盒(skyBox)实现(附源代码)
- c MFC 画多边形
- 用C 实现的对网络上的ARP数据包进行
- Microsoft基本类库 (MFC)(C 库)
评论
共有 条评论