企业网站排行,wordpress的主要功能,南昌seo哪家好,深圳最简单的网站建设智能优化算法应用#xff1a;基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用#xff1a;基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蝴蝶算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…智能优化算法应用基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蝴蝶算法4.实验参数设定5.算法结果6.参考文献7.MATLAB代码 摘要本文主要介绍如何用蝴蝶算法进行无线传感器网(WSN)覆盖优化。 1.无线传感网络节点模型
本文主要基于0/1模型进行寻优。在二维平面上传感器节点的感知范围是一个以节点为圆心半径为 R n R_n Rn的圆形区域该圆形区域通常被称为该节点的“感知圆盘” R n R_n Rn称为传感器节点的感知半径感知半径与节点内置传感器件的物理特性有关假设节点 n n n的位置坐标为 ( x n , y n ) (x_n,y_n) (xn,yn)在0-1感知模型中对于平面上任意一点 p ( x p , y p ) p(x_p,y_p) p(xp,yp),则节点 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)≤Rn0,esle(1) 其中 d ( n , p ) ( x n − x p ) 2 ( y n − y p ) 2 d(n,p)\sqrt{(x_n-x_p)^2(y_n-y_p)^2} d(n,p)(xn−xp)2(yn−yp)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 , r } node_i\{x_i,y_i,r\} nodei{xi,yi,r},表示以节点 ( x i , y i ) (x_i,y_i) (xi,yi)为圆心,r为监测半径的圆假定监测区域 A r e a Area Area被数字化离散为 m ∗ n m*n m∗n个像素点像素点的坐标为 ( x , y ) (x,y) (x,y)目标像素点与传感器节点间的距离为 d ( n o d e i , p ) ( x i − x ) 2 ( y i − y ) 2 (3) d(node_i,p)\sqrt{(x_i-x)^2(y_i-y)^2}\tag{3} d(nodei,p)(xi−x)2(yi−y)2 (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} CoverRatiom∗n∑Pcov(5) 那我们的最终目标就是找到一组节点使得覆盖率最大。
3.蝴蝶算法
蝴蝶算法原理请参考https://blog.csdn.net/u011835903/article/details/107855860 该算法是寻找最小值。于是适应度函数定义为未覆盖率最小即覆盖率最大。如下 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} funargmin(1−CoverRatio)argmin(1−m∗n∑Pcov)(6)
4.实验参数设定
无线传感器覆盖参数设定如下
%% 设定WNS覆盖参数,
%% 默认输入参数都是整数如果想定义小数请自行乘以系数变为整数再做转换。
%% 比如范围1*1R0.03可以转换为100*100R3
%区域范围为AreaX*AreaY
AreaX 100;
AreaY 100;
N 20 ;%覆盖节点数
R 15;%通信半径
蝴蝶算法参数如下
%% 设定优化参数
pop30; % 种群数量
Max_iteration80; %设定最大迭代次数
lb ones(1,2*N);
ub [AreaX.*ones(1,N),AreaY.*ones(1,N)];
dim 2*N;%维度为2NN个坐标点5.算法结果 从结果来看覆盖率在优化过程中不断上升表明蝴蝶算法对覆盖优化起到了优化的作用。
6.参考文献
[1] 史朝亚. 基于PSO算法无线传感器网络覆盖优化的研究[D]. 南京理工大学.
7.MATLAB代码