SHADE跑CEC2017,连续运行30次并且输出最优值,最差值,平均值,标准差

基于成功历史的参数自适应差分进化算法SHADE是经典的差分进化变体,该论文发表于2013年,性能非常有参考价值,可用于和其他算法进行对比试验,该算法尤其是在CEC测试集上有着优秀的表现,将此算法用作对比算法,可以极大增强试验的说服力。提升论文被录用的概率。

参考文献:Ryoji Tanabe and Alex Fukunaga. Success-history based parameter adaptation for differential evolution. In 2013 IEEE Congress on Evolutionary Computation, pages 71–78, 2013.

部分代码及实验结果如下:

clear;clc;close all
SearchAgents_no=30; % 种群数量
Max_iteration=1000; % 最大迭代次数  
Function_name=1; %设定测试函数
dim=10; %维度设定
lb=-100;%下边界
ub=100;%上边界
fobj = @(x) cec17_func(x',Function_name);
Max_test=30;
for i=1:Max_test
    disp(['第',num2str(i),'次实验']);
    [Best_pos1(i,:),Best_score1(i,:),curve(i,:)]=SHADE(SearchAgents_no,Max_iteration,lb,ub,dim,fobj); %开始优化
end
% % %结果对比
figure
semilogy(mean(curve),'color','r','linewidth',2.0)
title(['CEC2017-F',num2str(Function_name)])
xlabel('Iteration');
ylabel('Fitness');
axis tight%用 axis tight命令可以让坐标轴调整到紧凑地显示图像或曲线,不留边界的空白
grid off%显示 gca 命令返回的当前坐标区或图的主网格线。主网格线从每个刻度线延伸。
box on %显示坐标区周围的轮廓
legend('SHADE')
disp('-------------------------------------------------')
display(['SHADE 30次实验最优适应度值(Best) : ', num2str(min(Best_score1))]);
display(['SHADE 30次实验最优解对应的平均适应度值(mean) : ', num2str(mean(Best_score1))]);
display(['SHADE 30次实验最差适应度值(worst) : ', num2str(max(Best_score1))]);
display(['SHADE 30次实验标准差(std) : ', num2str(std(Best_score1))]);

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值