一、理论基础
孔雀优化算法(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.