几款性能优秀的差分进化算法DE(SaDE、JADE,SHADE,LSHADE、LSHADE_SPACMA、LSHADE_EpSin)-附Matlab免费代码

引言

差分进化算法(Differential Evolution,简称DE)是一种全局优化算法,由Storn和Price于1995年首次提出。它主要用于求解实数优化问题,属于演化算法的一种。DE算法以其结构简单、容易实现、收敛快速和鲁棒性强等特点,在多个领域得到了广泛应用。

算法流程

  1. 初始化种群:确定差分进化算法控制参数,如种群大小NP、缩放因子F与杂交概率CR,并随机产生初始种群。

  2. 变异:从种群中随机选取两个个体的差向量作为第三个个体的随机变化源,将差向量加权后按照一定的规则与第三个个体求和而产生变异个体。

  3. 交叉:变异个体与某个预先决定的目标个体进行参数混合,生成试验个体。

  4. 选择:比较试验个体和当前个体的适应度,选择适应度更好的个体作为下一代种群的成员。

  5. 迭代:通过反复迭代上述过程,直至满足终止条件(如达到最大迭代次数或适应度达到预定阈值),最终得到问题的近似最优解。

本期介绍了几款优秀的DE变体:SaDE、JADE,SHADE,LSHADE、LSHADE_SPACMA、LSHADE_EpSin

SaDE(Self-adaptive Differential Evolution)****

SaDE算法是一种改进的差分进化(DE)算法,其核心特点在于能够自适应地调整算法的控制参数,以适应不同阶段的优化需求。这种算法不需要预先指定学习策略和两个控制参数F(缩放因子)与CR(交叉概率),而是在进化过程中根据学习经验逐渐自我适应这些参数。

A. K. Qin and P. N. Suganthan, "Self-adaptive differential evolution algorithm for numerical optimization," 2005 IEEE Congress on Evolutionary Computation, Edinburgh, UK, 2005, pp. 1785-1791 Vol. 2, doi: 10.1109/CEC.2005.1554904. https://ieeexplore.ieee.org/document/1554904

JADE(Adaptive Differential Evolution with Optional External Archive)****

JADE算法是一种改进的差分进化(DE)算法。

JADE算法能够自动调整控制参数,如缩放因子(F)和交叉概率(CR),以适应优化问题的特性,从而提高算法的鲁棒性。

JADE算法引入了"DE/current-to-pbest"变异策略,这是对经典"DE/current-to-best"策略的扩展。在"DE/current-to-pbest"中,不仅考虑当前个体和最好个体之间的差异,还可能包含历史最优个体的信息,这样可以增加种群的多样性,避免过早收敛,同时也能改善算法的收敛性能。

JADE算法引入了可选的外部归档机制,用于存储历史最优解。这些历史数据可以提供优化过程中的进步方向信息,帮助算法跳出局部最优,提高全局搜索能力。

J. Zhang and A. C. Sanderson, "JADE: Adaptive Differential Evolution With Optional External Archive," in IEEE Transactions on Evolutionary Computation, vol. 13, no. 5, pp. 945-958, Oct. 2009, doi: 10.1109/TEVC.2009.2014613. https://ieeexplore.ieee.org/document/5208221

SHADE(Success-history based Adaptive Differential Evolution)****

SHADE算法是一种基于差分进化(DE)算法的自适应优化算法,由Tanabe和Fukunaga于2013年提出。SHADE算法在JADE的基础上进行了改进,主要通过引入成功历史记忆机制来优化控制参数,从而提高算法的收敛性和搜索能力。

R. Tanabe and A. Fukunaga, "Success-history based parameter adaptation for Differential Evolution," 2013 IEEE Congress on Evolutionary Computation, Cancun, Mexico, 2013, pp. 71-78, doi: 10.1109/CEC.2013.6557555. https://ieeexplore.ieee.org/document/6557555

LSHADE(Linear-SHADE)****

LSHADE(Linear-SHADE)优化算法是一种基于差分进化(DE)算法的优化算法,其核心特点在于引入了线性种群规模缩减(Linear Population Size Reduction, LPSR)机制。

R. Tanabe and A. S. Fukunaga, "Improving the search performance of SHADE using linear population size reduction," 2014 IEEE Congress on Evolutionary Computation (CEC), Beijing, China, 2014, pp. 1658-1665, doi: 10.1109/CEC.2014.6900380

LSHADE_SPACMA

LSHADE_SPACMA优化算法是一种结合了LSHADE(Large Population Size Reduction SHADE)和CMA-ES(Covariance Matrix Adaptation Evolution Strategy)的混合优化算法

A. W. Mohamed, A. A. Hadi, A. M. Fattouh and K. M. Jambi, "LSHADE with semi-parameter adaptation hybrid with CMA-ES for solving CEC 2017 benchmark problems," 2017 IEEE Congress on Evolutionary Computation (CEC), Donostia, Spain, 2017, pp. 145-152, doi: 10.1109/CEC.2017.7969307.

LSHADE_EpSin

  • LSHADE_EpSin算法通过引入一种新的正弦参数自适应框架来改善L-SHADE算法的性能。这种框架能够自动调整差分进化算法中的缩放因子(F)的值。

  • 该算法采用了两种正弦公式的混合:非自适应正弦递减调整和基于历史的自适应正弦递增调整。这种正弦集成方法的目标是在已找到的最佳解的利用和未访问区域的探索之间找到有效的平衡。

  • 在后期代数中,LSHADE_EpSin还使用了基于高斯步行的局部搜索方法,以增强其利用能力

N. H. Awad, M. Z. Ali, P. N. Suganthan and R. G. Reynolds, "An ensemble sinusoidal parameter adaptation incorporated with L-SHADE for solving CEC2014 benchmark problems," 2016 IEEE Congress on Evolutionary Computation (CEC), Vancouver, BC, Canada, 2016, pp. 2958-2965, doi: 10.1109/CEC.2016.7744163.

03. 对比验证

在经典23个函数进行验证

参考文献

几款性能优秀的差分进化算法DE-附Matlab免费代码

Matlab代码下载

微信搜索并关注-优化算法侠(英文名:Swarm-Opti),或扫描下方二维码关注,以算法名字搜索历史文章即可下载。

👇👇👇

DE合集.zip

点击链接跳转:

375种群优化算法免费下载-matlab

https://mp.weixin.qq.com/s/AsFTBmaZ8UOgES9TQuL0Kg?token=1339859150&lang=zh_CN

求解cec测试函数-matlab

cec2017测试函数使用教程及matlab代码免费下载

cec2018测试函使用教程及matlab代码免费下载

cec2019测试函使用教程及matlab代码免费下载

cec2020测试函使用教程及matlab代码免费下载

cec2021测试函使用教程及matlab代码免费下载

cec2022测试函使用教程及matlab代码免费下载
绘制cec2017/018/2019/2020/2021/2022函数的三维图像教程,SO EASY!

215种群智能优化算法python库

Amazing!Python版215种群智能优化算法https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=1&sn=6b439e55b37b6482b8d3831ca85f1d55&chksm=c12be0c8f65c69de71ad51d3b736b871ff52f8646e90624f95dd32b024dfaad369d654aaf8fc#rd

解决12工程设计优化问题-matlab

略微出手,工程设计问题(12)(附Matlab代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247485052&idx=1&sn=80e5573c1c005ee5640e44935044ee35&chksm=c12bea79f65c636fc73758b4f4893502bd89cbd1c5d15d7db15e8b5c94eeae40450439d44944&token=681266555&lang=zh_CN#rd

求解11种cec测试函数-python

【选择自由,免费下载】215种优化算法求解11种cec测试函数-python代码https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=2&sn=eea8fb04dc507ab9119e2c97c03ca2f6&chksm=c12be0c8f65c69decd6c8109f6b997986bf58725fdbbd7ab03752cb6f61aacdb5a2dc7fec762#rd

解决30种工程设计优化问题-python

【一码解决】215种优化算法求解30个现实世界的工程设计优化问题,让你的论文增色10倍(附Python代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=3&sn=ea6d26ae7cb651e5c368f4c73ade228e&chksm=c12be0c8f65c69de739af72d9793838f59ab77bfee36bc2c204f96e2a9e5c6d87dfbbbae698e#rd

仅需一行,可改进所有优化算法:21种混沌映射方法-混沌初始化(附matlab代码)

用于改进所有优化算法:21种混沌映射方法-混沌初始化(附matlab代码)21种混沌映射方法-混沌初始化,适用于所有优化算法https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486215&idx=2&sn=58f1a69175b0d6431a4c7cdfa114b84d&chksm=c12be702f65c6e14e6bd1ddc33b9cec74991d93303c325853049b7e4afd09039b13083fa79c5&token=25423484&lang=zh_CN#rd

【有经典,有最新】24种信号分解方法(附matlab代码)

沙场大点兵:24种信号分解方法(附matlab代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486001&idx=1&sn=a87c24cb401017a78a90bd1b1439fcb0&chksm=c12be634f65c6f22368b7229a59ac5ef330b89d710c826dbfd1a1c34a02b1dd7e909c7f40d79&token=25423484&lang=zh_CN#rd

【分类新范式】27种一维数据转换成二维图像的方法-matlab代码

沙场大点兵:27种一维数据转换成二维图像的方法-matlab代码https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486260&idx=1&sn=81b1970cb89364c0289ccdfb403e5388&chksm=c12be731f65c6e273a85456326b503b7f35d9f035405050932ff1926e0b1bfa8076b1bc2d1f2&token=25423484&lang=zh_CN#rd

相关推荐
J2虾虾1 分钟前
Spring AI Alibaba - Structured Output 结构化输出
人工智能·python·spring
aWty_4 分钟前
实分析入门(12)--可测函数
学习·数学·算法·实变函数
guslegend6 分钟前
第2节:AI编辑器底层技术全景导览
人工智能·编辑器
beyond阿亮13 分钟前
PicoClaw(皮皮虾)超轻量AI智能体 安装&使用教程
人工智能·ai·openclaw·picoclaw
RSTJ_162517 分钟前
PYTHON+AI LLM DAY SIXTY-FOUR
开发语言·python
海砥装备HardAus19 分钟前
无人机姿态解算中「重力矢量观测退化」机理与动态补偿技术
算法·无人机·飞控
广州灵眸科技有限公司19 分钟前
瑞芯微RV1126B开发板(EASY-EAI-PI2) 开发套件组装上电
网络·数据库·人工智能·算法·飞书
AI_yangxi24 分钟前
短视频矩阵系统服务商
大数据·人工智能·矩阵
Ada's26 分钟前
方法论01:如何写好一篇期刊论文
人工智能
szxinmai主板定制专家27 分钟前
基于 ARM+FPGA精密多轴实时运动控制卡设计方案,适用于半导体设备等高精度领域(一)
arm开发·人工智能·嵌入式硬件·fpga开发·架构·语音识别