灰狼算法(Grey Wolf Optimizer, GWO)最早由Mirijili 等2014年提出,其思想主要来源于灰狼的捕猎行为和社会等级。但中后期存在收敛速度慢和容易陷入局部最优的问题。对此,提出一种基于惯性常数策略的搜索机制,并引入高斯算子来提高种群的多样性。下面介绍这种求解RFID网络规划问题的改进型灰狼算法,实现了在RFID网络规划问题上的应用。
RFID 网络规划问题的数学表述
RFID网络规划的任务是在部署多个RFID系统的同时,兼顾4个目标:覆盖率、负载均衡、信号干扰、发射功率。其目的是在保证百分百覆盖率的情况下,部署尽量少的阅读器,以避免阅读器之间相互干扰,使每个阅读器读取标签的数量比较接近,且使用的功率最少。
1) 覆盖率。RFID网络覆盖率的性能指标,表示为
f
c
=
(
∑
i
=
1
n
C
i
)
/
n
f_c=(\sum_{i=1}^n C_i)/n
fc=(i=1∑nCi)/n
其中
C
i
C_i
Ci 表示第
i
i
i个标签是否被覆盖。当没有一个阅读器读取
i
i
i标签的信息时,
C
i
=
0
C_i=0
Ci=0,否则
C
i
=
1
C_i=1
Ci=1。
2) 负载均衡。 RFID的负载均衡,其表达式为
f
L
=
∏
k
=
1
m
1
/
(
C
k
+
1
)
f_L = \prod_{k=1}^m1/(C_k + 1)
fL=k=1∏m1/(Ck+1)
其中
C
k
C_k
Ck表示第
k
k
k个阅读器读取标签的数目,应尽量使每个阅读器读取的标签数量接近。
3) 阅读器碰撞干扰之和。
当阅读器
i
i
i与
j
j
j 相离时,即,
(
r
i
+
r
j
)
<
d
i
s
t
(
R
i
,
R
j
)
(r_i + r_j)<dist(R_i,R_j)
(ri+rj)<dist(Ri,Rj)时,
I
i
j
=
0
I_{ij}=0
Iij=0。
当阅读器i与阅读器j 相交时,即,
m
a
x
(
r
i
,
r
j
)
<
D
i
s
k
(
R
i
,
R
j
)
<
(
r
i
+
r
j
)
max(r_i,r_j)<Disk(R_i,R_j )<(r_i+r_j )
max(ri,rj)<Disk(Ri,Rj)<(ri+rj) 时。
I
i
j
=
(
(
r
i
+
r
j
)
−
D
i
s
k
(
R
i
,
R
j
)
)
/
2
I_{ij}=((r_i+r_j )-Disk(R_i,R_j ))/2
Iij=((ri+rj)−Disk(Ri,Rj))/2
当阅读器i与阅读器j 部分包含(小圆圆心在大圆内部,但大圆没有全部包含小圆)时,即
∣
r
i
−
r
j
∣
<
D
i
s
k
(
R
i
,
R
j
)
<
m
a
x
(
r
i
,
r
j
)
|r_i-r_j |<Disk(R_i,R_j )<max(r_i,r_j)
∣ri−rj∣<Disk(Ri,Rj)<max(ri,rj)。
I
i
j
=
(
(
r
i
+
r
j
)
−
D
i
s
k
(
R
i
,
R
j
)
)
I_{ij}=((r_i+r_j )-Disk(R_i,R_j ))
Iij=((ri+rj)−Disk(Ri,Rj))
当阅读器i与阅读器j 全包含时,即
D
i
s
k
(
R
i
,
R
j
)
<
∣
r
i
−
r
j
∣
Disk(R_i,R_j )<|r_i-r_j |
Disk(Ri,Rj)<∣ri−rj∣。
I
i
j
=
2
∗
m
i
n
(
r
i
,
r
j
)
I_{ij}=2*min(r_i,r_j)
Iij=2∗min(ri,rj)
f
I
=
∑
i
=
1
m
−
1
∑
j
=
i
+
1
m
I
i
j
f_I = \sum_{i=1}^{m-1}\sum_{j=i+1}^mI_{ij}
fI=i=1∑m−1j=i+1∑mIij
其中,
r
i
r_i
ri为阅读器
i
i
i 的干扰范围,
r
j
r_j
rj为阅读器
j
j
j 的干扰范围;
d
i
s
k
(
R
i
,
R
j
)
disk(R_i,R_j )
disk(Ri,Rj)阅读器
i
i
i和阅读器
j
j
j 的距离。
4) 发射功率。表达式为
f
T
=
∑
i
=
1
m
P
i
f_T = \sum_{i=1}^mP_i
fT=i=1∑mPi
其中,
P
r
P_r
Pr表示第
r
r
r个阅读器的传输功率。
为了达到优化部署的目的,RFID的整体最优解由上述4个目标函数的线性组合来表示。
F
C
=
−
f
C
+
1
∈
[
0
,
1
]
F_C= -f_C+1∈[0,1]
FC=−fC+1∈[0,1]
F
L
=
f
L
∈
[
0
,
1
]
F_L= f_L∈[0,1]
FL=fL∈[0,1]
F
I
=
f
I
/
(
m
2
r
)
∈
[
0
,
1
]
F_I= f_I/(m^2 r)∈[0,1]
FI=fI/(m2r)∈[0,1]
F
T
=
f
T
/
m
P
=
1
F_T=f_T/mP=1
FT=fT/mP=1
m
i
n
F
=
w
1
F
C
+
w
2
F
L
+
w
3
F
I
+
w
4
min\ F= w_1 F_C+ w_2 F_L+ w_3 F_I+w_4
min F=w1FC+w2FL+w3FI+w4
改进型灰狼算法的算法描述
改进型灰狼捕获猎物的行为可以分为搜索猎物、包围猎物和攻击猎物3个阶段。
1)惯性常数策略
将灰狼个体分布到整个搜索区域中,采取的是随机分布的方式;捕食行为时,采取的是惯性搜索策略搜索猎物。相关数学表达式如下:
D
=
∣
C
⋅
X
p
(
t
)
−
m
e
a
n
⋅
X
(
t
)
∣
D=|C\cdot X_p(t)-mean\cdot X(t)|
D=∣C⋅Xp(t)−mean⋅X(t)∣
X
(
t
+
1
)
=
X
p
(
t
)
−
A
⋅
D
X(t+1) = X_p(t) -A\cdot D
X(t+1)=Xp(t)−A⋅D
其中
t
+
1
t+1
t+1表示下一次迭代;
X
X
X代表狼的位置;
X
p
X_p
Xp代表猎物的位置;A和D是系数向量,采用以下方程进行建模:
A
=
2
⋅
L
⋅
r
1
A = 2\cdot L \cdot r_1
A=2⋅L⋅r1
C
=
2
⋅
λ
⋅
r
2
C=2\cdot\lambda\cdot r_2
C=2⋅λ⋅r2
λ
=
(
(
λ
m
a
x
−
1
)
×
(
λ
m
a
x
−
λ
m
i
n
)
m
a
x
i
t
e
r
)
\lambda=(\frac{(\lambda_{max}-1)\times(\lambda_{max}-\lambda_{min})}{max_{iter}})
λ=(maxiter(λmax−1)×(λmax−λmin))
其中,
r
1
r_1
r1和
r
2
r_2
r2是[0,1]中的随机数。
λ
m
a
x
\lambda_{max}
λmax和
λ
m
i
n
\lambda_{min}
λmin分表表示控制距离参数的最大值和最小值。惯性常数
λ
\lambda
λ服从线性递减规律,影响灰狼群体的开发和探索能力。
当灰狼知道猎物的位置时,
α
\alpha
α狼、
β
\beta
β狼和
δ
\delta
δ狼带领群狼包围猎物。因此根据最好解、次优解和次次优解组成的关键指挥组,存储最好的3种解决方案,引导更新每一个狼在小组中的位置。位置更新方程如下:
D
α
=
∣
C
1
⋅
X
α
−
X
(
t
)
∣
D_{\alpha}=|C_1\cdot X_{\alpha}-X(t)|
Dα=∣C1⋅Xα−X(t)∣
D
β
=
∣
C
2
⋅
X
β
−
X
(
t
)
∣
D_{\beta}=|C_2\cdot X_{\beta}-X(t)|
Dβ=∣C2⋅Xβ−X(t)∣
D
δ
=
∣
C
3
⋅
X
δ
−
X
(
t
)
∣
D_{\delta}=|C_3\cdot X_{\delta}-X(t)|
Dδ=∣C3⋅Xδ−X(t)∣
X
1
=
X
α
−
A
1
⋅
D
α
X_1 = X_{\alpha} - A_1 \cdot D_{\alpha}
X1=Xα−A1⋅Dα
X
2
=
X
β
−
A
2
⋅
D
β
X_2 = X_{\beta} - A_2 \cdot D_{\beta}
X2=Xβ−A2⋅Dβ
X
3
=
X
δ
−
A
3
⋅
D
δ
X_3 = X_{\delta} - A_3 \cdot D_{\delta}
X3=Xδ−A3⋅Dδ
2) 高斯算子变异
灰狼通常在猎物停止移动时对其进行进攻。在迭代更新过程中,当一部分灰狼在局部最优极值点出现较严重的聚集时,对其他等级的灰狼的状态进行高斯变异,避免陷入局部最优解。高斯变异是在原有个体的状态基础上加上服从高斯分布的随机向量,其定义如下:
X
(
t
)
=
X
(
t
)
×
[
1
+
k
×
N
(
0
,
1
)
]
X(t)=X(t)\times[1+k\times N(0,1)]
X(t)=X(t)×[1+k×N(0,1)]
其中,
X
(
t
)
X(t)
X(t)是第
i
i
i只狼在
t
t
t次迭代时的位置,
k
k
k是从1到0之间递减的变量,
N
(
0
,
1
)
N(0,1)
N(0,1)是服从均值为0,方差为1的高斯分布的变量。
RFID 网络规划
实质上,RFID网络规划问题就是一个多目标的组合优化问题。其中,阅读器的规划问题成了大规模应用必须考虑的首要问题;充分有效地利用每一个阅读器的覆盖能力,合理地规划每个阅读器的位置,适当调整阅读器的参数,不仅能够有效地获取所需要的信息,还能够减少阅读器之间的干扰,产生较高的经济效益,并且提高整体性能。IGWO算法的流程如下图所示。
MATLAB 仿真与结果
具体MATLAB实现 参见 IGWO
GWO算法与IGWO算法在标签位置相同时,得到的阅读器位置及覆盖信息如下图所示;
各指标随迭代次数的变化
IGWO各指标随迭代次数的变化
GWO各指标随迭代次数的变化