声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~
目录
原理简介
一、初始化阶段
二、栖息和悬停策略(探索阶段)
三、潜水策略(开发阶段)
四、共生阶段(局部逃逸阶段)
算法伪代码
性能测评
参考文献
完整代码
班翠鸟优化算法(Pied Kingfisher Optimizer, PKO)是一种新型的元启发式算法(智能优化算法),灵感来源于自然界中斑翠鸟独特的狩猎行为和共生关系。作者在39个测试函数和8个工程应用问题上对PKO进行了测试。该成果由Anas Bouaouda等人于2024年5月发表在SCI期刊《Neural Computing and Applications》上!
由于发表时间较短,谷歌学术上仅被引用1次!你先用,你就是创新!
原理简介
灵感:斑翠鸟有一种独特的狩猎策略,包括盘旋,也被称为空中栖息。这种悬停可以让鸟在一个地方停留很长一段时间,而不需要回到附近的栖息之处。它是唯一一种能摆出8字形翅膀的翠鸟,也是世界上最大的不用气流就能悬停的鸟。
斑翠鸟通常在水面上盘旋寻找食物,然后垂直下潜,喙朝前捕捉鱼。它进化出了两种独特的策略,这是其他翠鸟所没有的,这有助于它更成功地捕获猎物。
悬停的能力使它能够在一个地方停留很长一段时间,并为它开辟了新的狩猎区域。当不觅食时,花斑翠鸟有一种独特的栖息模式,帮助它们保存能量。受斑翠鸟栖息、悬停、潜水和共栖行为的启发,进而开发了一种新的元启发式算法。
一、初始化阶段
与许多其他基于种群的方法类似,PKO通过从搜索空间随机生成一组起始解作为第一次尝试来启动搜索过程:
式中,Xi;j表示第i个个体在第j维的位置,rand表示0到1之间的随机值,UB和LB表示搜索范围的上界和下界。
二、栖息和悬停策略(探索阶段)
PKO的探索阶段灵感来自于花斑翠鸟的栖息和悬停行为。在其自然栖息地对斑翠鸟的观察表明,它们根据各种因素,在栖息和悬停位置之间交替进行攻击,如下图所示。在PKO中,搜索种群的位置是根据斑翠鸟的觅食活动来确定的。花斑翠鸟的位置根据以下公式更新:
在迭代过程中,下一次迭代的解用Xi(t+1)表示,当前迭代的位置用Xit表示。参数α计算为2*randn(1,dim),其中randn表示正态分布中的随机数。N表示总体规模,Dim表示所考虑问题的维度。
参数T在我们的方法中起着关键的作用,它的值是根据当前的策略动态确定的,可以是“栖息”或“悬停”,T的计算是针对每种策略量身定制的,以确保在不同的运行模式下的最佳性能。
(1)栖息策略中T参数计算如下:
最大迭代次数由Max_Iter指定。恒定值BF (beat Factor)设置为8,rand是0到1之间的随机值。
(2)悬停策略中T参数计算如下:
第i和第j斑翠鸟的适应度分别用PKO_Fitness(i)和PKO_Fitness(j)表示。此外,一个恒定的值,BF(跳动因子),被设置为8。
三、潜水策略(开发阶段)
斑翠鸟的潜水行为使其成为高效的猎手,这也是该物种在其栖息地如此成功的原因之一。这种鸟快速而准确的潜水能力,加上它锋利的喙和出色的视力,使它成为水生环境中有效的捕食者。下图说明了这种行为,其数学模型表示如下:
其中,第i只斑翠鸟的适应度值记为PKO_Fitness(1),Best_Fitness表示所有迭代得到的最佳适应度值。α是一个控制参数,计算为2*randn(1,dim)-1,o和HA表示狩猎能力,可由以下两个公式计算:
四、共生阶段(局部逃逸阶段)
据记载,斑翠鸟与许多种类的水獭(包括欧亚水獭)有共生关系。这种关系意味着两个物种相互受益,而不会对对方造成伤害。水獭可以捕到更多的鱼,因为鸟有助于把鱼从躲藏的地方吓出来。翠鸟,反过来,通过捕捉被水獭打扰的鱼,从水獭身上获益。在世界其他地区,如东南亚,也观察到这种类型的联系。下图也显示了PKO中共通关系行为的示意图。这种行为在数学上表现如下:
式中,从种群中随机抽取2个个体,其位置用Xm和Xn表示。斑翠鸟的捕食效率用PE表示,其中PEmax和PEmin固定值分别为0.5和0。
算法伪代码
为了使大家更好地理解,这边给出算法的伪代码,非常清晰!
如果实在看不懂,不用担心,可以看下源代码,再结合上文公式理解就一目了然了!
性能测评
原文作者在39个测试函数中进行了严格的评估,包括各种单峰、多峰、复合和混合测试函数。此外,在评估中还考虑了八个现实世界的工程优化问题,包括有约束和无约束的场景。
这边为了方便大家对比与理解,采用23个标准测试函数,即CEC2005,并与2023年新出的霜冰优化算法RIME进行对比!这边展示其中5个测试函数的图,其余十几个测试函数大家可以自行切换尝试!
可以看到,PKO在大部分函数上都超过了2023年新出的RIME算法,表明该算法性能还是较为优越的,大家应用到各类预测、优化问题中是一个不错的选择~
参考文献
[1]Bouaouda A, Hashim F A, Sayouti Y, et al. Pied kingfisher optimizer: a new bio-inspired algorithm for solving numerical optimization and industrial engineering problems[J]. Neural Computing and Applications, 2024: 1-59.
完整代码
如果需要免费获得图中的完整测试代码,只需后台回复关键字:
PKO
也可后台回复个人需求(比如PKO-BiLSTM)定制以下班翠鸟算法优化模型(看到秒回):
1.回归/时序/分类预测类:SVM、RVM、LSSVM、ELM、KELM、HKELM、DELM、RELM、DHKELM、RF、LSTM、BiLSTM、GRU、BiGRU、PNN、CNN、BP、XGBoost、TCN、BiTCN、ESN等等均可~
2.组合预测类:CNN/TCN/BiTCN/DBN/Adaboost结合SVM、RVM、ELM、LSTM、BiLSTM、GRU、BiGRU、Attention机制类等均可(可任意搭配非常新颖)~
3.分解类:EMD、EEMD、VMD、REMD、FEEMD、TVFEMD、CEEMDAN、ICEEMDAN、SVMD、FMD等分解模型均可~
4.其他:机器人路径规划、无人机三维路径规划、DBSCAN聚类、VRPTW路径优化、微电网优化、无线传感器覆盖优化、故障诊断等等均可~
5.原创改进优化算法(适合需要创新的同学):改进2024年的班翠鸟优化算法PKO以及麻雀SSA、蜣螂DBO等任意优化算法均可,保证测试函数效果!
更多免费代码链接:更多免费代码链接