深圳知名广告公司有哪些,网站建设1993seo,做网站的图片素材,显示佣金的网站是怎么做的文章来源于我的个人公众号#xff1a;KAU的云实验台#xff0c;主要更新智能优化算法的原理、应用、改进 CEC2005中的测试
本文KAU将介绍一个2023年发表在1区期刊KBS上的优化算法——星鸦优化算法(Nutcracker Optimization Algorithm#xff0c;NOA)[1]
该算法由Mohamed …文章来源于我的个人公众号KAU的云实验台主要更新智能优化算法的原理、应用、改进 CEC2005中的测试
本文KAU将介绍一个2023年发表在1区期刊KBS上的优化算法——星鸦优化算法(Nutcracker Optimization AlgorithmNOA)[1]
该算法由Mohamed Abdel-Basset等于2023年提出Mohamed Abdel-Basset教授同时也是开普勒、光谱、蜘蛛蜂等优化器的提出者。
而本文要介绍的NOA灵感来源于生活在美国西部和加拿大山区中的一种名叫星鸦的鸟类该优化器模拟了星鸦觅食、存储以及缓存搜索、恢复的行为
算法性能上在23个标准测试函数、CEC2014、CEC2017、CEC2020及5个工程设计问题上进行评估对比算法包含
(1)SMA、GBO、AVOA等近年发表的算法
(2)SSA、WOA、GWO等高引算法
(3)AL-SHADE、L-SHADE等CEC竞赛的获胜算法
NOA是所有方法中排名第一 图源文献[1]
因此KAU对这个性能如此出彩的算法也很感兴趣遂出此文章以学习本文将介绍该算法的相关原理并给出其MATLAB实现。
00 目录
1 星鸦优化算法(NOA)原理
2 代码目录
3 算法性能
4 源码获取
01 星鸦优化算法(NOA)原理 图源文献[1]
NOA同样是基于种群的元启发式算法模拟了星鸦在夏季和秋季寻找食物并将其存储在合适的场所冬季和春季寻找储存的地方并取回食物的行为。共四种行为下面讲解NOA原理
1.1 初始化
星鸦的位置可视为搜索代理其遵循随机初始化的方法 1.2 觅食与存储策略
1.2.1 觅食阶段——勘探1
此阶段星鸦检查初始位置旁包含种子的球果若有好种子则带到储藏区若没有则到另一个松树上寻找对该行为的建模如下
其中Uj和Lj是上下界γ是Levy飞行产生的随机数A、B、C是种群中的随机个体τ1, τ2, r和r1是[0,1]之间的随机数Xmtj是第j维的平均值u是一个在正态分布随机数、levy飞行、随机数之间随机生成的数字如下 觅食阶段的第一个状态表明星鸦不改变位置第二个状态表明将对空间进行随机的全局搜索第三个状态将探索位置周围的空间。
1.2.2 存储阶段——开发1
星鸦将觅食阶段获得的食物运到储藏区其数学模型为 其中λ是levy飞行生成的随机数τ3是(0,1)之间的随机数I是1到0随机线性递减的因子。
1.2.3 位置更新
根据以下公式进行觅食和存储之间的转换以维持勘探和开发之间的平衡 Eq(1)即选择觅食阶段的更新方式Eq(2)即选择存储阶段的更新方式ϕ是一个随机数Pa1从1到0递减。即两种策略只选用一种执行。
1.3 寻找储藏区与找回策略
冬季来临后星鸦将进行第二次探索它从储藏模式转换到搜索模式星鸦用两个参考点RP作为单个储藏区的标记。这些参考点可以用不同的方程表示这个参考点是星鸦用来找回食物的依据是个很有意思的设计可以作为一个改进策略的构想
参考点 第一层参考点为 其中theta表示[0,pi]之间的随机数为
第二层参考点为
其中L和U是上下界U2下图中U1应为U2如下 1.3.1 寻找储藏区阶段——勘探2
寻找储藏区阶段的位置更新公式为
其中Eq(13)为 Eq(15)为 其中C是随机选择一个个体。
新的位置将以贪婪策略选择性保留 1.3.2 找回食物阶段——开发2
找回食物时其位置更新方式为:
Eq(12) Eq(14) 同样新的位置将以贪婪策略选择性保留 1.3.3 位置更新
和上一节一样第二阶段的搜索同样也是从勘探和开发中进行随机选择其选择公式如下 其中Eq(16)即为勘探Eq(17)即为开发。φ为(0,1)之间的随机数而Pa2是经过实验确定的原文中等于0.2。
1.4 算法流程
NOA算法共分两个阶段每个阶段都包含勘探与开发两种策略并且每个阶段的运行只会择其一种策略进行更新同时一次迭代只会选择一个阶段执行(按一定概率选择)保证了算法的快速迭代其总体流程如下流程图为KAU结合原文根据自己的理解所画若有误欢迎指正 02 代码目录 代码为MATLAB。考虑到很多同学获取代码后MATLAB代码部分有乱码MATLAB版本问题有几个方法
①可以将MATLAB版本改为2020及以上
②将m文件用记事本打开再将记事本中的代码复制到Matlab即可
代码都经过作者重新注释代码更清爽可读性强。
03 算法性能
采用标准测试函数初步检验其寻优性能在MATLAB中进行标准函数的测试执行程序结果如下 04 源码获取
在公众号KAU的云实验台 后台回复 NOA 即可
参考文献
[1] Abdel-Basset M , Mohamed R , Jameel M ,et al.Nutcracker optimizer: A novel nature-inspired metaheuristic algorithm for global optimization and engineering design problems[J].Knowledge-Based Systems, 2023, 262:110248-.
另如果有伙伴有待解决的优化问题各种领域都可可以发我我会选择性的更新利用优化算法解决这些问题的文章。
如果这篇文章对你有帮助或启发可以点击右下角的赞/在看(ง •̀_•́)ง(不点也行)你们的鼓励就是我坚持的动力若有定制需求可私信作者。