小面包 面包多
简介
评论
作品封面
永久回看

SaDE(自适应差分进化算法)-冠军算法-公式原理详解与性能测评 附Matlab代码

¥39.9
投诉
头像
强盛机器学习 985博士,擅长群智能优化算法,深度学习预测优化,发表SCI十余篇,有需求尽管提,定制可联系QQ:870993766~
作品简介

声明:文章是从本人公众号中复制而来(如图片无法显示可前往本人公众号找到对应推文查看)。想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~

冠军算法一般指 国际进化计算大会(CEC)中的Top算法(一般为前三),计算机领域也经常成为SOTA算法,上一期给大家介绍了CEC冠军算法中的JADE算法:

冠军算法-JADE(具有可选外部存档的差分进化算法)-公式原理详解与性能测评 附Matlab代码

本期要介绍的冠军算法,是由Janez Brest等人于2006年发表于 国际进化计算顶级会议 IEEE Congress on Evolutionary Computation 上的一个算法。尽管这个算法已经比较老了,但是近几年依旧有很多SCI算法与之对比,进而凸显算法优越性,可见其是一个非常优秀的对比算法。

本期代码在CEC2017上进行测试,函数格式均已调整成经典的6输入3输出格式,如果大家需要替换成自己的对比算法非常方便!

您只需做的工作:一键运行main文件即可出图!非常适合新手小白!

01

原理简介


02

算法伪代码

为了使大家更好地理解,这边给出作者算法的流程图,非常清晰!

如果实在看不懂,不用担心,可以看下源代码,再结合上文公式理解就一目了然了!

03

性能测评

为了方便大家对比与理解,我们采用29个CEC2017函数,设置种群数量为30,迭代次数为500,和原始且经典的差分进化算法进行对比!这边展示其中5个测试函数的图,其余几十个个测试函数大家可以自行切换尝试!

可以看到,这个算法在DE算法的基础上有很大的改进,大部分函数上均优于DE算法,表明其寻优能力非常强!大家应用到各类预测、优化问题中也是一个不错的选择~

04

部分代码展示

%%  清除环境变量
clear
clc
close all
addpath(genpath(pwd));
%%  参数设置
pop_size = 30;                                % 种群规模
max_iter = 500;                               % 最大迭代次数
Function_name = 'F30';                         % CEC2017测试函数: F1,F3-F30(F2被删除,勿选)
[lb, ub, dim, fobj] = CEC2017(Function_name); % 加载所选基准函数的详细信息
%%  运行各算法
[SaDE_Best_score,~,SaDE_curve] = SaDE(pop_size,max_iter,lb,ub,dim,fobj);
[DE_Best_score,~,DE_curve] = DE(pop_size,max_iter,lb,ub,dim,fobj);
%%  显示结果
display(['SaDE在函数' [num2str(Function_name)],'上的最优值', num2str(SaDE_Best_score)]);
display(['DE在函数' [num2str(Function_name)],'上的最优值', num2str(DE_Best_score)]);
%% 画图
figure1 = figure('Color',[1 1 1]);
G1=subplot(1,2,1,'Parent',figure1);



付费39.9元可获得

评论 推荐Ta

暂时还没有评论


头像
强盛机器学习 985博士,擅长群智能优化算法,深度学习预测优化,发表SCI十余篇,有需求尽管提,定制可联系QQ:870993766~
关注
3 喜欢 0 关注 3146 粉丝 320 作品

在您购买本平台付费作品前,请您认真阅读本声明内容。如果您对这份声明没有异议,则可以继续购买 >>>

  • 主页
  • 私信
登录或购买

SaDE(自适应差分进化算法)-冠军算法-公式原理详解与性能测评 附Matlab代码

作品简介

声明:文章是从本人公众号中复制而来(如图片无法显示可前往本人公众号找到对应推文查看)。想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~

冠军算法一般指 国际进化计算大会(CEC)中的Top算法(一般为前三),计算机领域也经常成为SOTA算法,上一期给大家介绍了CEC冠军算法中的JADE算法:

冠军算法-JADE(具有可选外部存档的差分进化算法)-公式原理详解与性能测评 附Matlab代码

本期要介绍的冠军算法,是由Janez Brest等人于2006年发表于 国际进化计算顶级会议 IEEE Congress on Evolutionary Computation 上的一个算法。尽管这个算法已经比较老了,但是近几年依旧有很多SCI算法与之对比,进而凸显算法优越性,可见其是一个非常优秀的对比算法。

本期代码在CEC2017上进行测试,函数格式均已调整成经典的6输入3输出格式,如果大家需要替换成自己的对比算法非常方便!

您只需做的工作:一键运行main文件即可出图!非常适合新手小白!

01

原理简介


02

算法伪代码

为了使大家更好地理解,这边给出作者算法的流程图,非常清晰!

如果实在看不懂,不用担心,可以看下源代码,再结合上文公式理解就一目了然了!

03

性能测评

为了方便大家对比与理解,我们采用29个CEC2017函数,设置种群数量为30,迭代次数为500,和原始且经典的差分进化算法进行对比!这边展示其中5个测试函数的图,其余几十个个测试函数大家可以自行切换尝试!

可以看到,这个算法在DE算法的基础上有很大的改进,大部分函数上均优于DE算法,表明其寻优能力非常强!大家应用到各类预测、优化问题中也是一个不错的选择~

04

部分代码展示

%%  清除环境变量
clear
clc
close all
addpath(genpath(pwd));
%%  参数设置
pop_size = 30;                                % 种群规模
max_iter = 500;                               % 最大迭代次数
Function_name = 'F30';                         % CEC2017测试函数: F1,F3-F30(F2被删除,勿选)
[lb, ub, dim, fobj] = CEC2017(Function_name); % 加载所选基准函数的详细信息
%%  运行各算法
[SaDE_Best_score,~,SaDE_curve] = SaDE(pop_size,max_iter,lb,ub,dim,fobj);
[DE_Best_score,~,DE_curve] = DE(pop_size,max_iter,lb,ub,dim,fobj);
%%  显示结果
display(['SaDE在函数' [num2str(Function_name)],'上的最优值', num2str(SaDE_Best_score)]);
display(['DE在函数' [num2str(Function_name)],'上的最优值', num2str(DE_Best_score)]);
%% 画图
figure1 = figure('Color',[1 1 1]);
G1=subplot(1,2,1,'Parent',figure1);



创作时间: