i
c_i
P
i
P{c_i}
Pci即为像素点
(
x
,
y
)
(x,y)
n
o
e
i
node_i
P
c
o
(
x
,
y
,
n
o
e
i
)
=
{
1
,
i
f
d
(
n
o
d
e
i
,
p
)
≤
r
0
,
e
s
l
e
(4)
P_{cov}(x,y,node_i)=begin{cases}1, if,d(node_i,p)leq r\ 0,, esle end{cases}tag{4}
Pcov(x,y,nodei)={1,ifd(nodei,p)≤r0,esle(4)
我们将所有的传感器节点在目标监测环境中的区域覆盖率
C
o
e
r
R
t
i
o
CoverRatio定义为传感器节点集的覆盖面积与监测区域的面积之比,如公式所示:
C
o
e
r
R
t
i
o
=
∑
P
c
o
∗
n
(5)
CoverRatio = frac{sum P_{cov}}{m*n}tag{5}
CoverRatio=m∗n∑Pcov(5)
那我们的最终目标就是找到一组节点使得覆盖率最大。
3.蜻蜓算法
蜻蜓算法原理请参考:https://blog.csdn.net/u011835903/article/details/107783363
该算法是寻找最小值。于是适应度函数定义为未覆盖率最小,即覆盖率最大。如下:
f
u
n
=
a
r
i
n
(
1
−
C
o
v
e
r
R
a
t
i
o
)
=
a
r
g
i
n
(
1
−
∑
P
c
o
v
∗
n
)
(6)
fun = argmin(1 – CoverRatio) = argmin(1-frac{sum P_{cov}}{m*n}) tag{6}
fun=argmin(1−CoverRatio)=argmin(1−m∗n∑Pcov)(6)
4.实验参数设定
无线传感器覆盖参数设定如下:
%% 设定WNS覆盖参数,
%% 默认输入参数都是整数,如果想定义小数,请自行乘以系数变为整数再做转换。
%% 比如范围1*1,R=0.03可以转换为100*100,R=3;
%区域范围为AreaX*AreaY
AreaX = 100;
AreaY = 100;
N = 20 ;%覆盖节点数
R = 15;%通信半径
蜻蜓算法参数如下:
%% 设定优化参数
pop=30; % 种群数量
Max_iteration=80; %设定最大迭代次数
lb = ones(1,2*N);
ub = [AreaX.*ones(1,N),AreaY.*ones(1,N)];
dim = 2*N;%维度为2N,N个坐标点
5.算法结果
从结果来看,覆盖率在优化过程中不断上升,表明蜻蜓算法对覆盖优化起到了优化的作用。
6.参考文献
[1] 史朝亚. 基于PSO算法无线传感器网络覆盖优化的研究[D]. 南京理工大学.
7.MATLAB代码
原文地址:https://blog.csdn.net/u011835903/article/details/134653872
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_2911.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!