目录
- 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