《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 基于ASGSO算法的改进DV-Hop算法
基于ASGSO算法的改进DV-Hop算法
2015年微型机与应用第23期
赵晓青,毛永毅
(西安邮电大学 电子工程学院,陕西 西安 710061)
摘要: 针对无线传感器网络定位技术中DV-Hop算法在最后阶段计算待定位节点坐标时定位精度低的问题,提出了一种基于自适应步长萤火虫优化算法的改进DV-Hop算法(ASGSODV-Hop)。该算法将DV-Hop算法在估算节点坐标阶段所使用的最小二乘法用ASGSO算法代替,采用ASGSO智能算法的自适应迭代寻优对DV-Hop算法定位求解的问题建立特定的适应度函数并进行多次迭代计算实现优化,最终使待定位节点坐标与真实值更为接近。仿真结果表明,该算法的平均定位误差约为23.58%;相比于传统DV-Hop算法,ASGSODV-Hop算法可在无需附加通信开销的情况下使定位误差降低约46.49%,提高了节点的定位精度。
Abstract:
Key words :

  摘  要: 针对无线传感器网络定位技术中DV-Hop算法在最后阶段计算待定位节点坐标时定位精度低的问题,提出了一种基于自适应步长萤火虫优化算法的改进DV-Hop算法(ASGSODV-Hop)。该算法将DV-Hop算法在估算节点坐标阶段所使用的最小二乘法用ASGSO算法代替,采用ASGSO智能算法的自适应迭代寻优对DV-Hop算法定位求解的问题建立特定的适应度函数并进行多次迭代计算实现优化,最终使待定位节点坐标与真实值更为接近。仿真结果表明,该算法的平均定位误差约为23.58%;相比于传统DV-Hop算法,ASGSODV-Hop算法可在无需附加通信开销的情况下使定位误差降低约46.49%,提高了节点的定位精度。

  关键词: 无线传感器网络;DV-Hop算法;ASGSO算法;自适应迭代;定位精度

0 引言

  无线传感器网络(Wireless Sensor Networks,WSNs)是一种集信息采集、处理和传输于一身的智能网络信息系统[1],可在任何时间、地点和环境下获取各种详细、精确的目标信息,实现人与物理世界的通信和信息交互,节点定位技术为WSN的关键技术。目前与定位相关的算法可分为测距和非测距两种,测距定位算法通常有很高的精度,但需要较大的通信开销和能耗;非测距定位算法是通过网络连通性来实现定位,无需附加的硬件支持,是目前定位机制的研究重点。传统的非测距定位算法有质心算法[2]、DV-Hop算法[3-4]、近三角形内点测试法(Approximate Point-in-triangulation Test,APIT)[5]等。

  DV-Hop算法采取距离向量—跳段机制,由于其实现难度低,是一种常见的非测距定位算法。目前很多学者提出了一些改进算法以提高定位精度:文献[6]采用改进的加权最小二乘法得到待定位节点的坐标以提高定位精度,但通信量过大;文献[7]采用蝙蝠算法(Bat Algorithm,BA)对DV-Hop算法的定位结果进行优化,但消耗了过多的资源;文献[8]采用误差跳距加权策略修正平均跳距,并利用自适应步长粒子群优化(Self-adaptive Step Particle Swarm Optimization,ASPSO)算法对DV-Hop算法的估计位置进行优化,精度有所提升,但增加了计算量和通信开销。本文采用自适应步长萤火虫优化(Self-adaptive Step Glowworm Swarm Optimization,ASGSO)算法[9]对估算位置进行优化。仿真结果表明,在无需附加通信量和计算开销的基础上可减少定位误差,经过优化后算法的定位精度远大于DV-Hop算法的精度。

1 DV-Hop算法

  DV-Hop算法是由Rutgers大学的Dragons等人依据距离矢量路由和全球定位系统(Global Positioning System,GPS)提出的一种非测距定位算法。其原理是采用距离矢量路由法得到待定位节点与信标节点间的跳数最小值,同时计算出平均跳距,以平均跳距与跳数最小值的乘积作为信标节点和待定位节点的估算间距,并通过极大似然估计法计算出待定位节点的坐标。DV-Hop算法可大体分为以下3个阶段:

  (1)获取待定位节点和信标节点间的最小跳数

  由信标节点向相邻节点传送自身信标信息,包含信标节点的标识符、位置及跳数值,将跳数初始化为0。记录并更新所接收信标信息的邻居节点到每一信标节点的最小跳数并忽略较大的信标信息,跳数的值增加1,继续向其邻居节点广播自身信息。当网路中的全部待定位节点均记下距每一信标节点的跳数最小值后此阶段终止。

  (2)待定位节点与信标节点间距离的估计

  经过第一阶段,信标节点i得到与其余信标节点之间的位置信息和最小跳数后,用式(1)可计算出信标节点i与其余信标节点之间的平均跳距:

  1.png

  其中,(xi,yi),(xj,yj)分别表示信标节点i、j的坐标,hj表示i距j的跳数。

  然后,信标节点将平均跳距分组扩散至整个网络内,可通过最小跳数和式(2)获取待定位节点与其他信标节点的间距。

  di=HopSizei×hi(2)

  (3)待定位节点自身位置的估算

  已知(xi,yi)是第i个信标节点的坐标,它到待定位节点M的距离为di,设(x,y)是待定位节点M的坐标,则有:

  3.png

  将式(3)变换成线性方程组AX=b的形式,其中:

  46.png

  最后,由标准的最小二乘法即可得到节点M的坐标:4CL{{X~M9JGTJ2Z(@{N2T[Q.jpg

2 改进的DV-Hop算法

  WSN定位问题实质上是对非线性方程组进行求解,为NP难解问题。DV-Hop算法在计算待定位节点和信标节点的间距时,由于待定位节点认为它到信标节点的平均跳距是相同的,会造成较大的定位误差。目前为止,已有学者提出用元启发式算法对定位后期的位置进行优化,如前文提到的BA算法和ASPSO算法。本文采用ASGSO算法对DV-Hop算法求出的待定位节点位置进行优化。

  2.1 ASGSO算法

  2.1.1 自适应步长调整策略

  萤火虫群优化(Glowworm Swarm Optimization,GSO)算法[10]是一种群智能算法,利用萤火虫发光吸引同伴这一现象进行模拟,发光越强便可吸引越多的同伴,每个萤火虫通过移向目标区域内最亮萤火虫寻求最优解。

  原始GSO算法存在易陷入局部最优的缺陷,其计算精度较低,且最后阶段收敛速度较慢,这些问题与步长密切相关。寻优时萤火虫的移动步长越大则越容易寻求到全局最优解,但其寻优精度随之降低,甚至会出现震荡;移动步长小会造成寻优速度慢,但寻优精度得到提高。

  针对此问题提出的ASGSO算法解决了原始GSO算法中存在的问题,有极好的寻优能力和寻优精度。引入荧光因子:

  7.png

  其中,Xi为第i只萤火虫的状态,Xext为荧光素浓度最大的萤火虫的状态,dmax为最优萤火虫与剩余萤火虫的最大距离。

  自适应步长调整办法为:

  si=smin+(smax-smin)Hi(8)

  式中,smax和smin为寻优步长的最大值和最小值,Hi为荧光因子。

  根据式(7)、(8)自适应变换迭代步长,当萤火虫个体与目标萤火虫距离较近时,Hi值减小,则si值相应减小,使用略小的步长si可使萤火虫接近目标个体,精度得以提高;当萤火虫与目标萤火虫距离较远时,Hi值的增大会造成si值增大,可使萤火虫在步长略大时实现快速寻优。ASGSO通过灵活调整搜索步长提升了寻优的速度和精度。

  2.1.2 算法描述

  ASGSO算法流程如下:

  (1)初始化。n只萤火虫组成萤火虫群,设定搜索维数m,感知最大半径rs及其变化系数TF$8TDKM[MTHM`WG]N_~4HW.jpg,最大迭代次数itermax,荧光素挥发系数ρ及其更新率J9(OTNKLEVY8VW~ETLR@H2G.jpg,优秀萤火虫个体数nt,原始位置xi(0),原始荧光素大小l0和感知范围r0,原始步长si(0),最大步长smax,最小步长smin。

  (2)荧光素更新。J(xi(t))为迭代位置xi(t)的目标函数。将萤火虫在t次迭代位置xi(t)相对应的J(xi(t))转换成荧光素值li(t)=(1-ρ)li(t-1)+J9(OTNKLEVY8VW~ETLR@H2G.jpgJ(xi(t)),萤火虫选取比自身荧光素高的个体组成邻域集Ni(t),其中,0<rdi(t)≤rs,rs为萤火虫的感知半径。

  (3)概率选择。个体i移至邻域集个体j的概率pij$P4CK4YHH2@@9O@1HVS$BZ9.png,用轮盘赌选取个体j。

  (4)自适应步长改变。利用式(7)计算每个个体的荧光因子,用式(8)计算出步长值。

  (5)位置更新。根据U3~TC(5TZ3(T{SF4ETXO9D0.png更新位置。

  (6)更替决策域。由rdi(t+1)=min{rs,max{0,rdi(t)+TF$8TDKM[MTHM`WG]N_~4HW.jpg(ni-|Ni(t)|)}}更新动态决策域半径。

  (7)迭代结束。判断是否完成所设定的迭代次数,如果是则输出结果;否则转至步骤(2)。

  2.2 基于ASGSO算法的改进DV-Hop算法

  DV-Hop算法进行定位时,由于距离的不确定性导致误差存在。定位问题的要点是使误差达到最小,即提高定位精度,因此提出一种基于ASGSO算法的改进DV-Hop算法,即ASGSODV-Hop算法。

  设待定位节点的坐标为(x,y),利用式(2)可得待定位节点与第i个信标节点的估算间距为di,信标节点的估计间距与真实间距的偏差为εi,则式(3)可改为:

  9.png

  通过观察式(9)可以看出,当(|ε1|+|ε2|+…+|εn|)的值最小时,所求得的未知节点(x,y)与真实节点位置最为接近。由于信标节点与待定位节点间的跳数越多会导致两者间距的估计偏差越大,故将其跳数的倒数当作权重设置ASGSO算法的适应度函数,如式(10)所示。完成所设定的运算次数后即可结束ASGSO算法,以所寻求的最优值当作优化后的估算值。

  10.png

  其中,hi为待定位节点(x,y)与信标节点(xi,yi)间的跳数,1/hi为权重。

3 仿真实验

  为评估ASGSODV-Hop算法的性能,分别对DV-Hop算法改进前后进行仿真,分析比对仿真得到的结果。将若干节点散播在100 m×100 m正方形感知区域内,信标节点占10%,待定位节点占90%。为了降低随机性误差,在同等参数条件下进行100次仿真,取其均值作为实验结果。

  本文选取文献[11]提到的定位误差作为性能评价指标,如式(11)所示:

  11.png

  其中,R为通信半径,(xr,yr)为待定位节点的真实坐标,(xi,yi)为使用ASGSODV-Hop算法得出的待定位节点坐标,N为待定位节点的个数。

  3.1 算法参数设置

  设定种群规模n=50,维数m=2,挥发系数ρ=0.4,更新率?酌=0.6,初始荧光素大小l0=5,感知范围r0=10,初始步长si(0)=0.03,变化系数?茁=0.08,最大迭代次数itermax=200。

  3.2 算法仿真结果分析

  将200个节点随机部署在上述网络拓扑结构中,通信半径设置为R=30 m,图1和图2分别为DV-Hop算法和ASGSODV-Hop算法的定位误差图,图中‘*’表示信标节点,‘o’表示待定位节点估计位置,‘▽’表示待定位节点实际位置,‘o’和‘▽’之间的连线表示待定位节点的定位误差,线段越长,定位误差越大,反之越小。从图中可看出,改进算法的估计位置和实际位置之间的线段更短,即它们之间的定位误差更小。通过DV-Hop算法得出的平均定位误差为17.48,定位精度为34.96%,ASGSODV-Hop算法的平均定位误差为10.62,定位精度为21.24%。由此可知ASGSODV-Hop算法的平均定位误差和定位精度明显优于传统DV-Hop算法。

001.jpg

  在定位技术中,通信半径、节点数及网络连通度的变化都会影响定位精度,下面分别讨论两种算法在不同通信半径、不同信标节点数以及不同网络连通度条件下的定位精度。

  (1)不同通信半径

002.jpg

  图3表示通信半径从15 m~40 m时两种算法的平均定位误差曲线图,在区域内随机部署200个节点,20个信标节点。从图中可知,在同样参数条件下,两种算法的平均定位误差均随通信半径的不断增加逐渐降低,并且当通信半径在15 m~30 m范围内时,平均定位误差下降速率较快;通信半径在30 m以后时,平均定位误差趋于稳定,并且在稳定区域内,ASGSODV-Hop算法的平均定位误差比DV-Hop减小约35.28%。在整个通信半径变化区域内,与DV-Hop算法相比较,ASGSODV-Hop算法的平均定位误差可降低约43.51%,使精度明显提升。

  (2)不同节点数

003.jpg

  图4表示通信半径为R=30 m、信标节点数为20时,节点总数由100变化至400的平均定位误差曲线。从图中可看出,在相同条件下两种算法的平均定位误差均随节点数的增大而减小,并且当节点数在200~400之间时,待定位节点误差趋于稳定。经分析可知ASGSODV-Hop算法的平均定位误差比DV-Hop算法降低了约47.98%;当节点数小于200时两种算法的定位误差下降幅度较大,此时与传统DV-Hop算法相比,ASGSODV-Hop算法的平均定位误差可下降约52.73%。

  (3)不同网络连通度

  由于DV-Hop算法是根据网络连通性来进行定位的,网络连通度这个概念一定意义上可反映定位区域中节点间的相互位置、节点通信半径以及节点数量间的相互关系。图5为不同网络连通度下两种算法的平均定位误差曲线,从图中可清晰看出随着网络连通度参数值的升高定位误差逐渐减小,当网络连通度大于20时,两种算法的定位误差值变化都比较平缓。与传统DV-Hop算法相比,ASGSODV-Hop算法的平均定位误差降低约51.76%。

4 结论

  本文在充分研究DV-Hop算法的基础上,针对定位精度较低这一缺点,在无需附加硬件和通信量的条件下采用ASGSO算法对DV-Hop算法的待定位节点坐标进行优化。通过理论分析和算法仿真实验证明,经ASGSO算法优化后的DV-Hop算法使定位误差下降约      46.49%,定位精度得到明显提高。此外,ASGSO算法的高效运行可有效提高DV-Hop算法在WSN中的适用性,使其应用更为广泛。

  参考文献

  [1] 郑军,张宝贤.无线传感器网络技术[M].北京:机械工业出版社,2012.

  [2] BULUSU N, HEIDEMANN J, ESTRIN D. GPS-less low cost outdoor localization for very smal devices[J]. IEEE Personal  Communications  Magazine, 2000,7(5):28-34.

  [3] NICULESCU D, NATH B. DV-based positioning in ad hoc networks[J]. Journal of Telecommunication Systems, 2003,22 (1):267-280.

  [4] NICOLESCU D, NATH B. Ad-Hoc positioxung systems (APS)[C]. Proc.of the 2001 IEEE Global Telecommunications Conference, San Antonio, USA, 2001:2926-2931.

  [5] He Tian, Huang Chengdu, BRIAN M B, et al. Range-free localization schemes for large scale sensor networks[C]. In Proceedings of the 9th Annual International Conference on Mobile Computing and Networking, New York, USA, ACM Press, 2003:81-95.

  [6] 涂巧玲,宋佳,胡涛.一种加权的DV-Hop定位改进算法[J].通信技术,2013,46(9):58-60.

  [7] 曹欲晓,张倩,李艳冰,等.基于蝙蝠算法的DV-Hop定位改进[J].计算机测量与控制,2015,23(4):1273-1275.

  [8] 李仁和,丁勤,王洪元,等.基于自适应粒子群算法的改进DV-Hop定位算法[J].计算机与应用化学,2014,31(10):1201-1204.

  [9] 欧阳喆,周永权.自适应步长萤火虫优化算法[J].计算机应用,2011,31(7):1804-1807.

  [10] 吕聪颖.智能优化方法的研究及其应用[M].北京:中国水利水电出版社,2014.

  [11] 张万里,宋启祥.遗传算法的DV-Hop算法改进[J].重庆大学学报,2015,38(3):159-166.


此内容为AET网站原创,未经授权禁止转载。