文件名称:MOEA/D代码 自己实现 C++版
文件大小:756KB
文件格式:ZIP
更新时间:2022-01-29 07:07:13
MOEAD
ZDT1、ZDT2、DTLZ1测试函数也写好了,附有实验效果图,希望对大家学习有帮助!! void generateLamda(int M)//产生N 个权重向量 weight vector //lamdaM 为 N*M矩阵(N个lamda,每个lamda有m维) { //动态生成二维数组 lamdaMat=new double *[N+3];//注意,int*[10]表示一个有10个元素的指针数组 for(int i=1; i<=N+1; i++) { lamdaMat[i]=new double[M+1]; } belta=new double *[N+3];//注意,int*[10]表示一个有10个元素的指针数组 for(int x=1; x<=N+1; x++) { belta[x]=new double[M+1]; } // 2目标 if(M==2) { double *array1=new double[N+3]; for(int i=0; i<=N+1; i++) array1[i]=i*1.0/N; for(int i=1; i<=N+1; i++)//////////////////////////////// { lamdaMat[i][1]=array1[i-1]; lamdaMat[i][2]=1-array1[i-1];//保证M个分量之和为1 } ////////////////////////////////////////////////////////////
【文件预览】:
moead - 3
----bin()
--------Debug()
----ZDT1-WS.png(54KB)
----DTLZ1-TF.png(82KB)
----obj()
--------Debug()
----moead.depend(184B)
----ZDT1.png(50KB)
----ZDT1-TC.png(55KB)
----DTLZ1-PBI.png(91KB)
----main.cpp(19KB)
----moead.cbp(1KB)
----moead.layout(362B)
----10.5end.txt(19KB)
----moead.m(2KB)