目录
- 1.背景
- 2.算法原理
- 2.1算法思想
- 2.2算法过程
- 3.结果展示
- 4.参考文献
- 5.代码获取
1.背景
2023年,M Abdel-Basset受到蜘蛛黄蜂优化社会行为启发,提出了蜘蛛黄蜂优化算法(Spider Wasp Optimizer, SWO)。
2.算法原理
2.1算法思想
SWO模拟自然中雌性蜘蛛黄蜂的狩猎、筑巢和交配行为。
2.2算法过程
捕猎和筑巢行为
雌性蜘蛛黄蜂开始他们的旅程,寻找猎物喂养他们的幼虫。它们在搜索空间内随机进行搜索,寻找最合适的猎物,这被称为探索阶段。雌性黄蜂以恒定的步长随机探索搜索空间:
S
W
‾
i
t
+
1
=
S
W
‾
i
t
+
μ
1
∗
(
S
W
‾
a
t
−
S
W
‾
b
t
)
(1)
\overline{SW}_i^{t+1}=\overline{SW}_i^t+\mu_1*\left(\overline{SW}_a^t-\overline{SW}_b^t\right)\tag{1}
SWit+1=SWit+μ1∗(SWat−SWbt)(1)
其中,a和b是从种群中随机选取的两个指标来确定探索方向。参数表述为:
μ
1
=
∣
r
n
∣
∗
r
1
(2)
\mu_1=|rn|*r_1\tag{2}
μ1=∣rn∣∗r1(2)
雌黄蜂有时会找不到从球上掉下来的蜘蛛;因此,他们搜索了蜘蛛掉落的确切地点周围的整个区域:
S
W
‾
i
t
+
1
=
S
W
‾
c
t
+
μ
2
∗
(
L
⃗
+
r
2
⃗
∗
(
H
⃗
−
L
⃗
)
)
(3)
\overline{SW}_{i}^{t+1}=\overline{SW}_{c}^{t}+\mu_{2}*\left(\vec{L}+\vec{r_{2}}*\left(\vec{H}-\vec{L}\right)\right)\tag{3}
SWit+1=SWct+μ2∗(L+r2∗(H−L))(3)
各参数:
μ
2
=
B
∗
cos
(
2
π
l
)
B
=
1
1
+
e
l
(4)
\mu_2=B*\cos(2\pi l)\\ B=\frac{1}{1+e^l}\tag{4}
μ2=B∗cos(2πl)B=1+el1(4)
跟随和逃离阶段
找到猎物后,蜘蛛黄蜂试图攻击他们在网络的中心:
S
W
‾
i
t
+
1
=
S
W
‾
i
t
+
C
∗
∣
2
∗
r
5
‾
∗
S
W
‾
a
t
−
S
W
‾
i
t
∣
C
=
(
2
−
2
∗
(
t
t
m
a
x
)
)
∗
r
6
(5)
\overline{SW}_{i}^{t+1}=\overline{SW}_{i}^{t}+C*\left|2*\overline{r_{5}}*\overline{SW}_{a}^{t}-\overline{SW}_{i}^{t}\right|\\C=\left(2-2*\left(\frac{t}{t_{max}}\right)\right)*r_{6}\tag{5}
SWit+1=SWit+C∗
2∗r5∗SWat−SWit
C=(2−2∗(tmaxt))∗r6(5)
当蜘蛛逃离雌黄蜂时,雌黄蜂和蜘蛛之间的距离逐渐增加:
S
W
‾
i
t
+
1
=
S
W
‾
i
t
∗
ν
c
‾
(6)
\overline{SW}_i^{t+1}=\overline{SW}_i^t*\overline{\nu c}\tag{6}
SWit+1=SWit∗νc(6)
其中,vc是根据正态分布在k和- k之间生成的向量。逐渐增大雌蜂与蜘蛛之间的距离:
k
=
1
−
(
t
t
m
a
x
)
(7)
k=1-\left(\frac{t}{t_{max}}\right)\tag{7}
k=1−(tmaxt)(7)
筑巢行为
雌性黄蜂将瘫痪的蜘蛛拉入预先准备好的巢穴:
S
W
‾
i
t
+
1
=
S
W
‾
∗
+
cos
(
2
π
l
)
∗
(
S
W
‾
∗
−
S
W
‾
i
t
)
(8)
\overline{SW}_{i}^{t+1}=\overline{SW}^{*}+\cos(2\pi l)*\left(\overline{SW}^{*}-\overline{SW}_{i}^{t}\right)\tag{8}
SWit+1=SW∗+cos(2πl)∗(SW∗−SWit)(8)
从种群中随机选择的雌性蜘蛛的位置上建造巢穴,使用额外的步长来避免在同一位置上建造两个巢穴:
S
W
‾
i
t
+
1
=
S
W
‾
a
t
+
r
3
∗
∣
γ
∣
∗
(
S
W
‾
a
t
−
S
W
‾
i
t
)
+
(
1
−
r
3
)
∗
U
→
∗
(
S
W
‾
b
t
−
S
W
‾
c
t
)
(9)
\overline{SW}_{i}^{t+1}=\overline{SW}_{a}^{t}+\mathrm{r}_{3}*|\gamma|*\left(\overline{SW}_{a}^{t}-\overline{SW}_{i}^{t}\right)+\left(1-r_{3}\right)*\overrightarrow{U}*\left(\overline{SW}_{b}^{t}-\overline{SW}_{c}^{t}\right)\tag{9}
SWit+1=SWat+r3∗∣γ∣∗(SWat−SWit)+(1−r3)∗U∗(SWbt−SWct)(9)
交配行为
蜘蛛黄蜂的一个主要特征是它们能够确定性别,性别是根据卵所在的寄主的大小来决定的:
S
W
i
t
+
1
=
C
r
o
s
s
o
v
e
r
(
S
W
i
t
,
S
W
m
t
,
C
R
)
(10)
SW_i^{t+1}=Crossover\big(SW_i^t,SW_m^t,CR\big)\tag{10}
SWit+1=Crossover(SWit,SWmt,CR)(10)
其中Crossover表示均匀交叉算子,生成与雌性不同的雄性蜘蛛黄蜂:
S
W
‾
m
t
+
1
=
S
W
‾
i
t
+
e
l
∗
∣
β
∣
∗
ν
‾
1
+
(
1
−
e
l
)
∗
∣
β
1
∣
∗
ν
‾
2
(11)
\overline{SW}_{m}^{t+1}=\overline{SW}_{i}^{t}+e^{l}*|\beta|*\overline{\nu}_{1}+\left(1-e^{l}\right)*|\beta_{1}|*\overline{\nu}_{2}\tag{11}
SWmt+1=SWit+el∗∣β∣∗ν1+(1−el)∗∣β1∣∗ν2(11)
各参数表述为:
v
⃗
1
=
{
x
⃗
a
−
x
⃗
i
f
(
x
⃗
a
)
<
f
(
x
⃗
i
)
x
⃗
i
−
x
⃗
a
o
t
h
e
r
w
i
s
e
v
⃗
2
=
{
x
⃗
b
−
x
⃗
c
f
(
x
⃗
b
)
<
f
(
x
⃗
c
)
x
⃗
c
−
x
⃗
b
o
t
h
e
r
w
i
s
e
(12)
\vec{v}_{1}=\left\{\begin{array}{c}\vec{x}_a-\vec{x}_if\big(\vec{x}_a\big)<f(\vec{x}_i)\\\vec{x}_i-\vec{x}_a otherwise\end{array}\right.\\\\\vec{v}_{2}=\left\{\begin{array}{c}\vec{x}_b-\vec{x}_cf\big(\vec{x}_b\big)<f(\vec{x}_c)\\\vec{x}_c-\vec{x}_b otherwise\end{array}\right.\tag{12}
v1={xa−xif(xa)<f(xi)xi−xaotherwisev2={xb−xcf(xb)<f(xc)xc−xbotherwise(12)
伪代码
3.结果展示
4.参考文献
[1] Abdel-Basset M, Mohamed R, Jameel M, et al. Spider wasp optimizer: a novel meta-heuristic optimization algorithm[J]. Artificial Intelligence Review, 2023, 56(10): 11675-11738.
5.代码获取
【资源清单】代码资源清单导航~