文章目录

  • 一、理论基础
    • 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)相关推荐

  1. 多目标优化算法:多目标非洲秃鹫优化算法(Multi-objective Africans Vultures Optimization Algorithm,MOAVOA)提供MATLAB代码及参考文献

    一.多目标非洲秃鹫优化算法 多目标非洲秃鹫优化算法(Multi-objective Africans Vultures Optimization Algorithm,MOAVOA)由Nima Khod ...

  2. CEC2015:(一)动态多目标野狗优化算法(Dynamic Multi-objective Dingo Optimization Algorithm,DMODOA)求解FDA4与FDA5

    一.cec2015中测试函数FDA4.FDA5.FDA5_iso.FDA5_dec详细信息 CEC2015:动态多目标测试函数之FDA4.FDA5.FDA5_iso.FDA5_dec 二.动态多目标野 ...

  3. 多目标优化算法:基于非支配排序的瞪羚优化算法(Non-Dominated Sorting Gazelle Optimization Algorithm,NSGOA)

    瞪羚优化算法(Gazelle Optimization Algorithm,GOA)由Agushaka等人于2022年提出,该算法模拟了瞪羚逃避捕食者的行为,思路新颖,性能高效. 瞪羚的身高60-11 ...

  4. 多目标优化算法:非支配排序的鲸鱼优化算法(Non-Dominated Sorting Whale Optimization Algorithm,NSWOA)提供Matlab代码

    一.非支配排序的鲸鱼优化算法 非支配排序的鲸鱼优化算法(Non-Dominated Sorting Whale Optimization Algorithm,NSWOA)由Pradeep Jangir ...

  5. 孔雀优化算法(POA)——(含MATLAB代码)

    先要声明的是,这个算法的争议较大,评论是两边倒的,一些学者觉得是一锅乱炖,我个人不发表观点,这里只是把这个算法介绍一下.我不推荐它,也不反对大家去了解,只做单纯的讲解.觉得这个算法不行的就不看吧~ 孔 ...

  6. 智能优化算法:孔雀优化算法-附代码

    智能优化算法:孔雀优化算法 摘要:孔雀优化算法( Peafowl Optimization Algorithm, POA), 是由 Jingbo Wang 等于2022 年提出的一种群体智能优化算法. ...

  7. 【孔雀优化算法】基于孔雀优化算法求解单目标优化问题附matlab代码POA

    1 简介 本文开发了一种新的孔雀 (Pavo muticus/cristatus) 优化算法 (POA),其中包含其在固体氧化物燃料电池 (SOFC) 参数估计中的设计.评估和应用. POA主要复制了 ...

  8. 多旅行商问题:鹈鹕优化算法(Pelican Optimization Algorithm,POA)求解多仓库多旅行商问题(提供Matlab代码)

    一.鹈鹕优化算法 鹈鹕优化算法(Pelican Optimization Algorithm,POA)由Pavel Trojovský和Mohammad Dehghani 于2022年提出,该算法模拟 ...

  9. 多目标优化算法:多目标人工兔优化算法(Multi-Objective Artificial Rabbits Optimization ,MOARO)

    一.人工兔优化算法算法简介 人工兔优化算法(Artificial Rabbits Optimization ,ARO)由Liying Wang等人于2022年提出,该算法模拟了兔子的生存策略,包括绕道 ...

最新文章

  1. Flutter 最佳实践 | 专家直播答疑
  2. android特效开发==纪念
  3. 【算法与数据结构】B-树学习笔记
  4. c# websocketServer
  5. cordova切换到安卓5.1.0,Android SDK not found
  6. 鼠标事件在浏览器的差异
  7. 找到所有数组中消失的数字—leetcode448
  8. [iPhoneアプリ]iEscaper2攻略その6|龍の水晶
  9. linux软件工程师笔试题,C/C++软件工程师笔试题
  10. python 如何定义空字典_python字典中如何添加键值对
  11. 普通小白学会Python到底具体能做什么呢?
  12. (四)Trigger
  13. DTC精彩回顾—黄东旭《TiDB数据驱动的企业智能化转型新方向》丨PPT视频
  14. 像人类一样理解言外之意,阿里AI最新研究成果被国际顶会收录
  15. G代码在运动控制器上的应用
  16. 深度学习实战 第7章循环神经网络笔记
  17. 子列和列_最大子列和
  18. 前端页面缓存系列之localStorage
  19. 又一个吊打百度网盘的开源神器,还是99年妹子开发的
  20. #路由配置以及华为路由协议优先级

热门文章

  1. Frontal Brain Lobe and Its Function额叶及其功能
  2. 关于:在 Windows Server 中的 Printer Server
  3. git cz: Missing script: “test“ To see a list of scripts, run: npm run
  4. Anaconda的安装
  5. 中心极限与大数定理律的关系_中心极限定理(CLT)?2个例子帮你轻松理解CLT...
  6. 手机通用root刷补Magisk教程
  7. Windows下cmd(命令提示符)中的复制粘贴操作
  8. saveOrUpdate Transaction silently rolled back because it has been marked as rollback-only
  9. 机器人实践课程镜像分享及使用说明(Arduino+ROS1+ROS2+Gazebo+SLAM+...)
  10. 修改 oracle 字符 zhs,修改Oracle数据库的字符集(UTF8→ZHS16GBK)