目录
- 1.背景
- 2.算法原理
- 2.1算法思想
- 2.2算法过程
- 3.结果展示
- 4.参考文献
- 5.代码获取
1.背景
2024年,W Zhang受到清道夫自然行为启发,提出了清道夫优化算法(Cleaner Fish Optimization Algorithm, CFO)。
2.算法原理
2.1算法思想
CFO模拟了清道夫在进行“清洁服务”时的移动行为,以及雌鱼变性为雄鱼的行为,并定义了两种位置更新模式。此外,还提出了一种两代循环操作策略来实现优化过程。
2.2算法过程
CFO采用三次混沌映射对算法进行初始化,保持了算法的多样性,提高了算法的全局搜索能力:
r
k
+
1
,
j
=
4
r
k
,
j
3
−
3
r
k
,
j
,
−
1
<
r
1
,
j
<
1
,
r
k
,
j
≠
0
k
=
1
,
2
,
.
.
.
,
N
−
1.
j
=
1
,
2
,
.
.
.
,
d
(1)
\begin{aligned}&r_{k+1,j}=4r_{k,j}^3-3r_{k,j},\quad-1<r_{1,j}<1,\quad r_{k,j}\neq0\\&k=1,2,...,N-1.\quad j=1,2,...,d\end{aligned}\tag{1}
rk+1,j=4rk,j3−3rk,j,−1<r1,j<1,rk,j=0k=1,2,...,N−1.j=1,2,...,d(1)
种群初始化:
X
i
,
j
=
l
b
i
,
j
+
(
u
b
i
,
j
−
l
b
i
,
j
)
⋅
(
r
i
,
j
+
1
2
)
(2)
X_{i,j}=lb_{i,j}+(ub_{i,j}-lb_{i,j})\cdot\left(\frac{r_{i,j}+1}2\right)\tag{2}
Xi,j=lbi,j+(ubi,j−lbi,j)⋅(2ri,j+1)(2)
CFO 提出了两代循环策略:分别是目标追踪和性别转换。一代采用目标追踪更新模式以实现“清洁服务”。而在下一代中,前三分之二的个体采用目标追踪更新模式,其他个体采用性别转换更新模式。
目标追踪
清道夫目标追踪行为:
X
i
,
j
t
+
1
=
X
i
,
j
t
+
V
i
,
j
t
(2)
X_{i,j}^{t+1}=X_{i,j}^t+V_{i,j}^t\tag{2}
Xi,jt+1=Xi,jt+Vi,jt(2)
清道夫速度:
V
i
,
j
t
+
1
=
V
i
,
j
t
+
(
X
i
,
j
t
−
X
b
e
s
t
,
j
)
⋅
f
(3)
V_{i,j}^{t+1}=V_{i,j}^t+(X_{i,j}^t-X_{best,j})\cdot f\tag{3}
Vi,jt+1=Vi,jt+(Xi,jt−Xbest,j)⋅f(3)
f为每个个体对应的频率:
f
=
f
m
i
n
+
(
f
m
a
x
−
f
m
i
n
)
⋅
r
1
(4)
f=f_{min}+(f_{max}-f_{min})\cdot r_1\tag{4}
f=fmin+(fmax−fmin)⋅r1(4)
其中fmin, fmax分别为最小和最大频率。它们分别被设置为0和10。为了增强算法的探索能力,引入了随机行走策略:
X
i
,
j
=
{
X
b
e
s
t
,
j
+
0.1
⋅
r
a
n
d
⋅
α
t
,
i
f
r
2
<
r
X
i
,
j
t
,
o
t
h
e
r
w
i
s
e
(5)
X_{i,j}=\begin{cases}X_{best,j}+0.1\cdot rand\cdot\alpha^{t},&if\quad r_{2}<r\\X_{i,j}^{t},&otherwise&&\end{cases}\tag{5}
Xi,j={Xbest,j+0.1⋅rand⋅αt,Xi,jt,ifr2<rotherwise(5)
参数表述为:
α
t
+
1
=
0.97
×
α
t
(6)
\alpha^{t+1}=0.97\times\alpha^t\tag{6}
αt+1=0.97×αt(6)
α
\alpha
α表示清道夫的清洁能力,也表示随着迭代次数的增加,清道夫的清洁能力下降。r为自适应参数:
r
=
1
−
e
−
γ
⋅
t
(7)
r=1-e^{-\gamma\cdot t}\tag{7}
r=1−e−γ⋅t(7)
性别转换
在鱼类群体中,当雄性死亡时,雌性可能会改变性别,成为新的雄性。基于这种行为,本文提出了性别转换更新模式:
X
i
,
j
t
+
1
=
w
⋅
X
i
,
j
t
+
r
3
⋅
(
X
i
,
j
t
−
X
b
e
s
t
,
j
)
(8)
X_{i,j}^{t+1}=w\cdot X_{i,j}^t+r_3\cdot(X_{i,j}^t-X_{best,j})\tag{8}
Xi,jt+1=w⋅Xi,jt+r3⋅(Xi,jt−Xbest,j)(8)
w为自适应权值,用于平衡探索和开发:
w
=
(
w
m
a
x
−
w
m
i
n
)
e
t
T
+
w
m
i
n
(9)
w=(w_{max}-w_{min})^{e^{\frac tT}}+w_{min}\tag{9}
w=(wmax−wmin)eTt+wmin(9)
鱼类种群行为
清道夫是群居动物,为了表现这种行为,引入了准反射反向学习策略:
X
i
,
j
=
r
4
×
(
X
i
,
j
t
−
u
b
i
,
j
+
l
b
i
,
j
2
)
−
u
b
i
,
j
+
l
b
i
,
j
2
(10)
X_{i,j}=r_{4}\times\left(X_{i,j}^{t}-\frac{ub_{i,j}+lb_{i,j}}{2}\right)-\frac{ub_{i,j}+lb_{i,j}}{2}\tag{10}
Xi,j=r4×(Xi,jt−2ubi,j+lbi,j)−2ubi,j+lbi,j(10)
流程图
伪代码
3.结果展示
4.参考文献
[1] Zhang W, Zhao J, Liu H, et al. Cleaner fish optimization algorithm: a new bio-inspired meta-heuristic optimization algorithm[J]. The Journal of Supercomputing, 2024: 1-39.
5.代码获取
资源清单