目录
- 1.背景
- 2.算法原理
- 2.1算法思想
- 2.2算法过程
- 3.结果展示
- 4.参考文献
- 5.代码获取
1.背景
2024年,A Bouaouda受到自然界中花斑翠鸟社会行为启发,提出了花斑翠鸟优化算法(Pied Kingfisher Optimizer, PKO)。
2.算法原理
2.1算法思想
PKO的灵感来自于自然界中斑翠鸟的狩猎行为和共生关系,其包括三个阶段:栖息和悬停,潜水策略,共生阶段。
2.2算法过程
栖息和悬停策略
PKO的探索阶段灵感来自于花斑翠鸟的栖息和悬停行为,位置更新:
X i ( t + l ) = X i ( t ) + α ∗ T × ( X j ( t ) − X i ( t ) ) (1) X_i(\mathfrak{t}+\mathfrak{l})=X_i(\mathfrak{t})+\alpha*T\times(X_j(\mathfrak{t})-X_i(\mathfrak{t}))\tag{1} Xi(t+l)=Xi(t)+α∗T×(Xj(t)−Xi(t))(1)
栖息时参数T表述为:
T = ( exp ( 1 ) − exp ( t − 1 Max_Iter ) 1 BF ) ∗ cos ( Crest_angles ) (2) T=\left(\exp(1)-\exp\biggl(\frac{t-1}{\textit{Max\_Iter}}\biggr)^{\frac{1}{\text{BF}}}\biggr)*\cos(\textit{Crest\_angles})\right. \tag{2} T=(exp(1)−exp(Max_Itert−1)BF1)∗cos(Crest_angles)(2)
C r e s t _ a n g l e s = 2 ∗ p i ∗ r a n d (3) Crest \_angles = 2*pi* rand\tag{3} Crest_angles=2∗pi∗rand(3)
悬停时参数T表述为:
T = b e a t i n g _ r a t e ∗ ( t 1 B F M a x _ I t e r 1 B F ) (4) T=beating\_rate*\left(\frac{t^{\frac{1}{BF}}}{Max\_Iter^{\frac{1}{BF}}}\right)\tag{4} T=beating_rate∗(Max_IterBF1tBF1)(4)
b e a t i n g _ r a t e = r a n d ∗ ( P K O _ F i t n e s s ( j ) P K O _ F i t n e s s ( i ) ) (5) beating\_rate=rand*\left(\frac{PKO\_Fitness(j)}{PKO\_Fitness(i)}\right)\tag{5} beating_rate=rand∗(PKO_Fitness(i)PKO_Fitness(j))(5)
潜水策略
斑翠鸟以其潜水行为而闻名,它用这种行为来捕鱼:
X i ( t + 1 ) = X i ( t ) + H A ∗ o ∗ α ∗ ( b − X b e s t ( t ) ) , i = 1 , 2 , … , N (6) \begin{gathered}X_i(\mathfrak{t}+1)=X_i(\mathfrak{t})+HA*o*\alpha*(b-X_{best}(\mathfrak{t})),\quad i=1,2,\ldots,N\end{gathered}\tag{6} Xi(t+1)=Xi(t)+HA∗o∗α∗(b−Xbest(t)),i=1,2,…,N(6)
参数表述为:
H A = r a n d ∗ ( P K O _ F i t n e s s ( i ) B e s t _ F i t n e s s ) o = exp ( − t M a x _ I t e r ) 2 b = X i ( t ) + o 2 ∗ r a n d n ∗ X b e s t ( t ) (7) \begin{aligned} &HA=rand*\left(\frac{PKO\_Fitness(i)}{Best\_Fitness}\right) \\ &o=\exp\left(\frac{-t}{Max\_Iter}\right)^{2} \\ &b=X_{i}(\mathrm{t})+o^{2}*randn*X_{best}(\mathrm{t}) \end{aligned}\tag{7} HA=rand∗(Best_FitnessPKO_Fitness(i))o=exp(Max_Iter−t)2b=Xi(t)+o2∗randn∗Xbest(t)(7)
共生阶段
斑翠鸟的捕食效率会受到多种因素的影响,比如猎物的可用性、单个鸟的捕猎技巧以及该地区竞争对手或捕食者的存在。
X i ( t + 1 ) = { X m ( t ) + o ∗ α ∗ a b s ( X i ( t ) − X n ( t ) ) i f r a n d > ( 1 − P E ) X i ( t ) o t h e r w i s e (8) \left.X_i(\mathbf{t}+1)=\left\{\begin{matrix}X_m(\mathbf{t})+o*\alpha*abs(X_i(\mathbf{t})-X_n(\mathbf{t}))&if\quad rand>(1-PE)\\X_i(\mathbf{t})&otherwise\end{matrix}\right.\right.\tag{8} Xi(t+1)={Xm(t)+o∗α∗abs(Xi(t)−Xn(t))Xi(t)ifrand>(1−PE)otherwise(8)
伪代码
3.结果展示
4.参考文献
[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.
5.代码获取
免费获取花斑翠鸟优化算法(PKO)
智能算法,论文复现,算法应用(机器学习、二维&三维路径规划、UAV路径规划、布局优化、调度优化、VRP问题等),定制算法可以联系我~
资源清单:https://docs.qq.com/sheet/DU1V0QWtSeHJnY0JU?u=989d90f9b14449ec9419aa7b51473c1b&tab=BB08J2