基于海洋捕食者算法的无线传感器网络覆盖优化

一、理论基础

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(XmaxXmin)(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(EliteiRBPreyi)Preyi=Preyi+PRstepsizeii=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(EliteiRLPreyi)Preyi=Preyi+PRstepsizeii=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(RBEliteiPreyi)Preyi=Elitei+PCFstepsizeii=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=(1Iter/Max_Iter)2Iter/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(RLEliteiPreyi)Preyi=Elitei+PCFstepsizeii=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(XmaxXmin)]UrFADsPreyi+[FADs(1r)+r](Preyr1Preyr2)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.

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
### 回答1: 海洋捕食算法是一种基于自然选择中的捕食行为的优化算法,该算法模拟了自然界中海洋捕食者和被捕食者之间的进化竞争过程和群体智能协作机制。这种算法通常应用于求解多目标优化问题和复杂的非线性优化问题,能够快速找到最优解或者接近最优解的解决方案。 基于MATLAB平台的海洋捕食算法的实现,通常包括以下几个步骤:首先,定义问题的目标函数并确定优化问题的约束条件。然后,设计合适的初始值和超参数进行参数初始化。接着,构建捕食者群和被捕食者群,进行种群初始化。在进行迭代优化过程中,每一次迭代时捕食者采用算术交叉和变异操作来更新个体位置,被捕食者则采用簇操作来保持群体的多样性。根据更新后的个体位置,重新更新目标函数值并比较各个个体的适应度,确定新的捕食者和被捕食者个体,然后重复进行迭代过程,直到满足收敛准则或者达到最大迭代次数为止。 海洋捕食算法具有计算效率高、全局搜索能力强、易于实现等优点,因此被广泛地应用于解决各种复杂的优化问题,特别适用于搜索范围比较大、局部极值多的优化问题。 ### 回答2: 海洋捕食算法(Marine Predators Algorithm,简称MPA)是一种仿生优化算法,其目的是解决复杂的优化问题。该算法的灵感来源于海洋生物中的捕食者行为。MPA 将优化问题看作是一群捕食者在海洋中寻找猎物的过程,其中捕食者代表搜索者,而猎物代表优化问题中的最优解。算法过程中,捕食者会遵循一定的策略,如寻找和追踪猎物,以及适当地探索和利用环境信息等,来寻找最优解。 算法的实现中,将搜索空间看作是海洋,将目标函数值看作是捕食者在海洋中的位置。通过仿真捕食者与猎物之间的交互,不断地更新捕食者的位置和状态,达到优化目标的最佳解。 该算法优化解决方案中具有一定优势,如良好的搜索效率、高度自适应和能够处理复杂的非线性问题等。同时,该算法也有一些局限性,如在大规模问题中容易出现陷入局部最优等问题。 MATLAB 是一种科学计算软件,其拥有丰富的数学库和算法库,对海洋捕食算法的实现提供了良好的支持。利用MATLAB语言实现MPA 算法,可以更加灵活和高效地完成算法的相关操作。在实际应用中,通过修改捕食者的运动规则、适应度函数等参数,可以实现不同场景下的优化问题的求解。 ### 回答3: 海洋捕食算法是一种模拟海洋生态系统中捕食者和被捕食者之间竞争和适应的算法,可以应用于优化问题的求解。 该算法使用一个群体搜寻的方法,在每次迭代中,通过对群体中每个个体的位置和适应度进行更新和调整,最终得到最优解。 在该算法中,捕食者和被捕食者的角色由不同的种群扮演,它们通过复杂的捕食关系进行交互,在模拟生态系统中的自然选择和适应性进化机制。 使用Matlab实现海洋捕食算法时,需要进行两个主要的步骤:种群初始化和迭代搜索。在种群初始化中,可以随机生成一些初始捕食者和被捕食者。在迭代搜索中,通过不断地更新个体位置和适应度函数,来确定每个个体的适应性大小,从而让优秀的个体被保留,不好的个体被淘汰。 总的来说,海洋捕食算法是一种有效的解决优化问题的算法,它通过模拟生态系统中复杂的捕食关系,实现了较好的优化效果。在Matlab中的实现也相对简单,可以通过一些编程技巧和常用的函数库来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心️升明月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值