资源简介
此代码包含MFEA和MFEAII的matlab实现,只需要将所有文件夹加入路径,然后运行main即可。
代码片段和文件信息
% 本程序主要实现了进化多任务优化2、优化函数为最小化函数、最大化函数需要转化为最小化函数
% 有任何问题可以联系我的邮箱: wangchao(Email: xiaofengxd@126.com)
clcclear
%% 参数设置
global N gen
N = 30; % 种群大小(设置为偶数)
rmp = 0.3; % 随机交配池概率
pi_l = 1; % 个体学习的概率(BFGA quasi-Newton Algorithm),trap-5onemaxLeadingOnes_TrailingOnes不可以使用预搜索
Pc = 1; % 模拟二进制交叉概率
Pm = 1; % 多项式变异概率
mu = 15; % 模拟二进制交叉参数(可调)
muu = 15; % 多项式交叉参数
probswap = 0.5; %变量交换概率
sigma = 0.02; % 高斯变异模型的标准差(可调)
gen = 500; % 迭代次数
selection_process = ‘elitist‘; % 可供选择:elitist、roulette wheel、Tournament
name = ‘RastriginAckley‘; % 测试任务选择有:RastriginAckley、SphereWeierstrass、RastriginAckleySphere、RastriginRastrigin、AckleyAckley,trap-5onemaxLeadingOnes_TrailingOnes请在类TASK中修改增加任务,后两个任务需要将Calobj.m文件的15-18注释,使用19~21行
options = optimoptions(@fminunc‘Display‘‘off‘‘Algorithm‘‘quasi-newton‘‘MaxIter‘5); %调用matlab函数优化器(拟牛顿法)->设置预学习优化器
times = 1; %算法运行次数
%% 初始化任务
Task = TASK();
Task = initTASK(Taskname);
%% 多次实验
EvBestFitness = zeros(gen+1Task.M);%由于还保存了初始化结果,第0代,因此+1
rmpval = zeros(gen+1Task.M*Task.M); %每代的rmp
for i =1:times
% data_MFEA(i) = MFEA(rmppi_lPcPmmumuusigmaselection_processoptionsTaskprobswap);%调用MFEA算法
% save([‘Data\‘name‘_data.mat‘]‘data_MFEA‘);%记录多次实验结果
% EvBestFitness = EvBestFitness + data_MFEA(i).EvBestFitness;
data_MFEA2(i) = MFEA2(pi_lPcPmmumuusigmaselection_processoptionsTaskprobswap);%调用MFEA算法
save([‘Data\‘name‘_data.mat‘]‘data_MFEA2‘);%记录多次实验结果
EvBestFitness = EvBestFitness + data_MFEA2(i).EvBestFitness;
rmpval = rmpval + data_MFEA2(i).rmpval ;
end
EvBestFitness = EvBestFitness./times;%计算每代适应度的均值
rmpval = rmpval./times;
%% 画图
for i=1:Task.M
figure(i)
hold on
plot(EvBestFitness(:i));
xlabel(‘GENERATIONS‘);
ylabel([‘TASK ‘ num2str(i) ‘ objectIVE‘]);
saveas(gcf[‘Data\figure_‘name‘_Task‘num2str(i)‘.jpg‘]);
end
%% 画RMP
for j=1:Task.M*Task.M
figure(i+j)
hold on
plot(rmpval(:j));
xlabel(‘GENERATIONS‘);
if(mod(jTask.M) == 0)
ylabel([‘rmp‘‘_‘ num2str(Task.M)‘_‘num2str(j/Task.M)]);
saveas(gcf[‘Data\figure_‘name‘rmp ‘‘_‘ num2str(Task.M)‘_‘num2str(j/Task.M)‘.jpg‘]);
else
ylabel([‘rmp‘‘_‘ num2str(mod(jTask.M))‘_‘num2str((j-mod(jTask.M))/Task.M+1)]);
saveas(gcf[‘Data\figure_‘name‘rmp ‘‘_‘ num2str(mod(jTask.M))‘_‘num2str((j-mod(jTask.M))/Task.M+1)‘.jpg‘]);
end
end
%% 记录多次平均实验结果
data.EvBestFitness=EvBestFitness;
% data.RT = Score;
save([‘Data\‘name‘_datasum.mat‘]‘data‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2383 2019-09-04 13:29 MFEA2 by xiaofengboke\algorithm\MFEA\MFEA.m
文件 2880 2019-09-03 09:24 MFEA2 by xiaofengboke\algorithm\MFEA2\learnRMP.m
文件 2554 2019-09-04 13:27 MFEA2 by xiaofengboke\algorithm\MFEA2\MFEA2.m
文件 3260 2019-10-25 20:18 MFEA2 by xiaofengboke\main.m
文件 1436 2019-09-03 11:14 MFEA2 by xiaofengboke\operators\Calfactor.m
文件 1765 2019-09-04 13:32 MFEA2 by xiaofengboke\operators\CalObj.m
文件 575 2019-05-23 09:07 MFEA2 by xiaofengboke\operators\combpop.m
文件 1669 2019-05-23 15:51 MFEA2 by xiaofengboke\operators\EnvironmentalSelection.m
文件 2595 2019-05-24 08:53 MFEA2 by xiaofengboke\operators\GA.m
文件 5510 2019-09-04 13:24 MFEA2 by xiaofengboke\operators\GA_MFEA.m
文件 5498 2019-09-04 12:19 MFEA2 by xiaofengboke\operators\GA_MFEA2.m
文件 523 2019-05-23 22:40 MFEA2 by xiaofengboke\operators\RouletteWheelSelection.m
文件 556 2019-05-23 19:52 MFEA2 by xiaofengboke\operators\TournamentSelection.m
文件 315 2019-05-24 08:40 MFEA2 by xiaofengboke\problems\Ackley.m
文件 137 2019-09-03 18:23 MFEA2 by xiaofengboke\problems\leadone.m
文件 257 2019-05-24 08:41 MFEA2 by xiaofengboke\problems\Rastrigin.m
文件 217 2019-05-24 08:42 MFEA2 by xiaofengboke\problems\Sphere.m
文件 145 2019-03-26 17:02 MFEA2 by xiaofengboke\problems\targetRan.m
文件 71 2019-09-03 18:30 MFEA2 by xiaofengboke\problems\trailone.m
文件 434 2019-09-03 15:47 MFEA2 by xiaofengboke\problems\trap5.m
文件 530 2019-05-24 08:42 MFEA2 by xiaofengboke\problems\Weierstrass.m
文件 1291 2019-05-24 08:47 MFEA2 by xiaofengboke\public\INDIVIDUAL.m
文件 7130 2019-09-03 15:58 MFEA2 by xiaofengboke\public\TASK.m
目录 0 2019-10-25 20:16 MFEA2 by xiaofengboke\algorithm\MFEA
目录 0 2019-10-25 20:16 MFEA2 by xiaofengboke\algorithm\MFEA2
目录 0 2019-10-25 20:16 MFEA2 by xiaofengboke\algorithm
目录 0 2019-10-25 20:17 MFEA2 by xiaofengboke\Data
目录 0 2019-10-25 20:16 MFEA2 by xiaofengboke\operators
目录 0 2019-10-25 20:16 MFEA2 by xiaofengboke\problems
目录 0 2019-10-25 20:16 MFEA2 by xiaofengboke\public
............此处省略4个文件信息
相关资源
- SOM matlab toolbox 使用文档
- k-均值k-means的Matlab静态实现
- nl-means算法
- keams聚类算法matlab界面实现,支持多维
- MeanShift_MATLAB代码+详细注释
- k均值聚类算法MATLAB程序及注释
- LEACH协议仿真
- 布谷鸟搜索Cuckoo Search优化算法XinShe
- k-means自适应聚类算法
- MATLAB有限元仿真出图案例
- K-means聚类算法 matlab实现
- WSN中leach分簇路由代码MATLAB
- 基于LEACH算法的改进算法GAF算法
- Leach协议在MATLAB下面仿真的源代码
- 无线传感网络的能量控制
- LEACH仿真 簇头 节点存活 系统能耗
- mmreader使用方法
- k-mean matlab
- FREAK Matlab实现
- wfg_matlab code
- 基于MOEA/D的多目标优化算法
- Feature similarity 计算方法的源代码
- Algo Samurai源码文件.mq4
- 改进的基于划分算法的三维点云聚类
- read grib2 文件
- non-local means denoising 程序
- 基于均值漂移mean shift算法的图像分割
- Matlab code for Precision/Recall ROC Accuracy
- LEACH协议Matlab仿真代码
- 34行MATLAB实现k-均值聚类k-means和不同颜
评论
共有 条评论