//个体的类声明: class individual { public: double value[Dimension];//每一维xi的值 int sp[2*popsize]; //支配i的集合 int np;//个体i支配的数量 int is_dominated;//集合sp的个数 int rank;//优先级,Pareto级别为当前最高级 double fitness;//个体适应度值 void init();//初始化个体 double fvalue[2];//ZDT1问题目标函数的值 void f_count();//计算fvalue的值 }; //群体的类声明: class population { public: population();//类初始化 individual P[popsize]; individual Q[popsize]; individual R[2*popsize]; void set_p_q(); //随机产生一个初始父代P,在此基础上采用二元锦标赛选择、 //交叉和变异操作产生子代Q。P和Q群体规模均为popsize //将Pt和Qt并入到Rt中(初始时t=0),对Rt进行快速非支配解排序, //构造其所有不同等级的非支配解集F1、F2........ int Rnum; int Pnum; int Qnum; //P,Q,R中元素的个数 void calc_fitness();//计算P ,Q群体的适应度 void Q_make_new_pop(); void f_sort(int i);//对拥挤距快速非支配排序法:重点!!! void maincal();//主要操作 int Q_choice(int a,int b); //两个个体属于不同等级的非支配解集,优先考虑等级序号较小的 //若两个个体属于同一等级的非支配解集,优先考虑拥挤距离较大的 void choose_best(); void archive_truncation_procedure(); int min_distance(); };
2022-05-10 09:34:58 95KB SPEA2
1
里面有个英文手册,我自己测试过,可以使用。 翻译手册里的步骤如下: 1.解压缩后,文件夹MOEA_SPEA2_MATLAB里面会有个source文件夹,再把source里的文件都拷贝到根目录。 2.将MOEA_SPEA2_MATLAB放在MATLAB的toolbox文件夹下,打开MATLAB,然后set path,之后将current directory定位到:D:\MATLAB7\toolbox\MOEA_SPEA2_MATLAB(这是我的存放地点) 3.首先运行build_spea2.m产生spea2.dll,这样就可以使用SPEA2算法啦 4.打开demo_moea.m,运行一下Demo看看,成功的话就说明可以放心使用这个算法了。 5.实验自己的用例:demo_funct.m里的函数更改成自己的就可以。
2022-03-03 19:34:44 84KB SPEA2
1
里面有个英文手册,我自己测试过,可以使用。 翻译手册里的步骤如下: 1.解压缩后,文件夹MOEA_SPEA2_MATLAB里面会有个source文件夹,再把source里的文件都拷贝到根目录。 2.将MOEA_SPEA2_MATLAB放在MATLAB的toolbox文件夹下,打开MATLAB,然后set path,之后将current directory定位到:D:\MATLAB7\toolbox\MOEA_SPEA2_MATLAB(这是我的存放地点) 3.首先运行build_spea2.m产生spea2.dll,这样就可以使用SPEA2算法啦 4.打开demo_moea.m,运行一下Demo看看,成功的话就说明可以放心使用这个算法了。 5.实验自己的用例:demo_funct.m里的函数更改成自己的就可以。
2021-10-29 16:13:25 84KB MATLAB程序
1
多目标优化系列SPEA2原代码(matlab)
2021-10-25 16:41:25 7KB 算法 matlab
1
里面有个英文手册,我自己测试过,可以使用。 翻译手册里的步骤如下: 1.解压缩后,文件夹MOEA_SPEA2_MATLAB里面会有个source文件夹,再把source里的文件都拷贝到根目录。 2.将MOEA_SPEA2_MATLAB放在MATLAB的toolbox文件夹下,打开MATLAB,然后set path,之后将current directory定位到:D:\MATLAB7\toolbox\MOEA_SPEA2_MATLAB(这是我的存放地点) 3.首先运行build_spea2.m产生spea2.dll,这样就可以使用SPEA2算法啦 4.打开demo_moea.m,运行一下Demo看看,成功的话就说明可以放心使用这个算法了。 5.实验自己的用例:demo_funct.m里的函数更改成自己的就可以。
2021-07-31 11:35:51 84KB MATLAB程序
1
称为MOJaya的多目标Jaya算法是一种基于SPEA2(提高强度帕累托进化算法)和 Jaya 算法。
2021-07-24 08:22:35 4KB matlab
1
优化算法SPEA2的MATLAB源程序,可直接在MATLAB中调用
2021-06-30 11:33:49 6KB MATLAB Optimization
1
多目标进化算法是一类借鉴了生物进化所遵循的自然进化过程的仿生算法,SPEA2则是其中的经典算法之一,在诸多领域得到了广泛的应用.作为一种全局算法
2021-06-30 11:33:10 7KB 多目标优化 matlab
1
里面有个英文手册,我自己测试过,可以使用。 翻译手册里的步骤如下: 1.解压缩后,文件夹MOEA_SPEA2_MATLAB里面会有个source文件夹,再把source里的文件都拷贝到根目录。 2.将MOEA_SPEA2_MATLAB放在MATLAB的toolbox文件夹下,打开MATLAB,然后set path,之后将current directory定位到:D:\MATLAB7\toolbox\MOEA_SPEA2_MATLAB(这是我的存放地点) 3.首先运行build_spea2.m产生spea2.dll,这样就可以使用SPEA2算法啦 4.打开demo_moea.m,运行一下Demo看看,成功的话就说明可以放心使用这个算法了。 5.实验自己的用例:demo_funct.m里的函数更改成自己的就可以。
2021-06-11 18:04:21 84KB MATLAB程序
1
里面有个英文手册,我自己测试过,可以使用。 翻译手册里的步骤如下: 1.解压缩后,文件夹MOEA_SPEA2_MATLAB里面会有个source文件夹,再把source里的文件都拷贝到根目录。 2.将MOEA_SPEA2_MATLAB放在MATLAB的toolbox文件夹下,打开MATLAB,然后set path,之后将current directory定位到:D:\MATLAB7\toolbox\MOEA_SPEA2_MATLAB(这是我的存放地点) 3.首先运行build_spea2.m产生spea2.dll,这样就可以使用SPEA2算法啦 4.打开demo_moea.m,运行一下Demo看看,成功的话就说明可以放心使用这个算法了。 5.实验自己的用例:demo_funct.m里的函数更改成自己的就可以。
2021-05-25 18:06:23 84KB SPEA2
1