一、理论基础
1、节点覆盖模型
本文采取0/1覆盖模型,具体描述请参考这里。
2、海洋捕食者算法(MPA)
海洋捕食者算法(Marine Predators Algorithm, MPA)是Afshin Faramarzi等人于2020年提出的一种新型元启发式优化算法,其灵感来源于海洋适者生存理论,即海洋捕食者通过在Lévy游走或布朗游走之间选择最佳觅食策略。MPA优化过程的数学描述如下所示。
(1)初始化阶段
MPA随机在搜索空间范围内初始化猎物位置来启动优化过程。数学描述如下: X 0 = X min + r a n d ( X max − X min ) (1) X_0=X_{\min}+rand(X_{\max}-X_{\min})\tag{1} X0=Xmin+rand(Xmax−Xmin)(1)其中, X max X_{\max} Xmax、 X min X_{\min} Xmin为搜索空间范围; r a n d rand rand为 ( 0 , 1 ) (0,1) (0,1)内的随机数。
(2)MPA优化阶段
在迭代初期,当捕食者速度比猎物速度快时,基于勘探策略的MPA优化过程数学描述如下:
{
s
t
e
p
s
i
z
e
i
=
R
B
⊗
(
E
l
i
t
e
i
−
R
B
⊗
P
r
e
y
i
)
P
r
e
y
i
=
P
r
e
y
i
+
P
⋅
R
⊗
s
t
e
p
s
i
z
e
i
i
=
1
,
2
,
⋯
,
n
;
I
t
e
r
<
1
3
M
a
x
_
I
t
e
r
(2)
\begin{dcases}stepsize_i=R_B\otimes(Elite_i-R_B\otimes Prey_i)\\Prey_i=Prey_i+P\cdot R\otimes stepsize_i\end{dcases}\quad i=1,2,\cdots,n;\newline Iter<\frac13Max\_Iter\tag{2}
{stepsizei=RB⊗(Elitei−RB⊗Preyi)Preyi=Preyi+P⋅R⊗stepsizeii=1,2,⋯,n;Iter<31Max_Iter(2)其中,
s
t
e
p
s
i
z
e
i
stepsize_i
stepsizei为移动步长;
R
B
R_B
RB为呈正态分布的布朗游走随机向量;
E
l
i
t
e
i
Elite_i
Elitei为由顶级捕食者构造的精英矩阵;
P
r
e
y
i
Prey_i
Preyi为与精英矩阵具有相同维数的猎物矩阵;
⊗
\otimes
⊗为逐项乘法运算符;
P
=
0.5
P=0.5
P=0.5;
R
R
R为
[
0
,
1
]
[0,1]
[0,1]内随机数;
n
n
n为种群规模;
I
t
e
r
Iter
Iter、
M
a
x
_
I
t
e
r
Max\_Iter
Max_Iter分别为当前和最大迭代次数。
在迭代中期,当捕食者与猎物速度相同时,猎物基于Lévy游走策略负责开发,捕食者基于布朗游走策略负责勘探,并逐渐由勘探策略转向开发策略。开发和勘探的数学描述如下:
{
s
t
e
p
s
i
z
e
i
=
R
L
⊗
(
E
l
i
t
e
i
−
R
L
⊗
P
r
e
y
i
)
P
r
e
y
i
=
P
r
e
y
i
+
P
⋅
R
⊗
s
t
e
p
s
i
z
e
i
i
=
1
,
2
,
⋯
,
n
/
2
,
1
3
M
a
x
_
I
t
e
r
<
I
t
e
r
<
2
3
M
a
x
_
I
t
e
r
(3)
\begin{dcases}stepsize_i=R_L\otimes(Elite_i-R_L\otimes Prey_i)\\Prey_i=Prey_i+P\cdot R\otimes stepsize_i\end{dcases}\quad i=1,2,\cdots,n/2,\newline \frac13Max\_Iter<Iter<\frac23Max\_Iter\tag{3}
{stepsizei=RL⊗(Elitei−RL⊗Preyi)Preyi=Preyi+P⋅R⊗stepsizeii=1,2,⋯,n/2,31Max_Iter<Iter<32Max_Iter(3)
{
s
t
e
p
s
i
z
e
i
=
R
B
⊗
(
R
B
⊗
E
l
i
t
e
i
−
P
r
e
y
i
)
P
r
e
y
i
=
E
l
i
t
e
i
+
P
⋅
C
F
⊗
s
t
e
p
s
i
z
e
i
i
=
n
/
2
,
⋯
,
n
,
1
3
M
a
x
_
I
t
e
r
<
I
t
e
r
<
2
3
M
a
x
_
I
t
e
r
(4)
\begin{dcases}stepsize_i=R_B\otimes(R_B\otimes Elite_i-Prey_i)\\Prey_i=Elite_i+P\cdot CF\otimes stepsize_i\end{dcases}\quad i=n/2,\cdots,n,\newline \frac13Max\_Iter<Iter<\frac23Max\_Iter\tag{4}
{stepsizei=RB⊗(RB⊗Elitei−Preyi)Preyi=Elitei+P⋅CF⊗stepsizeii=n/2,⋯,n,31Max_Iter<Iter<32Max_Iter(4)其中,
R
L
R_L
RL为呈Lévy分布的随机向量;
C
F
=
(
1
−
I
t
e
r
/
M
a
x
_
I
t
e
r
)
2
⋅
I
t
e
r
/
M
a
x
_
I
t
e
r
CF=(1-Iter/Max\_Iter)^{2\cdot Iter/Max\_Iter}
CF=(1−Iter/Max_Iter)2⋅Iter/Max_Iter,为控制捕食者移动步长的自适应参数;其他参数意义同上。
在迭代末期,当捕食者速度比猎物速度慢时,捕食者基于Lévy游走采用开发策略。其数学描述如下:
{
s
t
e
p
s
i
z
e
i
=
R
L
⊗
(
R
L
⊗
E
l
i
t
e
i
−
P
r
e
y
i
)
P
r
e
y
i
=
E
l
i
t
e
i
+
P
⋅
C
F
⊗
s
t
e
p
s
i
z
e
i
i
=
1
,
2
,
⋯
,
n
;
I
t
e
r
>
2
3
M
a
x
_
I
t
e
r
(5)
\begin{dcases}stepsize_i=R_L\otimes(R_L\otimes Elite_i-Prey_i)\\Prey_i=Elite_i+P\cdot CF\otimes stepsize_i\end{dcases}\quad i=1,2,\cdots,n;\newline Iter>\frac23Max\_Iter\tag{5}
{stepsizei=RL⊗(RL⊗Elitei−Preyi)Preyi=Elitei+P⋅CF⊗stepsizeii=1,2,⋯,n;Iter>32Max_Iter(5)
(3)FADs效应或涡流
鱼类聚集装置(FADs)或涡流效应通常改变海洋捕食者觅食行为,这一策略能使MPA在寻优过程中克服早熟收敛问题,逃离局部极值。其数学描述如下: P r e y i = { P r e y i + C F [ X min + R L ⊗ ( X max − X min ) ] ⊗ U r ≤ F A D s P r e y i + [ F A D s ( 1 − r ) + r ] ( P r e y r 1 − P r e y r 2 ) r > F A D s (6) Prey_i=\begin{dcases}Prey_i+CF[X_{\min}+R_L\otimes(X_{\max}-X_{\min})]\otimes U\quad r≤FADs\\Prey_i+[FADs(1-r)+r](Prey_{r_1}-Prey_{r_2})\quad\,\, r>FADs\end{dcases}\tag{6} Preyi={Preyi+CF[Xmin+RL⊗(Xmax−Xmin)]⊗Ur≤FADsPreyi+[FADs(1−r)+r](Preyr1−Preyr2)r>FADs(6)其中, F A D s FADs FADs为影响概率,取值为0.2; U U U为二进制向量; r r r为 ( 0 , 1 ) (0,1) (0,1)内随机数; r 1 r_1 r1、 r 2 r_2 r2分别为猎物矩阵的随机索引。
二、实验仿真与结果分析
①设监测区域为
50
m
×
50
m
50 m × 50 m
50m×50m的二维平面,传感器节点个数
N
=
35
N = 35
N=35,其感知半径是
R
s
=
5
m
R_s = 5m
Rs=5m,通信半径
R
c
=
10
m
R_c= 10m
Rc=10m,迭代500次。初始部署、MPA优化覆盖、MPA算法覆盖率进化曲线如下图所示。
初始部署和最终部署的节点位置及对应的覆盖率分别为:
初始位置:
24.7373 13.7055
0.058881 11.7064
41.942 32.1556
8.2099 17.3182
37.564 38.68
14.7066 22.4171
40.1364 12.4543
21.2753 28.2654
49.0656 19.1568
39.5687 8.1837
27.6598 34.2822
32.6999 49.2605
19.572 15.4188
14.828 32.8611
32.121 0.88807
2.6718 47.3214
7.8555 49.2099
40.0436 24.6072
36.4144 30.8446
37.3131 20.0479
1.8235 38.1214
6.0622 43.0221
12.4623 8.5673
17.1082 48.8805
6.2788 17.9965
14.1153 24.5805
29.6824 11.5772
21.7062 22.7384
1.7273 25.3387
12.714 16.6932
16.1997 24.477
35.0251 16.8104
24.3421 48.4134
17.5606 1.5886
48.9754 34.342
初始覆盖率:0.67359
最优位置:
46.4596 21.1873
17.6553 21.0848
37.0288 12.4622
24.0926 45.7727
2.6881 8.7909
45.4887 47.0656
9.44 16.281
46.4887 12.4995
44.4734 28.9335
46.2812 38.4196
13.3692 36.3326
3.2307 36.7866
12.4418 26.2799
9.3601 5.8027
17.7094 12.4895
38.3811 42.4029
27.8291 13.2712
8.4915 45.2361
29.4563 4.2465
2.2343 18.4184
3.0547 46.0842
1.6829 21.796
21.513 5.8074
16.5045 45.5406
20.1203 33.7749
26.5779 18.9179
27.9384 37.5149
31.5168 27.7112
36.5279 33.9537
37.4414 22.261
5.6077 29.6187
23.7623 26.62
31.9411 46.8632
39.8492 4.7947
17.4978 0.49062
最优覆盖率:0.89427
②设监测区域为
20
m
×
20
m
20 m × 20 m
20m×20m的二维平面,传感器节点个数
N
=
24
N = 24
N=24,其感知半径是
R
s
=
2.5
m
R_s = 2.5m
Rs=2.5m,通信半径
R
c
=
5
m
R_c= 5m
Rc=5m,迭代500次。初始部署、MPA优化覆盖、MPA算法覆盖率进化曲线如下图所示。
初始部署和最终部署的节点位置及对应的覆盖率分别为:
初始位置:
4.8958 2.0899
19.0971 17.7903
2.0658 4.216
11.2863 19.9283
16.4946 7.3341
13.7373 11.2743
3.266 4.439
2.8592 17.4198
11.8064 12.1719
7.4551 18.1411
19.0169 10.5852
5.4717 14.322
14.1079 15.6622
8.3053 8.8446
6.8208 18.5618
2.6287 15.6383
8.9275 1.7425
16.4805 1.4397
9.5815 18.3412
13.2111 13.4556
13.7611 3.8737
15.1448 7.8587
8.975 4.2918
12.1824 6.1935
初始覆盖率:0.69388
最优位置:
9.3738 0.24967
11.0476 9.3262
18.835 6.806
18.3657 18.2902
2.9913 2.1431
4.7033 14.8355
15.0564 12.003
12.0517 15.2303
6.2301 18.303
1.7241 7.7709
8.686 12.6346
10.2153 18.8345
18.6302 12.9949
15.0897 18.0444
18.7804 2.0799
2.8077 18.7163
5.0234 3.885
2.8102 10.9754
5.9109 8.8157
13.7151 1.3361
9.0943 5.2387
15.347 3.4436
13.7754 7.1316
0.59896 15.2862
最优覆盖率:0.90703
③设监测区域为
100
m
×
100
m
100 m × 100 m
100m×100m的二维平面,传感器节点个数
N
=
35
N = 35
N=35,其感知半径是
R
s
=
10
m
R_s = 10m
Rs=10m,通信半径
R
c
=
20
m
R_c= 20m
Rc=20m,迭代500次。初始部署、MPA优化覆盖、MPA算法覆盖率进化曲线如下图所示。
初始部署和最终部署的节点位置及对应的覆盖率分别为:
初始位置:
71.8776 18.3081
31.8994 65.8207
50.9184 12.6053
87.3872 58.5895
72.7594 61.3586
99.0262 93.3973
76.9139 40.0802
83.0952 99.3536
65.6569 64.0039
62.2916 10.311
74.4373 1.725
93.3322 24.1586
30.2146 13.3452
20.0984 40.6507
11.0423 47.1813
12.2123 11.6563
43.5982 99.7154
88.6954 10.7263
47.9004 41.1806
39.6869 3.654
14.3293 36.0465
68.4559 42.8006
88.5588 0.98891
60.6488 32.9541
29.0277 7.8334
63.7075 27.2632
41.4273 53.4231
28.6349 94.7417
77.1578 28.1699
90.991 6.8718
60.4567 93.7189
28.0129 49.0109
92.1179 38.2678
84.9834 89.9605
48.187 80.3772
初始覆盖率:0.69032
最优位置:
11.8901 76.8779
61.289 74.7173
7.409 44.6603
74.9481 60.3471
3.2601 85.3821
58.6614 55.8378
38.1208 28.0861
78.6432 76.8606
91.1228 9.4182
71.4952 8.0732
15.6244 5.3692
36.6993 13.7599
9.0418 61.1515
23.8938 90.8138
52.3201 3.1254
6.9889 21.1476
26.4265 58.3212
24.0601 71.7294
77.2579 25.5686
93.2457 72.8629
43.2308 48.7645
91.3764 54.0159
91.7426 36.5031
91.4692 91.2112
31.5692 45.5281
56.3967 20.5985
53.364 91.7818
19.4637 34.1764
37.3685 81.6079
71.5646 91.8581
43.4857 67.8274
55.721 36.2256
9.3407 96.9073
73.5405 42.8637
37.9341 99.1277
最优覆盖率:0.90579
实验结果表明,MPA算法实现了较高的网络覆盖率,节点分布更加均匀,覆盖盲区和感知范围重叠区面积更少,可以验证MPA算法的有效性。
三、参考文献
[1] Faramarzi A, Heidarinejad M, Mirjalili S, et al. Marine Predators Algorithm: A Nature-inspired Metaheuristic[J]. Expert Systems with Applications, 2020, 152: 113377.
[2] 胡顺强, 崔东文. 基于海洋捕食者算法优化的长短期记忆神经网络径流预测[J]. 中国农村水利水电, 2021, 0(2): 78-82.