本文介绍: 摘要:本文主要介绍如何用蜻蜓算法进行无线传感器网(WSN)覆盖优化

(3)
目标区域像素点被传感器节点覆盖事件定义

c

i

c_i

ci。则该事件发生的概率

P

c

i

P{c_i}

Pci即为像素

(

x

,

y

)

(x,y)

(x,y)传感器节点

n

o

d

e

i

node_i

nodei覆盖的概率:

P

c

o

v

(

x

,

y

,

n

o

d

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

v

e

r

R

a

t

i

o

CoverRatio

CoverRatio定义为传感器节点集的覆盖面积与监测区域的面积之比,如公式所示:

C

o

v

e

r

R

a

t

i

o

=

P

c

o

v

m

n

(5)

CoverRatio = frac{sum P_{cov}}{m*n}tag{5}

CoverRatio=mnPcov(5)
我们的最终目标就是找到一组节点使得覆盖率最大。

3.蜻蜓算法

蜻蜓算法原理请参考:https://blog.csdn.net/u011835903/article/details/107783363
算法是寻找最小值。于是适应度函数定义为未覆盖率最小,即覆盖率最大。如下:

f

u

n

=

a

r

g

m

i

n

(

1

C

o

v

e

r

R

a

t

i

o

)

=

a

r

g

m

i

n

(

1

P

c

o

v

m

n

)

(6)

fun = argmin(1 – CoverRatio) = argmin(1-frac{sum P_{cov}}{m*n}) tag{6}

fun=argmin(1CoverRatio)=argmin(1mnPcov)(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进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注