孔雀优化算法(Peafowl (Pavo Muticus/Cristatus) Optimization Algorithm, POA)
文章目录
- 一、理论基础
- 1、数学模型
- 1.1 孔雀求偶行为
- 1.2 雌孔雀适应性接近行为
- 1.3 孔雀幼崽适应性搜索行为
- 1.4 孔雀之间互动行为
- 2、算法伪代码
- 二、仿真实验与结果分析
- 三、总结
- 参考文献
一、理论基础
孔雀优化算法(peafowl (Pavo muticus/cristatus) optimization algorithm, POA) 是由昆明理工大学王金波等人于2021年提出的,模拟了孔雀的求偶、觅食和追逐行为。其中,作者首次提出了旋转跳舞机制,有助于跳出局部最优。该算法也是首次应用于求解固体氧化物燃料电池(SOFC) 模型的未知参数估计问题。
雄孔雀(左)和雌孔雀(右)
:
1、数学模型
角色分配
:
首先,根据适应度大小,找出排名前五的成年孔雀。剩下的30%个体被定义为成年雌孔雀,其他的则被定义为幼孔雀。注意根据算法需要,每次迭代后将根据适应度重新分配个体角色。
1.1 孔雀求偶行为
孔雀发现食物源后,会围绕食物源进行旋转行为,进行展示和炫耀,以吸引雌孔雀的注意,从而增加交配概率。具体的发情期求偶行为可分为三个主要阶段,即展尾、旋转和拍动羽毛。该算法主要利用的是旋转行为,包含原地旋转和围绕食物源旋转,并且,适应度越大,围绕食物源旋转的概率也越大,且半径越小,否则以大半径原地旋转。
位置更新公式分别为:
其中,‖Xr‖定义为Xr的模量,Rs为旋转半径,计算公式为:
其中,XU和XL为上下边界,Cv为可见因子(设为0.2)。
1.2 雌孔雀适应性接近行为
在整个搜索过程中,雌孔雀采取适应性搜索和接近机制,在前期(θ小于1/3)是接近雄孔雀(排名前五),在中后期(θ大于1/3)则是在周围观察:
1.3 孔雀幼崽适应性搜索行为
采用莱维飞行模拟孔雀幼崽的随机搜索行为,这里雄孔雀(排名前五)作为引导目标(即食物源):
其中,α和δ 为动态系数因子,定义为:
1.4 孔雀之间互动行为
由于1号孔雀拥有最好的食物来源,其余4只孔雀会被诱导逐渐向它移动。特别地,不是直接移动到孔雀#1,其余四只孔雀倾向于以90°以内的夹角方向向1号孔雀移动,位置更新公式如下(注意图中红线,左右为不同公式):
其中,(x*y)被定义为向量x和y的内积。
2、算法伪代码
二、仿真实验与结果分析
作者测试了23个常用函数并用于固体氧化物燃料电池参数估计,从数值结果、箱型图、收敛曲线、统计分析等方面分析了POA算法的性能。
23个常用函数的收敛曲线结果
:
注意到这里迭代次数达到了2000。
固体氧化物燃料电池参数估计结果
:
注意到,PSO也展示了不错的寻优性能。
三、总结
从算法结构上看,涉及计算公式较多,比较复杂。
从函数测试结果可以看出,该算法寻优性能一般,提升空间很大。另外,与DO类似,算法计算复杂度也很高,每次迭代个体位置平均更新2.5次。
参考文献
【1】Jingbo Wang, Bo Yang, Yijun Chen, Kaidi Zeng, Hao Zhang, Hongchun Shu, Yingtong Chen.Novel phasianidae inspired peafowl (Pavo muticus/cristatus) optimization algorithm: Design,evaluation, and SOFC models parameter estimation.Sustainable Energy Technologies and Assessments 2021,50:101825. https://doi.org/10.1016/j.seta.2021.101825.
- 关于 POA 代码下载,参考 Code
- 关于 POA 论文网站,参考 Paper
孔雀优化算法(Peafowl (Pavo Muticus/Cristatus) Optimization Algorithm, POA)相关推荐
- 多目标优化算法:多目标非洲秃鹫优化算法(Multi-objective Africans Vultures Optimization Algorithm,MOAVOA)提供MATLAB代码及参考文献
一.多目标非洲秃鹫优化算法 多目标非洲秃鹫优化算法(Multi-objective Africans Vultures Optimization Algorithm,MOAVOA)由Nima Khod ...
- CEC2015:(一)动态多目标野狗优化算法(Dynamic Multi-objective Dingo Optimization Algorithm,DMODOA)求解FDA4与FDA5
一.cec2015中测试函数FDA4.FDA5.FDA5_iso.FDA5_dec详细信息 CEC2015:动态多目标测试函数之FDA4.FDA5.FDA5_iso.FDA5_dec 二.动态多目标野 ...
- 多目标优化算法:基于非支配排序的瞪羚优化算法(Non-Dominated Sorting Gazelle Optimization Algorithm,NSGOA)
瞪羚优化算法(Gazelle Optimization Algorithm,GOA)由Agushaka等人于2022年提出,该算法模拟了瞪羚逃避捕食者的行为,思路新颖,性能高效. 瞪羚的身高60-11 ...
- 多目标优化算法:非支配排序的鲸鱼优化算法(Non-Dominated Sorting Whale Optimization Algorithm,NSWOA)提供Matlab代码
一.非支配排序的鲸鱼优化算法 非支配排序的鲸鱼优化算法(Non-Dominated Sorting Whale Optimization Algorithm,NSWOA)由Pradeep Jangir ...
- 孔雀优化算法(POA)——(含MATLAB代码)
先要声明的是,这个算法的争议较大,评论是两边倒的,一些学者觉得是一锅乱炖,我个人不发表观点,这里只是把这个算法介绍一下.我不推荐它,也不反对大家去了解,只做单纯的讲解.觉得这个算法不行的就不看吧~ 孔 ...
- 智能优化算法:孔雀优化算法-附代码
智能优化算法:孔雀优化算法 摘要:孔雀优化算法( Peafowl Optimization Algorithm, POA), 是由 Jingbo Wang 等于2022 年提出的一种群体智能优化算法. ...
- 【孔雀优化算法】基于孔雀优化算法求解单目标优化问题附matlab代码POA
1 简介 本文开发了一种新的孔雀 (Pavo muticus/cristatus) 优化算法 (POA),其中包含其在固体氧化物燃料电池 (SOFC) 参数估计中的设计.评估和应用. POA主要复制了 ...
- 多旅行商问题:鹈鹕优化算法(Pelican Optimization Algorithm,POA)求解多仓库多旅行商问题(提供Matlab代码)
一.鹈鹕优化算法 鹈鹕优化算法(Pelican Optimization Algorithm,POA)由Pavel Trojovský和Mohammad Dehghani 于2022年提出,该算法模拟 ...
- 多目标优化算法:多目标人工兔优化算法(Multi-Objective Artificial Rabbits Optimization ,MOARO)
一.人工兔优化算法算法简介 人工兔优化算法(Artificial Rabbits Optimization ,ARO)由Liying Wang等人于2022年提出,该算法模拟了兔子的生存策略,包括绕道 ...
最新文章
- Flutter 最佳实践 | 专家直播答疑
- android特效开发==纪念
- 【算法与数据结构】B-树学习笔记
- c# websocketServer
- cordova切换到安卓5.1.0,Android SDK not found
- 鼠标事件在浏览器的差异
- 找到所有数组中消失的数字—leetcode448
- [iPhoneアプリ]iEscaper2攻略その6|龍の水晶
- linux软件工程师笔试题,C/C++软件工程师笔试题
- python 如何定义空字典_python字典中如何添加键值对
- 普通小白学会Python到底具体能做什么呢?
- (四)Trigger
- DTC精彩回顾—黄东旭《TiDB数据驱动的企业智能化转型新方向》丨PPT视频
- 像人类一样理解言外之意,阿里AI最新研究成果被国际顶会收录
- G代码在运动控制器上的应用
- 深度学习实战 第7章循环神经网络笔记
- 子列和列_最大子列和
- 前端页面缓存系列之localStorage
- 又一个吊打百度网盘的开源神器,还是99年妹子开发的
- #路由配置以及华为路由协议优先级
热门文章
- Frontal Brain Lobe and Its Function额叶及其功能
- 关于:在 Windows Server 中的 Printer Server
- git cz: Missing script: “test“ To see a list of scripts, run: npm run
- Anaconda的安装
- 中心极限与大数定理律的关系_中心极限定理(CLT)?2个例子帮你轻松理解CLT...
- 手机通用root刷补Magisk教程
- Windows下cmd(命令提示符)中的复制粘贴操作
- saveOrUpdate Transaction silently rolled back because it has been marked as rollback-only
- 机器人实践课程镜像分享及使用说明(Arduino+ROS1+ROS2+Gazebo+SLAM+...)
- 修改 oracle 字符 zhs,修改Oracle数据库的字符集(UTF8→ZHS16GBK)