0引言
无线传感器网络( Wireless Sensor Networks,WSN)由若干无线传感节点通过点对点连接以自组织和多跳变的方式构成的网络,用来对监控监测区域中的目标,感知被监测目标的信息并发送给观察者。无线传感节点分为静态节点和移动传感节点,无线传感网络通常应用于特殊恶劣的环境中,节点的撒布是随机部署,在监控区域内分布不均存在覆盖盲区。环境变坏或者部分节点意外失效,导致原先网络覆盖率变差,对于静态节点覆盖率无法改变 ,部署移动节点可以很好的解决改善网络覆盖效果。基本粒子群算法无线传感网络覆盖优化方法容易陷入局部最优,为了解决这个问题,本文对基本粒子群算法从两个方面的提出了优化方法,一方面从算法权重自适应进行优化,另一方面从算法的粒子位置速度更新加入干扰分子进行优化。
1 无线传感网络覆盖
1.1 无线传感网络感知模型
研究无线传感网络的最基本问题是网络覆盖,它是反应无线传感网络质量的一个重要指标。是指通过网络中传感器节点的空间位置分布实现对被监测区域或目标对象物理信息的感知,从根本上反映了网络对物理世界的感知能力。感知模型有指数模型、统计模型、布尔模
型和障碍物模型,本文使用的是布尔模型,如式(1)所示:
(1)
(1)式中,S表示节点,P表示监控区域中一个监控位置,R表示感知半径,d监控距离表示节点与监控位置之间的距离,C表示感知概率情况,两种情况,当监控距离小于感知半径R即被感知,当大于节点感知半径不在节点感知节点范围之内,不能被感知。
1.2 覆盖率计算
覆盖率是反应网线传感网络质量的一个重要指标,如何计算覆盖率,本文将监控区域分为的像素网格阵列,依次计算每个像素到各个节点的距离,根据式(1)判断是否被节点覆盖,计算被覆盖的像素点个数和PCOV(COV)与监控区域总像素和之比率,即为区域覆盖率R如下式(2):
(2)
2 基本粒子群算法
粒子群算法是一种模拟鸟类寻食过程而来的仿生算法,最早在1995年,由Kennedy和Eberhait以函数的形式提出,是一种寻找最优值的优化算法。
在无线传感网络优化算法中,把若干个无线传感器构成一个粒子,若干粒子组成粒子群。每个粒子都有自己的位置和速度向量,多个粒子合并成粒子群,粒子群算法不断的计算更新迭代比较粒子的位置和速度信息找到最优的粒子。粒子位置向量是Xi=(Xi1,Xi2,…XiD),粒子速度信息是Vi=(Vi1,Vi2,…ViD);算法的迭代过程如下式:
(3)
粒子速度更换公式
(4)
粒子位置更换公式
公式中,v(i+1)表示粒子在 i次迭代
过程中更新的速度值,x(i+1)表示的位置C1和C2是自学能力因子系数,R1和R2为(0,1)区间的随机数修正值。
3 无线传感网络粒子群算法优化方法
基本粒子群算法在迭代后期,容易陷入局部最优,不能找到全局最优值。针对这个问题本文提出了两个方法加以改进算法,一采用动态调整惯性权重因子,二添加新粒子干扰。
3.1动态惯性权重因子
在基本粒子群算法中,对算法搜寻最优速度有影响的惯性权重,它的取值大小能调整粒子群优化算法的全局搜索和局部搜索能力。惯性权重值越大,全局搜索能力越强,局部搜索能力越弱;相反值变小时,局部搜索能力得到增强,整体搜索能力减弱。如果惯性权重值在算法搜索过程中进行动态调整,开始时,给出更大的正值,之后逐渐线性减小,这样每个粒子在初始可以快速地在全局范围内搜索到最优值;在搜索的后期阶段,取较小的惯性权重值粒子可以在局部最优值周围进行精细搜索,算法收敛到全局最优解位置概率更大。本文使用的是动态线性权重值,表达式如下:
(5)
其中W是惯性权重值取值范围是从0.9到0.4,Wmax和Wmin是w的最大值和最小值;t迭代次数,Tmax最大迭代次数。式(5)w设计结果为线性下降,算法开始能较快地定位最优解的大致位置,随着算法进行w逐渐减小,粒子速度减慢,开始精细的局部搜索。该中惯性权重取值方法能更好地控制算法全局和局部搜索能力,收敛速度也更快,算法的性能也能得到提高。
3.2添加干扰粒子
当算法搜索迭代过程中出现适度值覆盖率出现不变化的情况,说明搜索陷入了局部最优。为了跳出这种情况,当迭代次数未到达最大值全局最优值5次不变则添加一个新粒子。添加方法以当前最优粒子位置为中心,根据式(6)更新位置信息得出p(l,2,…,m)个随机粒子位置信息,也就是寻优粒子从当前位置朝着p个方向随机添加几个粒子,存储这p个粒子的适应值,然后求出P个粒子最优粒子作为待用粒子。
(6)
(7)
式中为P个新粒子的位置,xid当前粒子的位置,rand1、rand2、rand2是0~1之间的随机数。L是监控区域边长,G是监控区域网格化宽度。N新粒子生长步长,它的取值采用一个线性递减的函数,这样在迭代过程中,开始值较大步长可以增强全局搜寻的能力,从而提高了算法收敛速度,为了抑制过早地陷入局部收敛,所以后期步长N值较小能加强局部搜索能力,有利于精细搜索,寻找全局更优解。
3.3改进基本粒子群算法
为了提高算法性能从两个方面改进,在基本粒子群算法中加入动态惯性因子和添加新粒子,改进后的算法搜索迭代工作流程如下:
第一步,初始化粒子群各个参数,随机产生n个粒子的初始位置和速度向量,计算各个粒子初始覆盖率。
第二步,计算更动态惯性权重值、新粒子位置和速度向量,重新计算个粒子的覆盖率。
第三步,各粒子覆盖率与原来个体极值进行比较,较大者设置为个体最优值。
第四步,比较各粒子的个体最优值找出全局最优值。
第五步,判断算法陷入局部最优,根据式(6)引入添加干扰新粒子输出最优。
第六步,重复上面步骤直到结束条件。
4仿真结果
本文对基本粒子群算法和其从惯性因子和添加新粒子两方面改进了的算法进行MATLAB仿真,对仿真结果覆盖率进行了比较。
根据基本粒子群算法和改进PSO两种算法随迭代次数变化的覆盖率情况来看,基本粒子群算法能使覆盖率最大达到84.85%,改进后最大覆盖率能达到92.10%,改进后覆盖率提高6%。PSO收敛要早于改进算法,PSO迭代600次时就收敛与局部最优,改进后改进后800次迭代覆盖率达到92.20%,有效增强粒子多样性跳出局部最优。
5结束
本文针对基本粒子群算法在无线传感网络的覆盖应用存在的缺点提出了改进方法,从两个方面改进,采用动态惯性因子和陷入局部最优添加新粒子干扰改进方法。在MATLAB平台上进行了仿真实验,仿真结果充分说明经改进的粒子群算法相比原基本粒子算法算法,节点分布更均匀,盲区也更少,有效覆盖率得到提升,算法早熟陷入局部最优问题也一定程度上得到解决。改进后的算法在部署无线传感器网络有一定的实际意义。
参考文献:
[1]袁小平,蒋硕.基于分层自主学习的改进粒子群优化算法[J].计算机应用.2019,39(01):148-153.
[2]蒋一波,梅佳东,汪念华,等.改进虚拟力的有向传感器网络覆盖优化算法[J].小型微型计算机系统,2018,39(03)457-462.
[3]李强,康琳,高文华.寻优能力增强型越界免疫粒子群算法[J].太原科技大学学报,2019(2):92-9.
[4]范兴刚,张哲铖,王晨浩,陶俊.一种有向网络目标概率覆盖增强算法[J].传感技术学报,2019,32(03): 424-429.
[5]坎香.无线传感网络及其覆盖问题[J].电子技术与软件工程,2018(22): 22.
[6]陈曦.随机部署无线传感器网络[M].北京:清华大学出版社,2017.