智能优化算法应用:基于侏儒猫鼬算法3D无线传感器网络(WSN)覆盖优化 - 附代码

文章目录

智能优化算法应用:基于侏儒猫鼬算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.侏儒猫鼬算法4.实验参数设定5.算法结果6.参考文献7.MATLAB代码

摘要:本文主要介绍如何用侏儒猫鼬算法进行3D无线传感器网(WSN)覆盖优化。

1.无线传感网络节点模型

本文主要基于0/1模型,进行寻优。在二维平面上传感器节点的感知范围是一个以节点为圆心,半径为

R

n

R_n

Rn​的圆形区域,该圆形区域通常被称为该节点的“感知圆盘”,

R

n

R_n

Rn​称为传感器节点的感知半径,感知半径与节点内置传感器件的物理特性有关,假设节点

n

n

n的位置坐标为

(

x

n

,

y

n

,

z

n

)

(x_n,y_n,z_n)

(xn​,yn​,zn​)在0-1感知模型中,对于平面上任意一点

p

(

x

p

,

y

p

,

z

p

)

p(x_p,y_p,z_p)

p(xp​,yp​,zp​),则节点

n

n

n监测到区域内点

p

p

p的事件发生概率为:

P

r

(

n

,

p

)

=

{

1

,

d

(

n

,

p

)

R

n

0

,

e

s

l

e

(1)

P_r(n,p)=\begin{cases}1, \,d(n,p)\leq R_n\\ 0,\, esle \end{cases}\tag{1}

Pr​(n,p)={1,d(n,p)≤Rn​0,esle​(1) 其中

d

(

n

,

p

)

=

(

x

n

x

p

)

2

+

(

y

n

y

p

)

2

+

(

z

n

z

p

)

2

d(n,p)=\sqrt{(x_n-x_p)^2+(y_n-y_p)^2 + (z_n-z_p)^2}

d(n,p)=(xn​−xp​)2+(yn​−yp​)2+(zn​−zp​)2

​为点和之间的欧式距离。

2.覆盖数学模型及分析

现假定目标监测区域为二维平面,在区域

A

r

e

a

Area

Area上投放同型结构传感器节点的数目为N,每个节点的位置坐标值假设已被初始化赋值,且节点的感知半径r。传感器节点集则表示为:

N

o

d

e

{

x

1

,

.

.

.

,

x

N

}

(2)

Node\{x_1,...,x_N\} \tag{2}

Node{x1​,...,xN​}(2) 其中

n

o

d

e

i

=

{

x

i

,

y

i

,

z

i

,

r

}

node_i=\{x_i,y_i,z_i,r\}

nodei​={xi​,yi​,zi​,r},表示以节点

(

x

i

,

y

i

,

z

i

)

(x_i,y_i,z_i)

(xi​,yi​,zi​)为圆心,r为监测半径的球,假定监测区域

A

r

e

a

Area

Area被数字化离散为

m

n

l

m*n*l

m∗n∗l个空间点,空间点的坐标为

(

x

,

y

,

z

)

(x,y,z)

(x,y,z),目标点与传感器节点间的距离为:

d

(

n

o

d

e

i

,

p

)

=

(

x

i

x

)

2

+

(

y

i

y

)

2

+

(

z

i

z

)

2

(3)

d(node_i,p)=\sqrt{(x_i-x)^2+(y_i-y)^2 + (z_i-z)^2}\tag{3}

d(nodei​,p)=(xi​−x)2+(yi​−y)2+(zi​−z)2

​(3) 目标区域内点被传感器节点所覆盖的事件定义为

c

i

c_i

ci​。则该事件发生的概率

P

c

i

P{c_i}

Pci​即为点

(

x

,

y

,

z

)

(x,y,z)

(x,y,z)被传感器节点

n

o

d

e

i

node_i

nodei​所覆盖的概率:

P

c

o

v

(

x

,

y

,

z

,

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,z,node_i)=\begin{cases}1, if\,d(node_i,p)\leq r\\ 0,\, esle \end{cases}\tag{4}

Pcov​(x,y,z,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

l

(5)

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

CoverRatio=m∗n∗l∑Pcov​​(5) 那我们的最终目标就是找到一组节点使得覆盖率最大。

3.侏儒猫鼬算法

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

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

l

)

(6)

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

fun=argmin(1−CoverRatio)=argmin(1−m∗n∗l∑Pcov​​)(6)

4.实验参数设定

无线传感器覆盖参数设定如下:

%% 设定WNS覆盖参数,

%% 默认输入参数都是整数,如果想定义小数,请自行乘以系数变为整数再做转换。

%% 比如范围1*1,R=0.03可以转换为100*100,R=3;

%区域范围为AreaX*AreaY*AreaZ

AreaX = 100;

AreaY = 100;

AreaZ = 100;

N = 20 ;%覆盖节点数

R = 15;%通信半径

侏儒猫鼬算法参数如下:

%% 设定侏儒猫鼬优化参数

pop=30; % 种群数量

Max_iteration=30; %设定最大迭代次数

lb = ones(1,3*N);

ub = [AreaX.*ones(1,N),AreaY.*ones(1,N),AreaZ.*ones(1,N)];

dim = 3*N;%维度为3N,N个坐标点

5.算法结果

从结果来看,覆盖率在优化过程中不断上升。表明侏儒猫鼬算法对覆盖优化起到了优化的作用。

6.参考文献

[1] 史朝亚. 基于PSO算法无线传感器网络覆盖优化的研究[D]. 南京理工大学.

7.MATLAB代码

文章链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: