星鸦优化算法(NOA)(含MATLAB代码)-程序员宅基地

技术标签: matlab  算法  启发式算法  人工智能  开发语言  

先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年提出的新型智能优化算法,并附MATLAB代码。

“星鸦优化算法是一个2023年刚提出的新算法,发表在国际顶级刊物KBS上,大家可以选择作为对比算法~

关于这个中文名翻译,有的人翻译成星雀或星鸟,更有甚者翻译为胡桃夹子。我查阅了一下这种鸟类,按照英文名对照过来的话,我觉得应该翻译成星鸦~

这个算法非常新,性能也很不错,可以学习一下~”

图片

图片

图片

图片

星鸦优化算法(Nutcracker Optimization Algorithm, NOA)是一种新颖的自然启发的元启发式算法,灵感来自克拉克的星鸦。星鸦在不同的时期表现出两种不同的行为。第一种发生在夏季和秋季,星鸦寻找种子并随后将其储存在适当的贮藏处。第二种发生在冬季和春季,星鸦基于空间记忆利用各种物体或标记作为参考点,寻找不同角度标记的隐藏贮藏物。如果星鸦找不到储存的种子,它们会随机地探索搜索空间来寻找食物。作者通过23个经典Benchmark函数、CEC2014测试集、CEC2017测试集和CEC2020测试集以及5个工程问题对NOA进行评估。与现有的三类优化算法进行了比较:(1)近两年发表的SMA、GBO、EO、RUN、AVOA、RFO和GTO算法;(2)SSA、WOA和GWO等高引用算法;(3)AL-SHADE、L-SHADE、LSHADE-cnEpSin和LSHADE-SPACMA等CEC优胜者算法。实验结果表明NOA在所有方法中排名第一,综合性能最优。它的原始参考文献如下:

“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.”

图片

01
灵感来源

克拉克的星鸦是生活在美国西部和加拿大山区的高纬度居住的鸦科物种。克拉克的星鸦是一种浅灰色的鸟,有着黑色的翅膀。这些鸟经常独自生活,不像乌鸦等鸦科的其他物种那样生活在家庭群体中。松子是克拉克星鸦的主要食物来源。

图片

星鸦在冬天依靠储存的种子生存。贮藏行为一直持续到种子作物枯竭或恶劣天气的介入。此外,星鸦从树上收集种子的效率很高,可以选择高于平均水平的好种子。星鸦收集松子,储藏在树洞里和树根底下,准备冬天吃。每只星鸦找到的储藏食物不一定是自己储藏的,自己储藏的松子也可能成为别人的食物。

NOA主要基于星鸦的搜索、贮藏和找回行为。

02
算法设计

如前所述,星鸦的行为可以分为两个主要部分:第一部分是收集松树种子(食物)并储存它们;第二部分是搜索和检索存储地点。这两种行为的特点是发生在两个不同的时期:第一种行为发生在夏天和秋天;第二种行为发生在冬季和春季。在提出的NOA中,作者基于上述两个主要行为来模拟星鸦的行为。两种主要策略是:(1)觅食和储存策略(Foraging and storage strategy);(2)缓存搜索和找回策略(Cache-search and recovery strategy)。而在两种策略中,星鸦种群均存在勘探(Exploration)和开发(Exploitation)的过程,即每种策略又包含了两种不同的种群行为,如图1所示。

图片

图1 NOA的基本框架

为了简单起见,后面不对算法是每个公式的设计思想进行详细解释,而是直接介绍计算公式。NOA的位置更新公式较多,与HHO算法的框架相似,比较复杂。因此这里主要是帮助大家把框架理清楚,清楚怎么算就行。以下是我的解读(公式序号与原文有出入,我改变了序号,方便理解):

图片

图片

图片

03
计算流程

NOA的计算流程图如图4所示(注意:图4截止NOA的原文,因此公式的对应序号与前面不一样,图4中的公式需要对照原文看):

图片

图4 NOA的计算流程

04
实验仿真

NOA的算法性能很优秀,并且,它的计算时间并没有因为公式的数量而变得冗长,计算速度较快。比较推荐这个算法。

这里对NOA的性能进行简单的测试。将NOA用于函数寻优,算法的MATLAB程序是严格按照它的原始参考文献进行编码的。此外,种群规模取的50,Benchmark函数分别采用了CEC2005测试集、CEC2013测试集、CEC2014测试集、CEC2017测试集、CEC2020优化函数测试集和CEC2022优化函数测试集。对比算法选择:灰狼优化(GWO)、鲸鱼优化算法(WOA)、哈里斯鹰优化(HHO)、非洲秃鹫优化算法(AVOA)、蜣螂优化(DBO)和沙猫群优化(SCSO),这六种算法都是今年来提出的优秀算法,认可度较高。这里对仿真结果进行简要展示,就不再进一步做分析了。

首先,我们来检验一下NOA对全局勘探和局部开发的平衡能力。如图5所示,是NOA在CEC2005测试函数f7上的勘探和开发占比曲线。

图片

图5 NOA在CEC2005 f7上的勘探和开发百分占比变化曲线

其次,以CEC2005测试集中的单峰函数f1和多峰函数f10为例,展示七种算法在30维环境下的收敛效果,如图6所示。

图片

(a) f1

图片

(b) f10

图6 七种进化算法在CEC2005两个测试函数上的收敛曲线

再次,以CEC2013测试集中的单峰函数F1为例,展示七种算法在30维环境下的收敛效果,如图7所示。(注意是画的误差曲线)

图片

图7 七种进化算法在CEC2013 F1上的误差收敛曲线

接着,以CEC2014测试集中的单峰函数F3为例,展示七种算法在30维环境下的收敛效果,如图8所示。(注意是画的误差曲线)

图片

图8 七种进化算法在CEC2014 F3上的误差收敛曲线

再然后,以CEC2017测试集中的混合函数F14为例,展示七种算法在30维环境下的收敛效果,如图9所示。(注意是画的误差曲线)

图片

图9 七种进化算法在CEC2017 F14上的误差收敛曲线

紧接着,以CEC2020优化函数测试集中的混合函数F5为例,展示七种算法在10维环境下的收敛效果,如图10所示。(注意是画的误差曲线)

图片

图10 七种进化算法在CEC2020 F5上的误差收敛曲线

最后,以CEC2022优化函数测试集中的基本多模态函数F3为例,展示七种算法在10维环境下的收敛效果,如图11所示。(注意是画的误差曲线)

图片

图11 七种进化算法在CEC2022 F3上的误差收敛曲线

不难看出,无论是与HHO、AVOA、SCSO等优秀算法相比,还是和目前火热的DBO算法相比,NOA都能在不同的复杂测试集上展现出明显的优势,算法性能优越,具备较强的竞争力。大家可以进一步了解一下这个算法。

进一步,可将NOA应用于复杂工程约束优化问题,例如之前推送的两期算法应用内容:

算法应用:基于DBO算法的工程优化设计(第1期)(含MATLAB代码)

算法应用:工程优化设计(第2期)(含MATLAB代码)

机器人夹持器问题(Robot gripper problem)通过考虑七个连续的设计变量和几何尺寸,要求在夹持器末端位移范围内夹持器所施加的最大和最小力之差最小。其数学模型如下:

图片

这里以机器人夹持器问题为例,展示求解效果,NOA的收敛曲线如图12所示。

图片

图12 NOA在机器人夹持器问题上的目标函数收敛曲线

05
MATLAB代码

NOA跑CEC2005测试集:

关注公众号:启发式算法讨论

NOA跑CEC2013测试集:

关注公众号:启发式算法讨论

NOA跑CEC2014测试集:

关注公众号:启发式算法讨论

NOA跑CEC2017测试集:

关注公众号:启发式算法讨论

NOA跑CEC2020优化函数测试集:

关注公众号:启发式算法讨论

NOA跑CEC2022优化函数测试集:

关注公众号:启发式算法讨论

NOA的勘探(Exploration)和开发(Exploitation)占比分析:

关注公众号:启发式算法讨论

NOA的工程应用(第1期):压力容器设计、滚动轴承设计、拉伸/压缩弹簧设计、悬臂梁设计、轮系设计、三杆桁架设计。

关注公众号:启发式算法讨论

NOA的工程应用(第2期):焊接梁设计、多盘离合器制动器设计问题、步进圆锥滑轮问题、减速机设计问题、行星轮系设计优化问题、机器人夹持器问题。

关注公众号:启发式算法讨论

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jieyanping/article/details/132476871

智能推荐

leetcode 172. 阶乘后的零-程序员宅基地

文章浏览阅读63次。题目给定一个整数 n,返回 n! 结果尾数中零的数量。解题思路每个0都是由2 * 5得来的,相当于要求n!分解成质因子后2 * 5的数目,由于n中2的数目肯定是要大于5的数目,所以我们只需要求出n!中5的数目。C++代码class Solution {public: int trailingZeroes(int n) { ...

Day15-【Java SE进阶】IO流(一):File、IO流概述、File文件对象的创建、字节输入输出流FileInputStream FileoutputStream、释放资源。_outputstream释放-程序员宅基地

文章浏览阅读992次,点赞27次,收藏15次。UTF-8是Unicode字符集的一种编码方案,采取可变长编码方案,共分四个长度区:1个字节,2个字节,3个字节,4个字节。文件字节输入流:每次读取多个字节到字节数组中去,返回读取的字节数量,读取完毕会返回-1。注意1:字符编码时使用的字符集,和解码时使用的字符集必须一致,否则会出现乱码。定义一个与文件一样大的字节数组,一次性读取完文件的全部字节。UTF-8字符集:汉字占3个字节,英文、数字占1个字节。GBK字符集:汉字占2个字节,英文、数字占1个字节。GBK规定:汉字的第一个字节的第一位必须是1。_outputstream释放

jeecgboot重新登录_jeecg 登录自动退出-程序员宅基地

文章浏览阅读1.8k次,点赞3次,收藏3次。解决jeecgboot每次登录进去都会弹出请重新登录问题,在utils文件下找到request.js文件注释这段代码即可_jeecg 登录自动退出

数据中心供配电系统负荷计算实例分析-程序员宅基地

文章浏览阅读3.4k次。我国目前普遍采用需要系数法和二项式系数法确定用电设备的负荷,其中需要系数法是国际上普遍采用的确定计算负荷的方法,最为简便;而二项式系数法在确定设备台数较少且各台设备容量差..._数据中心用电负荷统计变压器

HTML5期末大作业:网页制作代码 网站设计——人电影网站(5页) HTML+CSS+JavaScript 学生DW网页设计作业成品 dreamweaver作业静态HTML网页设计模板_网页设计成品百度网盘-程序员宅基地

文章浏览阅读7k次,点赞4次,收藏46次。HTML5期末大作业:网页制作代码 网站设计——人电影网站(5页) HTML+CSS+JavaScript 学生DW网页设计作业成品 dreamweaver作业静态HTML网页设计模板常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 军事、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他 等网页设计题目, A+水平作业_网页设计成品百度网盘

【Jailhouse 文章】Look Mum, no VM Exits_jailhouse sr-iov-程序员宅基地

文章浏览阅读392次。jailhouse 文章翻译,Look Mum, no VM Exits!_jailhouse sr-iov

随便推点

chatgpt赋能python:Python怎么删除文件中的某一行_python 删除文件特定几行-程序员宅基地

文章浏览阅读751次。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。AI职场汇报智能办公文案写作效率提升教程 专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。_python 删除文件特定几行

Java过滤特殊字符的正则表达式_java正则表达式过滤特殊字符-程序员宅基地

文章浏览阅读2.1k次。【代码】Java过滤特殊字符的正则表达式。_java正则表达式过滤特殊字符

CSS中设置背景的7个属性及简写background注意点_background设置背景图片-程序员宅基地

文章浏览阅读5.7k次,点赞4次,收藏17次。css中背景的设置至关重要,也是一个难点,因为属性众多,对应的属性值也比较多,这里详细的列举了背景相关的7个属性及对应的属性值,并附上演示代码,后期要用的话,可以随时查看,那我们坐稳开车了······1: background-color 设置背景颜色2:background-image来设置背景图片- 语法:background-image:url(相对路径);-可以同时为一个元素指定背景颜色和背景图片,这样背景颜色将会作为背景图片的底色,一般情况下设置背景..._background设置背景图片

Win10 安装系统跳过创建用户,直接启用 Administrator_windows10msoobe进程-程序员宅基地

文章浏览阅读2.6k次,点赞2次,收藏8次。Win10 安装系统跳过创建用户,直接启用 Administrator_windows10msoobe进程

PyCharm2021安装教程-程序员宅基地

文章浏览阅读10w+次,点赞653次,收藏3k次。Windows安装pycharm教程新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入下载安装PyCharm1、进入官网PyCharm的下载地址:http://www.jetbrains.com/pycharm/downl_pycharm2021

《跨境电商——速卖通搜索排名规则解析与SEO技术》一一1.1 初识速卖通的搜索引擎...-程序员宅基地

文章浏览阅读835次。本节书摘来自异步社区出版社《跨境电商——速卖通搜索排名规则解析与SEO技术》一书中的第1章,第1.1节,作者: 冯晓宁,更多章节内容可以访问云栖社区“异步社区”公众号查看。1.1 初识速卖通的搜索引擎1.1.1 初识速卖通搜索作为速卖通卖家都应该知道,速卖通经常被视为“国际版的淘宝”。那么请想一下,普通消费者在淘宝网上购买商品的时候,他的行为应该..._跨境电商 速卖通搜索排名规则解析与seo技术 pdf

推荐文章

热门文章

相关标签