一、理论基础
1、WSN节点覆盖模型
请参考这里。
2、基本蚁狮算法
蚁狮优化算法 ALO(Ant Lion Optimizer)是一种新的群体智能优化算法, 由澳大利亚学者Seyedali于2015年提出。由于其初始参数少和收敛精度高的优点,已被广泛应用于WSN数据收集等多种工程领域。
ALO算法原理源于自然界中蚁狮猎食蚂蚁行为的启发,描述如下:
随机初始化种群位置,计算适应度值,并采用轮盘赌方法选择蚁狮修筑陷阱。蚂蚁在搜索空间内随机游走,定义为
X
i
=
[
0
,
c
u
m
s
u
m
[
2
r
(
1
)
−
1
]
,
⋯
,
c
u
m
s
u
m
[
2
r
(
t
)
−
1
]
,
⋯
,
c
u
m
s
u
m
[
2
r
(
T
)
−
1
]
]
(1)
X_i=[0,cumsum[2r(1)-1],\cdots,cumsum[2r(t)-1],\cdots,cumsum[2r(T)-1]]\tag{1}
Xi=[0,cumsum[2r(1)−1],⋯,cumsum[2r(t)−1],⋯,cumsum[2r(T)−1]](1)其中,
c
u
m
s
u
m
cumsum
cumsum为位置累积;
t
t
t为当前迭代次数;
T
T
T为最大迭代次数;
r
(
t
)
r(t)
r(t)为随机数0或1,定义为
r
(
t
)
=
{
0
i
f
m
≤
0.5
1
i
f
m
>
0.5
(2)
r(t)=\begin{dcases}0\quad if \, m≤0.5\\1\quad if\,m>0.5\end{dcases}\tag{2}
r(t)={0ifm≤0.51ifm>0.5(2)其中,
m
m
m为
[
0
,
1
]
[0,1]
[0,1]之间的随机数。
同时,为了使蚂蚁的随机游走保持在搜索空间内,对其位置进行归一化处理,定义为
X
i
t
=
(
X
i
t
−
a
i
)
(
d
i
t
−
c
i
t
)
b
i
−
a
i
+
c
i
t
(3)
X_i^t=\frac{(X_i^t-a_i)(d_i^t-c_i^t)}{b_i-a_i}+c_i^t\tag{3}
Xit=bi−ai(Xit−ai)(dit−cit)+cit(3)其中,
b
i
b_i
bi和
a
i
a_i
ai分别为第
i
i
i个变量的上界和下界;
d
i
t
d_i^t
dit和
c
i
t
c_i^t
cit分别为第
t
t
t代时第
i
i
i个变量的上界和下界。
轮盘赌选择的蚁狮位置影响着蚂蚁的游走边界,定义为
{
c
i
t
=
A
n
t
l
i
o
n
j
t
+
c
i
t
d
i
t
=
A
n
t
l
i
o
n
j
t
+
d
i
t
(4)
\begin{dcases}c_i^t=Antlion_j^t+c_i^t\\d_i^t=Antlion_j^t+d_i^t\end{dcases}\tag{4}
{cit=Antlionjt+citdit=Antlionjt+dit(4)其中,
d
t
d^t
dt和
c
t
c^t
ct分别为所有变量在第
t
t
t代时的上界和下界;
A
n
t
l
i
o
n
j
t
Antlion_j^t
Antlionjt为第
t
t
t代第
j
j
j只蚁狮的位置。
当蚂蚁围绕陷阱随机游走时,蚁狮会继续深挖以防蚂蚁逃出,使蚂蚁游走边界逐渐缩小直至滑落陷阱底部,该过程定义为
c
t
=
c
t
T
(5)
c^t=\frac{c^t}{T}\tag{5}
ct=Tct(5)
d
t
=
d
t
T
(6)
d^t=\frac{d^t}{T}\tag{6}
dt=Tdt(6)其中,
I
I
I为边界收缩因子,定义为
I
=
1
0
w
T
{
w
=
2
t
>
0.1
T
w
=
3
t
>
0.5
T
w
=
4
t
>
0.75
T
w
=
5
t
>
0.9
T
w
=
6
t
>
0.95
T
(7)
I=10^wT\begin{dcases}w=2\quad t>0.1T\\w=3\quad t>0.5T\\w=4\quad t>0.75T\\w=5\quad t>0.9T\\w=6\quad t>0.95T\end{dcases}\tag{7}
I=10wT⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧w=2t>0.1Tw=3t>0.5Tw=4t>0.75Tw=5t>0.9Tw=6t>0.95T(7)其中,
w
w
w为由
t
t
t和
T
T
T共同决定的常数。
蚂蚁滑落到陷阱底部被蚁狮捕捉,若种群中包含适应度高于蚁狮的个体,则该个体将作为新蚁狮重筑陷阱,定义为
A
n
t
l
i
o
n
j
=
A
n
t
i
t
i
f
f
(
A
n
t
i
)
>
f
(
A
n
t
l
i
o
n
j
)
(8)
Antlion_j=Ant_i^t\quad if\,f(Ant_i)>f(Antlion_j)\tag{8}
Antlionj=Antitiff(Anti)>f(Antlionj)(8)其中,
A
n
t
j
t
Ant_j^t
Antjt为第
t
t
t代第
j
j
j只蚂蚁的位置;
f
f
f为适应度函数。
选择当代最优蚁狮作为精英蚁狮,同轮盘赌选择蚁狮一起引导蚂蚁的位置更新,定义为
A
n
t
i
t
=
R
A
t
+
R
E
t
2
(9)
Ant_i^t=\frac{R_A^t+R_E^t}{2}\tag{9}
Antit=2RAt+REt(9)其中,
R
A
t
R_A^t
RAt为第
t
t
t代绕轮盘赌选择蚁狮的蚂蚁随机游走;
R
E
t
R_E^t
REt为第
t
t
t代绕精英蚁狮的蚂蚁随机游走。
二、仿真实验与分析
- 在区域面积
S
=
20
×
20
m
S=20×20m
S=20×20m,节点数
V
=
24
V=24
V=24,感知半径
R
s
=
2.5
m
R_s=2.5m
Rs=2.5m,通信半径
R
c
=
5
m
R_c=5m
Rc=5m,感知误差半径
R
e
=
0.05
m
R_e=0.05m
Re=0.05m,迭代300次下的仿真:
- 在区域面积
S
=
50
×
50
m
S=50×50m
S=50×50m,节点数
V
=
35
V=35
V=35,感知半径
R
s
=
5
m
R_s=5m
Rs=5m,通信半径
R
c
=
10
m
R_c=10m
Rc=10m,感知误差半径
R
e
=
0.1
m
R_e=0.1m
Re=0.1m,迭代300次下的仿真:
- 在区域面积
S
=
100
×
100
m
S=100×100m
S=100×100m,节点数
V
=
80
V=80
V=80,感知半径
R
s
=
7
m
R_s=7m
Rs=7m,通信半径
R
c
=
14
m
R_c=14m
Rc=14m,感知误差半径
R
e
=
1
m
R_e=1m
Re=1m,迭代300次下的仿真:
三、参考文献
[1] Seyedali Mirjalili. The Ant Lion Optimizer[J]. Advances in Engineering Software, 2015, 83: 80-98.
[2] 徐钦帅, 何庆, 魏康园. 改进蚁狮算法的无线传感器网络覆盖优化[J]. 传感技术学报, 2019, 32(2): 266-275.
[3] W. Liu, S. Yang, S. Sun, et al. A Node Deployment Optimization Method of WSN Based on Ant-Lion Optimization Algorithm[C]. 2018 IEEE 4th International Symposium on Wireless Systems within the International Conferences on Intelligent Data Acquisition and Advanced Computing Systems (IDAACS-SWS), 2018, pp. 88-92.