改进杂草算法求解WSN节点分布优化问题

一、理论基础

1、问题描述

假设一个二维平面区域A可以离散成s×s的网格,每个网格的面积为 1。若整个区域内分布着 n n n个无线传感器节点,每个节点都可以通过某种特殊方式(像北斗导航)来获取自身位置,并拥有相同的感知半径 R R R。因此,区域 A 上的所有WSN节点集可被描述成: S = { s 1 , s 2 , ⋯   , s n } (1) S=\{s_1,s_2,\cdots,s_n\}\tag{1} S={s1,s2,,sn}(1)其中, s i = ( x i , y i ) ( i = 1 , 2 , ⋯   , n ) s_i=(x_i,y_i)(i=1,2,\cdots,n) si=(xi,yi)(i=1,2,,n) ( x i , y i ) (x_i,y_i) (xi,yi)为节点 s i s_i si在区域A中的坐标。对于任意网格点 p j = ( x j , y j ) ( j = 1 , 2 , ⋯   , m × n ) p_j=(x_j,y_j)(j=1,2,\cdots,m×n) pj=(xj,yj)(j=1,2,,m×n),它与节点 s i s_i si之间的距离为 d i j = ( x i − x j ) 2 + ( y i − y j ) 2 (2) d_{ij}=\sqrt{(x_i-x_j)^2+(y_i-y_j)^2}\tag{2} dij=(xixj)2+(yiyj)2 (2)WSN节点测量模型主要有两种:(1)二元测量模型;(2)概率测量模型。文中采用比较常见的概率测量模型来计算其覆盖率 C i j = { 1 d i j ≤ R − R e e x p ( − λ 1 α 1 ε 1 α 2 ε 2 + λ 2 ) R − R e < d i j < R + R e 0 e l s e (3) C_{ij}=\begin{dcases}1\quad d_{ij}≤R-R_e\\exp\left(\frac{-\lambda_1\alpha_1^{\varepsilon_1}}{\alpha_2^{\varepsilon_2}+\lambda_2}\right)\quad R-R_e<d_{ij}<R+R_e\\0\quad else\end{dcases}\tag{3} Cij=1dijRReexp(α2ε2+λ2λ1α1ε1)RRe<dij<R+Re0else(3)其中, R e ( 0 < R e < R ) R_e(0<R_e<R) Re(0<Re<R)为传感器的有效测量半径; α 1 = R e − R + d i j \alpha_1=R_e-R+d_{ij} α1=ReR+dij α 2 = R e + R − d i j \alpha_2=R_e+R-d_{ij} α2=Re+Rdij,其他量为测量参数。
如果所有节点被检测都是相互独立事件,那么由点 p j p_j pj被单个节点检测的概率可得到它同时被所有节点检测到的综合概率为 C j = 1 − ∏ i = 1 n ( 1 − C i j ) (4) C_j=1-\prod_{i=1}^n (1-C_{ij})\tag{4} Cj=1i=1n(1Cij)(4)其中,若 C j C_j Cj大于或等于某个特定阈值 C t C_t Ct,则认为点 p j p_j pj可被节点检测;;反之,若 C j C_j Cj小于 C t C_t Ct,则认为 p j p_j pj不能被检测到。通过多次试验,文中选择 C t = 0.75 C_t=0. 75 Ct=0.75
进而,通过点 p j p_j pj被检测到的综合概率来衡量每个网格的覆盖率,即通过式 (4) 来计算每个网格点的被检测概率,将被检测到的网格点个数占网格总数的比例作为WSN的覆盖率。具体的数学描述为 C s = ∑ j = 1 m × n C j m × n (5) C_s=\frac{\displaystyle\sum_{j=1}^{m×n}C_j}{m×n}\tag{5} Cs=m×nj=1m×nCj(5)因此,WSN 节点分布优化问题可描述成目标区域A上的 n n n个无线传感器节点通过优化算法达到对整个目标区域的覆盖。也就是,该问题可转换为式
(5) 的最大化问题,即 m a x ( ∑ j = 1 m × n C j m × n ) (6) max\left(\frac{\sum_{j=1}^{m×n}C_j}{m×n}\right)\tag{6} max(m×nj=1m×nCj)(6)

2、改进的杂草算法

(1)IWO算法描述

请参考这里

(2)立方混沌算子

采用立方映射混沌算子来改进杂草位置的初始化,使得产生的种群位置更均匀。根据下式产生混沌序列 y ( n + 1 ) = 4 y ( n ) 3 − 3 y ( n ) ( n = 0 , 1 , ⋯ ⋯ ) (7) y(n+1)=4y(n)^3-3y(n)(n=0,1,\cdots\cdots\tag{7}) y(n+1)=4y(n)33y(n)(n=0,1,)(7)其中, y ( n ) ∈ [ − 1 , 1 ] y(n)∈[-1,1] y(n)[1,1]。将混沌序列映射到优化变量的取值空间内,利用混沌特性来实现对杂草初始位置的搜索。具体步骤为
(1)对于D维空间内的M个个体,随机产生一个D维向量 Y = { y 1 , ⋯   , y d } \boldsymbol Y=\{y_1,\cdots,y_d\} Y={y1,,yd}作为第一个杂草个体,其中 y i ∈ [ − 1 , 1 ] , 1 ≤ i ≤ d y_i∈[-1,1],1≤i≤d yi[1,1],1id
(2)利用式(7)对 Y \boldsymbol Y Y逐维进行 M − 1 M-1 M1次迭代,产生其余 M − 1 M-1 M1个个体。
(3)将产生的混沌变量根据式(8)映射到解的搜索空间内 x i d = x L + ( 1 + y i d ) x U − x L 2 (8) x_{id}=x_L+(1+y_{id})\frac{x_U-x_L}{2}\tag{8} xid=xL+(1+yid)2xUxL(8)其中, x i d x_{id} xid为杂草 i i i在第 d d d维的位置; y i d y_{id} yid为式(7)产生的杂草 i i i的第 d d d维值; x U x_U xU x L x_L xL分别为 x i d x_{id} xid取值的上下限。

(3)高斯变异算子

为避免IWO算法陷入局部最优,在随机选择一定数量的杂草种子后,采用高斯变异算子对其进行操作。变异后的个体 V i \boldsymbol V_i Vi可由下列公式计算: V i = X i + e ( X B − X i ) (9) \boldsymbol V_i=\boldsymbol X_i+e(\boldsymbol X_B-\boldsymbol X_i)\tag{9} Vi=Xi+e(XBXi)(9)其中, e e e表示均值为0、方差为1的高斯分布; X B \boldsymbol X_B XB为当前种群中适应度值最高的个体。当变异个体 V i \boldsymbol V_i Vi的值不在搜索范围内时,通过下式来重新寻找位置 V i = X L + e ( X U − X L ) (10) \boldsymbol V_i=\boldsymbol X_L+e(\boldsymbol X_U-\boldsymbol X_L)\tag{10} Vi=XL+e(XUXL)(10)

(4)算法伪代码

引入立方混沌算子和高斯变异算子来改进传统的IWO算法,产生了改进的IWO算法。IIWO算法的伪代码如下所示:
在这里插入图片描述

图1 IIWO算法伪代码

二、仿真分析

为了检验IIWO算法在处理WSN节点分布优化问题的有效性,仿真设WSN的有效监控范围为 50 m × 50 m 50m ×50m 50m×50m的正方形区域,每个传感器节点的感知半径 R R R为5m,在监控范围内随机分布着35个WSN节点。通过IWO算法、CPSO算法和IIWO算法分别对这些节点的布局进行优化,都迭代300代,3 种算法的种群数均设置为30。3种算法的网络覆盖率对比图如图2所示。
在这里插入图片描述

图2 3种算法网络覆盖率最优解的迭代曲线

图3~6分别是WSN节点初始部署、IWO优化覆盖图、CPSO优化覆盖图和IIWO优化覆盖图。
在这里插入图片描述

图3 WSN节点初始部署

在这里插入图片描述

图4 IWO优化覆盖

在这里插入图片描述

图5 CPSO优化覆盖

在这里插入图片描述

图6 IIWO优化覆盖

三、参考文献

[1] 单文桃, 王鑫, 丁力. 改进杂草算法求解WSN节点分布优化问题[J]. 机床与液压, 2018, 46(22): 84-88.
[2] 心升明月. 基于入侵杂草算法的函数寻优算法. CSDN博客.

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心️升明月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值