CN113365371B - 一种多项式近似的差分进化节点定位方法 - Google Patents
一种多项式近似的差分进化节点定位方法 Download PDFInfo
- Publication number
- CN113365371B CN113365371B CN202110639068.4A CN202110639068A CN113365371B CN 113365371 B CN113365371 B CN 113365371B CN 202110639068 A CN202110639068 A CN 202110639068A CN 113365371 B CN113365371 B CN 113365371B
- Authority
- CN
- China
- Prior art keywords
- node
- anchor
- hop count
- nodes
- unknown
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W16/00—Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
- H04W16/22—Traffic simulation tools or models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本发明提供一种多项式近似的差分进化节点定位方法,所述的方法包括步骤如下:S1:通过锚节点泛洪信息,网络中的所有锚节点获得锚节点的跳数和位置信息;S2:根据获得的锚节点的位置信息,计算锚节点间的最优跳数;S3:根据锚节点间的最优跳数,计算每个锚节点的跳数调整因子;S4:利用锚节点的跳数调整因子来修正未知节点到锚节点的跳数;S5:未知节点通过多项式近似估计自身与锚节点之间的距离,得到估计距离;S6:未知节点根据锚节点坐标和估计距离构建目标函数,并通过差分进化求得目标函数的最小值对应的解作为未知节点坐标,从而实现对未知节点的定位。本发明为不同锚节点引入权值,使得其在未知节点坐标计算中所占的重要程度更加合理,进而实现在不同网络下的精准定位。
Description
技术领域
本发明涉及无线传感器网络技术领域,更具体地,涉及一种多项式近似的差分进化节点定位方法。
背景技术
无线传感器网络(WSNs)被称为本世纪极具影响的21项技术之一,属于计算机、通信和数学等多个学科的交叉性前沿领域。它是一种由布置在监测区域内的多个具有一定功能的传感器节点通过数据收集、数据传输等方式所形成的自组织数据处理网络。通过网络中传感器节点的密集部署,可实现数据的收集量化、数据聚合和数据传输操作。无线传感器网络作为一种现代智能网络,已被广泛应用于军事、物联网、环境监测、现代交通(如近两年的共享单车等)、便捷快递、现代医疗、工业、空间探索等多个领域,发展前景十分广阔。在大量无线传感器网络的应用中,收集到的数据若没有对应的位置信息将使得数据失去价值。因此,定位技术是无线传感器网络研究领域的热点之一。
在无线传感器网络中,定位算法都可以分为顶层的距离估计和底层的位置估计两个阶段。其中顶层的距离估计方法是测距和无测距定位算法的主要差异之处。根据是否需要通过硬件手段直接测量收发机之间的距离,无线传感器网络的定位算法可以分为测距(Range-based)和无测距(Range-free)两种类型。基于测距的定位算法大部分需要在收发机之间安装特定的硬件设备,再基于这些硬件,通过接收信号的物理特征来估计收发机之间的距离。这些物理特征最常用的有四种,分别是到达时间(Time of Arrival,ToA),到达时间差(Time Different of Arrival,TDoA),接收信号强度(Received Signal Strength,RSS)以及到达角(Angle of Arrival,AoA),其中基于到达角的定位算法要求接收机安装天线阵列。无测距定位算法是利用网络的连通性来估计节点之间的距离,例如节点间最短路由路径的跳数。由于不需要在传感器节点上安装额外的硬件设备,因此低成本的非测距定位算法尤其适用于大规模的无线传感器网络。
基于具体手段的不同,非测距定位算法还可以分为三类,分别是基于几何约束(Geographical Constraint Based)、基于跳进(Hop Progress Based)以及基于机器学习(Machine Learning Based)的定位算法。
下面介绍一些现存的具有代表性的非测距定位方法:
DV-Hop[D.Niculescu and B.Nath,“DV based positioning in ad hocnetworks,”Telecommunication Systems,vol.22,pp.267–280,2003]是基于跳进的定位方法,由锚节点根据泛洪收集到的跳数和距离信息计算平均跳进(Average Hop Progress,AHP),再利用节点间的跳数乘以AHP得到节点间的距离,最后使用多边定位法定位。
LAEP[Y.Wang,X.Wang,D.Wang,and D.P.Agrawal,“Range-free localizationusing expected hop progress in wireless sensor networks,”IEEE Transactions onParallel and Distributed Systems,vol.20,no.10,pp.1540–1552,October 2009]是基于几何约束的定位方法,由传感器节点根据网络节点密度计算得到每跳期望距离(Expected Hop Progress,EHP),再用节点间的跳数乘以EHP得到节点间的距离从而实现定位。
LSVM[S.Lee,B.Koo and S.Kim,"RAPS:Reliable Anchor Pair Selection forRange-Free Localization in Anisotropic Networks,"in IEEE CommunicationsLetters,vol.18,no.8,pp.1403-1406,Aug.2014]是基于机器学习的定位方法,将网络划分为多个不重叠区域,在X轴和Y轴上利用多个支持向量机对锚节点的信息进行训练,最后将未知节点的数据输入到所构建的支持向量机树从而确定其所在的区域,并以该区域的中心作为未知节点的坐标近似值。
在现有的大多数定位方案中,均对传感器网络所部署的环境做了理想的假设,因此方案DV-Hop[D.Niculescu and B.Nath,“DV based positioning in ad hocnetworks,”Telecommunication Systems,vol.22,pp.267–280,2003]和LAEP[Y.Wang,X.Wang,D.Wang,and D.P.Agrawal,“Range-free localization using expected hopprogress in wireless sensor networks,”IEEE Transactions on Parallel andDistributed Systems,vol.20,no.10,pp.1540–1552,October 2009]在这种情况下的定位结果是可以接受的。
然而,在实际的大型传感器网络部署中,传感器节点通常是通过飞行器的低空播撒来部署的,这种方式将导致网络中节点的位置分布不均匀。由于LAEP方法是根据网络中节点密度来计算EHP值的,因此网络节点的不均匀分布将给LAEP方案带来较大的定位误差。再者,所要监测的环境通常存在障碍物、湖泊等节点无法部署的区域,由此将在网络中形成“覆盖空洞”。如图1所示,“覆盖空洞”的出现将导致节点间的最短路由路径产生迂回。此时,DV-Hop和LAEP等通过跳数乘以每跳距离来估计距离的方案将出现较大的距离估计误差。在现有的无距离算法中,距离估计通常依赖于节点间统一的每跳长度(PHL)度量。但在各向异性的无线传感器网络中,不同节点之间的PHL可能存在较大差异,导致距离估计误差较大。
实际应用中,节点是随机播撒在检测区域内,网络的拓扑结构是不规则的,对于拓扑不规则的网络,由于节点分布不可能均匀,必将存在以下几方面的缺陷:
(1)跳数信息不合理
WSN在定位时使用最小跳数信息计算节点之间的距离,而WSN节点绝大都是随机的不均匀分布,通常在统计跳数时,但凡在传输半径内的节点都按1跳为基数累加,这种统计方法存在不合理,当通信半径较大时,1跳内的距离误差过大会导致距离估计产生很大的累积误差。
举一个例子,如图2所示,未知节点X1,X2,X3,X4是在锚节点S的通信范围内,锚节点与未知节点之间的跳数都记为1跳,根据跳距距离公式可得:
但是从图2中可以明显地看出4个未知节点与锚节点的实际距离:
即节点X1,X2,X3,X4到节点S的实际距离与一跳为整数的距离都存在误差。若是在实际计算中,如果认为跳数相等就会带来很大的误差,因此跳数值不能直接记为1,应该根据节点间的距离进行相应的变化。
在锚节点距离相同的情况下跳数越多引起的积累误差越大,当节点密度越大时,信标节点一跳的邻居节点个数也会增加,出现跳数计算不准确的节点也会增多,从而导致误差的增加。所以需要对待定位节点到锚节点的最小跳数进行修正,从而减少因为跳数对节点定位造成的影响
(2)平均跳距的估计值不准确
在利用DV-HOP算法定位时,节点之间并不是都是直线距离,绝大多数都是曲折路径,如图3所示节点密度越小折线率越高。因此当网络中未知节点和信标节点之间的跳数值大于1跳时,以折线结构的跳段距离近似代替直线距离,平均每跳距离的估算值与实际值误差就会加大,导致跳段距离偏差较大,且误差与节点间的跳数值成正比。(如图3所示)而在距离计算时,未知节点通常使用同一个节点的平均跳距去计算位置坐标,势必存在一定的定位误差
(3)定位的计算方法累计误差
多边测量方法虽然没有复杂的计算过程而且计算量较低,但其很大程度受限于第二阶段的跳距估算。而最大似然估计法虽然计算精度较高,但在求解过程中,需要进行迭代运算,其复杂度相对来说很高,同时还可以看出包含的矩阵A,b对求解结果有重要影响,必然会给定位结果带来一定误差;另外,最大似然估计法计算坐标过程中存在许多的浮点运算,计算开销所带来的功耗不可忽略。
综上所述,无线传感器网络中各向异性因素的存在将对定位算法的性能产生较大的影响,而且各项异性因素在不同部署环境的网络中差异巨大,使得设计的定位方案在不同网络中的性能波动较大,难以在所有环境的网络中均取得较好的定位性能,加上目前大部分定位算法采用的坐标计算方式存在固有缺陷,进一步限制了算法的定位精度。
发明内容
本发明为了解决无线传感器网络中各向异性因素的存在,且目前定位算法存在固有缺陷,导致定位精度不高的问题,提供了一种多项式近似的差分进化节点定位方法,其为不同锚节点引入权值,使得其在未知节点坐标计算中所占的重要程度更加合理,进而实现在不同网络下的精准定位。
为解决上述技术问题,本发明的技术方案如下:
一种多项式近似的差分进化节点定位方法,所述的方法包括步骤如下:
S1:通过锚节点泛洪信息,网络中的所有锚节点获得锚节点的跳数和位置信息;
S2:根据获得的锚节点的位置信息,计算锚节点间的最优跳数;
S3:根据锚节点间的最优跳数,计算每个锚节点的跳数调整因子;
S4:利用锚节点的跳数调整因子来修正未知节点到锚节点的跳数;
S5:未知节点通过多项式近似估计自身与锚节点之间的距离,得到估计距离;
S6:未知节点根据锚节点坐标和估计距离构建目标函数,并通过差分进化求得目标函数的最小值对应的解作为未知节点坐标,从而实现对未知节点的定位。
优选地,步骤S2,所述的锚节点间的最优跳数Hij,计算公式如下:
Hij=dij/R (1)
式中,dij表示锚节点i与锚节点j之间的真实距离,其根据锚节点的位置信息计算得到;R表示锚节点i与锚节点j之间的通信半径。
进一步地,步骤S3,所述的跳数调整因子,具体计算如下:
先计算锚节点间的最优跳数值的占比率Mij
Mij=Hij/hij (2)
其中,hij表示锚节点i与锚节点j之间的实际跳数;Hij表示锚节点i与锚节点j之间的最优跳数值;
把每个锚节点与其他锚节点最优跳数值得占比率Mij的均值作为自身的跳数调整因子,每个锚节点的跳数调整因子:
再进一步地,步骤S4,修正未知节点到锚节点的跳数,公式如下:
hik=λi*h′ik (4)
其中,h′ik表示未知节点k到锚节点i的实际最小跳数。
再进一步地,步骤S5,采用多项式近似建立距离估计模型,以映射网络中节点间跳数和距离之间的复杂非线性关系;
给定函数f(·)的测试数据集(xk,yk),k=1,...,m;xk是节点之间的跳数值,yk是距离值;
采用N次的多项式φ()来近似函数f(·)
φ(x)=a0+a1x+a2x2+…+aNxN (5)
式中,a0、a1、a2表示多项式系数,通过最小化下列目标函数来求解多项式系数,
再进一步地,先使用如下多项式定义锚节点i与其他锚节点之间的距离
选择3次多项式来近似,得到一个如下形式的矩阵:
式中,hin表示锚节点i与锚节点n之间的跳数;
用最小二乘法确定α的最佳值,求解如下方程
α=(HTH)-1HTD (9)
从而确定多项式系数a0、a1、a2、α3;
然后,每个锚节点在网络中广播一个包括其计算的多项式系数的数据包;当一个未知节点从锚节点接收到第一个到达的数据包时,则该数据包到这个未知节点有最小的跳数;之后,每个未知节点计算自身与锚节点之间的距离
式中,N表示锚节点数量;hik表示未知节点k到锚节点i的跳数。
再进一步地,所述的差分进化优化算法包括变异、交叉、选择几种遗传操作。
一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述的处理器执行所述的计算机程序时,实现所述的方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述的计算机程序被处理器执行时,实现所述的方法的步骤。
与现有技术相比,本发明技术方案的有益效果是:
本发明首先把锚节点间的跳数实数化,求出各个锚节点的跳数调整因子,未知节点使用离本身最近的锚节点的跳数调整因子来求得自己到未知节点的跳数,然后用多项式近似节点间跳数与距离之间的关系,最后用差分进化优化算法求出未知节点的坐标,该方法克服了原有方法的缺陷,并为不同锚节点引入权值使得其在未知节点坐标计算中所占的重要程度更加合理,进而实现在不同网络下的精准定位。
本发明首先把锚节点间的跳数实数化,求出各个锚节点的跳数调整因子,未知节点使用离本身最近的锚节点的跳数调整因子来求得自己到未知节点的跳数,使统计的最小跳数更加合理。
本发明使用差分进化优化算法求解坐标,而且锚节点在未知节点坐标的计算中引入了对应的权重,使得不同锚节点在坐标计算过程中所占的重要程度更加合理,从而提高定位精度。
附图说明
图1是现有技术中覆盖空洞导致迂回路径示意图。
图2是现有技术节点1跳距离示意图。
图3是现有技术节点在稀疏与稠密场景下的路径轨迹对比图。
图4是实施例1所述的节点定位方法的流程示意图。
图5是实施例1所述的Square形网络示意图。
图6是实施例1所述的S-shaped网络示意图。
图7是实施例1所述的O-shaped网络示意图。
图8是节点密度变化时Square形网络中的定位误差。
图9是节点密度变化时S形网络中的定位误差。
图10是节点密度变化时O形网络中的定位误差。
图11是锚节点数量变化时Square形网络的定位误差。
图12是锚节点数量变化时S形网络的定位误差。
图13是锚节点数量变化时O形网络的定位误差。
图14是节点通信半径变化时Square形网络的定位误差。
图15是节点通信半径变化时S形网络的定位误差。
图16是节点通信半径变化时O形网络的定位误差。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,仅用于示例性说明,不能理解为对本专利的限制。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
如图1所示,一种多项式近似的差分进化节点定位方法(英文表示为:proposed),该方法在无线传感器网络中存在若干位置已知的锚节点的条件下,通过利用不同锚节点之间的连通关系,即节点间最短路由路径跳数,实现未知节点定位。
所述的节点定位方法包括步骤如下:
S1:通过锚节点泛洪信息,网络中的所有锚节点获得锚节点的跳数和位置信息;
S2:根据获得的锚节点的位置信息,计算锚节点间的最优跳数;
S3:根据锚节点间的最优跳数,计算每个锚节点的跳数调整因子;
S4:利用锚节点的跳数调整因子来修正未知节点到锚节点的跳数;
S5:未知节点通过多项式近似估计自身与锚节点之间的距离,得到估计距离;
S6:未知节点根据锚节点坐标和估计距离构建目标函数,并通过差分进化求得目标函数的最小值对应的解作为未知节点坐标,从而实现对未知节点的定位。
在一个具体的实施例中,步骤S2,所述的锚节点间的最优跳数Hij,计算公式如下:
Hij=dij/R (1)式中,dij表示锚节点i与锚节点j之间的真实距离,其根据锚节点的位置信息计算得到;R表示锚节点i与锚节点j之间的通信半径。
在一个具体的实施例中,步骤S3,所述的跳数调整因子,具体计算如下:
先计算锚节点间的最优跳数值的占比率Mij
Mij=Hij/hij (2)
其中,hij表示锚节点i与锚节点j之间的实际跳数;Hij表示锚节点i与锚节点j之间的最优跳数值;
把每个锚节点与其他锚节点最优跳数值得占比率Mij的均值作为自身的跳数调整因子,每个锚节点的跳数调整因子:
在一个具体的实施例中,步骤S4,修正未知节点到锚节点的跳数,公式如下:
hik=λi*h′ik (4)
其中,h′ik表示未知节点k到锚节点i的实际最小跳数。
本实施例步骤S1~S3是实现跳数实数化阶段,针对跳数对定位结果造成误差的问题,提出了一种方法来改进节点之间跳数的计数,具体步骤为:引入最优跳数值,最优跳数占比率和跳数调整因子这3个参数。
由于未知节点可以通过多跳传输与网络中所有锚节点进行通信,因此本实施例提出的方法可以实现整个网络中所有未知节点的定位,即实现百分之百的定位覆盖。
在一个具体的实施例中,步骤S5,采用多项式近似建立距离估计模型,以映射网络中节点间跳数和距离之间的复杂非线性关系;
假设给定函数f(·)的测试数据集(xk,yk),k=1,...,m;xk是节点之间的跳数值,yk是距离值;
采用N次的多项式φ()来近似函数f(·)
φ(x)=a0+a1x+a2x2+…+aNxN (5)
式中,a0、a1、a2表示多项式系数,
目标就是找到系数a0,a1,...aN,原则上,这可以通过最小化下列目标函数来实现求解多项式系数,
这就引出了所谓的最小二乘问题。
本实施例对于多项式次数的选择,首先使用如下多项式定义锚节点i与其他锚节点之间的距离
关于多项式次数的选择问题,通过实验数据来决定。主要做了两组实验,一是锚节点数量从10变化50,二是节点密度从0.01变化0.03,记录在S形,O形,Square三种网络拓扑中节点的定位误差,并统计了密度从0.01到0.03区间中的平均定位误差,锚节点数量从10到50区间中的平均定位误差,结果如表1和表2所示。
表1:锚节点数量变化下,多项式系数1~4阶的定位误差表
对表1中的数据进行分析,可以得到如下结论:随着锚节点数量的增加,无论选择几次多项式,三种网络中节点的定位误差刚开始都下降得比较明显,后来逐渐趋于稳定;对于Square和O形网络来说,多项式次数由1增加到3时,节点的定位误差逐渐变大,但变化平缓,不显著,阶数增加到4次时误差增加明显,对于S形网络来说,随着多项式系数的增加,节点的定位误差逐渐降低,到3次时降到最低,且下降的幅度较大,之后误差开始变大。
对表2中的数据进行分析,可以得到类似的结论:随着节点密度的增加,无论选择几次多项式,三种网络中节点的定位误差刚开始都下降的比较明显,后来逐渐趋于稳定。对于S形网络来说,随着多项式系数的增加,节点的定位误差逐渐降低,到3次时降到最低,之后误差开始变大;对于Square形网络来说,随着多项式系数的增加,节点的定位误差逐渐变大,但变化平缓,不显著,阶数增加到4次时误差增加明显,对于O形网络来说,节点误差变化不明显。综上分析选择3次多项式来近似跳数和距离之间的关系比较合理。
表2:节点密度变化下,多项式系数1~4阶的定位误差表
因此本实施例选择3次多项式来近似,得到一个如下形式的矩阵:
式中,hin表示锚节点i与锚节点n之间的跳数;
用最小二乘法确定α的最佳值,为求节点间距离近似的多项式函数,求解如下方程:
α=(HTH)-1HTD (9)
计算不同的系数时,H、D不一样,每个锚节点都有自身到其余锚节点的跳数向量和距离向量;
从而确定多项式系数a0、a1、a2、α3;
然后进行多项式系数的广播,具体如下:每个锚节点在网络中广播一个包括其计算的多项式系数的数据包;当一个未知节点从锚节点接收到第一个到达的数据包时,则该数据包到这个未知节点有最小的跳数;之后,每个未知节点计算自身与锚节点之间的距离:
式中,N表示锚节点数量;hik表示未知节点k到锚节点i的跳数。
所述的差分进化算法(Differential Evolution,DE)是一种基于种群遗传进化的随机优化算法。差分进化算法同其他进化类算法相似,算法内都包括变异、交叉、选择这几种遗传操作。差分进化算法借助群体中个体间的差分信息对个体进行变异,然后采用基于概率机制执行交叉操作,最后算法通过贪婪选择机制更新种群。在差分进化算法中,被选择执行变异操作的原始向量X称为″目标向量″(Target vector);通过差分变异操作后得到的变异向量V称为″贡献向量″(Donor vector),本质上该向量是一种过渡型向量;将目标向量和贡献向量进行交叉组合生成的新向量U称为″试验向量″(Trial vector);最后算法通过贪婪选择的方式从目标向量X和试验向量U中选择适应度更好的向量进入到下一次进化迭代中。差分进化算法的主要参数包括:种群的规模NP,变异策略中的缩放因子F,以及交叉策略中的交叉概率因子CR。差分进化算法的过程可以概括为以下几个方面:种群初始化,变异操作交叉操作,选择操作。
1)种群初始化
差分进化算法DE和其他基于群智能的优化算法类似,种群中有多个个体,
每个个体都可以看作为问题搜索空间中的一个解。假设当前的种群规模大小为NP,则当前种群Pt可以描述为如下的形式:
其中,t表示当前进化代数且t=0,1,2,...,Tmax;Xi,t表示种群中的第i个个体向量,也称为“染色体”或“个体”。Xi,t代表了问题搜索空间中的一个可行解并可表述为一个D维向量这里的D表示问题搜索的维度数。通常在种群初始化时(t=0)需要尽可能的覆盖整个搜索空间,因此差分进化算法中采用符合均匀分布的随机函数来产生初始解,例如粒子i的第j维的元素值可通过公式:
2)变异操作
变异在生物学上是指染色体上的某个位置的基因发生改变,而在进化计算模型中变异则指的是通过随机扰动方法来对某个位置的数值进行改变。差分进化算法通过变异操作来保持群体的多样性。公式(12)描述了一种相对较为简单的变异策略:
Vi,t=Xr1,t+F×(Xr2,t-Xr3,t) (12)
式中,r1、r2、r3为从种群中随机选择的三个个体的编号,且满足r1≠r2≠r3因此从这里可看出种群的规模必须满足NP>4;Xr1,t表示被选择执行变异操作的向量,也称为“目标向量”或者“基向量”;Xr2,t和Xr3,t表示被选择执性差分操作的两个随机向量。差分向量的系数F称为缩放因子,主要用来控制差分向量对整体影响的程度;通过差分变异操作后得到的变异向量Vi,t称为对个体i的“贡献向量”。从本质上分析该向量是一种过渡型向量。
3)交叉操作
通过前面的变异操作为个体i生成了一个贡献向量(Vi),此时算法就可以根据目标向量Xi和贡献向量Vi进行交叉操作产生试验向量Ui,
在进化计算的方法中交叉操作的方式往往有多种,例如随机交叉,单点交叉两点交叉等,而基本差分进化算法中个体交叉的方式与传统的交叉操作略有不同,差分进化算法中采用了二项式交叉。
所述的二项式交叉的原理:二项式交叉过程受到交叉概率的影响,在产生试验向量每个维度的过程中,都要根据随机数与交叉概率的大小关系来确定当前的维度元素是选自目标向量还是贡献向量。
所述的二项式交叉的计算公式如下:
其中,randj(0,1)为[0,1]之间的随机小数;j=jrand为[0,D]之间的随机整数,设置jrand的目的是为了确保试验向量Ui至少有一个元素继承自贡献向量Vi。二项式交叉操作是目前采用最为广泛的一种交叉方式,也是实验效果较为理想的一种交叉方式。
3)选择操作
在种群迭代过程中为保持当前群体的规模不变,差分进化算将采用贪婪选择机制对目标向量Xi与前面经变异操作和交叉操作生成的试验向量Ui进行选择。其中适应度表现较好的向量将被选择进入下一代种群。所述的贪婪选择的过程根据如下公式进行:
式中,将试验向量选择的条件设置为f(Ui,G)≤f(Xi,G)而不是f(Ui,G)<f(Xi,G),可以确保算法在出现适应度数值没有改变的情况下,目标向量还是会有可能被试验向量取代,从而可以有效避免算法因搜索不到比当前最佳解更好的解时陷入搜索停滞的状态。另外,从贪婪选择公式可以看出,每次迭代中如果试验向量的适应度小于当前目标向量的适应度(以最小化问题优化为例),则试验向量将淘汰当前的个体(目标向量)并被选入到下一代种群中。反之,如果试验向量的适应度大于当前目标向量的适应度,则目标向量将被选入下一代种群中。因此,种群在迭代的过程中不会出现总体平均适应度下降的情况,即使在搜索过程中遇到这也是DE算法在实际问题优化时搜索效率高的主要原因。
为了验证本实施例中针对无线传感器网络的节点定位方法(英文表示为:proposed)的有效性,进行了仿真实验。实验环境的计算机配置:CPU为core(TM)i7-8700K,内存为16G,操作系统为Windows 10,使用Matlab编程。具体实验参数设置为:首先在一个100m×100m的正方形区域内生成包含总共300个节点的网络,在本实施例的仿真分析中,考虑了三个变量,分别是节点的通信半径,网络中节点的密度(Node Density)以及锚节点的数量(Number of Anchors)。节点的传输半径从20m到45m不等,其中锚节点的数量(Numberof Anchors)从10到50不等,节点密度从0.01到0.03不等。其中,对于包含N个节点的网络,节点密度λ定义为网络监测区域A中,单位面积内的节点数量:
此外,实验将针对三种各向异性网络模型进行仿真,分别是均匀网络,存在O型覆盖空洞的网络以及存在S型覆盖空洞的网络。在均匀网络中,不存在覆盖空洞,而节点在整个网络中都服从均匀分布的。三种网络的示意图分别如图5、图6和图7所示。
本实施例首先使用多项式近似进行距离估计,然后通过设计的坐标计算公式对未知节点进行定位。为了评估算法的有效性,我们引入定位精度的归一化均方根误差(Normalized Root Mean Square Error,NRMSE)来评价算法的性能,性能指标的具体计算方式分别为:
图8展示了本节点定位方法在图5所示的Square形简单网络中,随着节点密度的增加,提出本实施例所述的节点定位方法的定位性能。如图8所示,本方案节点定位方法的定位精度随着节点密度的增加而提高。因为节点密度提高时,节点的连通性变强,在多跳传输链路中的中继节点就更有可能落在源节点和目的节点的连线上,使得路径的跳数趋近于其下界,从而能得到较为准确的距离估计。但从图9所示的定位性能结果看出,本实施例提出的节点定位方法在节点密度低至0.012时就能达到很好的定位精度,原因是本实施例提出的节点定位方法的坐标计算方法收敛快,且有很强的寻优能力。
图9展示了本节点定位方法在图6所示的S-shaped复杂网络中随节点密度变化的定位性能。由图9可以明显的看出,在S型网络下,除了RAPS算法的性能与O型网络下没有太明显的变化外,其余所有算法的定位性能均有比较严重的下降。并且这些算法在该网络条件下的定位结果甚至不可用。例如在复杂的S-shaped网络中,DV-Hop[D.Niculescu andB.Nath,“DV based positioning in ad hoc networks,”Telecommunication Systems,vol.22,pp.267-280,2003]和LAEP[Y.Wang,X.Wang,D.Wang,and D.P.Agrawal,“Range-free localization using expected hop progress in wireless sensor networks,”IEEE Transactions on Parallel and Distributed Systems,vol.20,no.10,pp.1540-1552,October 2009]两个算法的定位误差一直大于0.8,与在简单网络中的性能存在较大的差异,可以发现,在节点密度高于0.022时,绝大部分的算法的定位性能均已经出现了收敛。此时可以预料,再继续提高节点的密度对于提高算法的性能没有太大的意义,甚至会降低性能。主要的原因是,对于拓扑比较复杂的网络,网络中大部分从待定位节点到锚节点的路径均出现了迂回。此时待定位节点到大部分锚节点的跳数会增加,进而导致较大的距离估计误差,本实施例提出的节点定位方法使用跳数修正因子调整未知节点到锚节点的跳数,使其更接近真实跳数,因此提高了定位精度。
图10展示了本实施例提出的节点定位方法在图7所示的O-shaped复杂网络中随节点密度变化的定位性能。从图10中可以看出本实施例提出的节点定位方法的定位性能随着节点密度的增加一直在缓慢提高,在密度为0.016时定位误差已低至0.3。在节点密度增加至0.02时,DV-Hop等基于跳距的定位算法的性能基本上都出现了收敛的情况。因此对于这类型的算法,通过提高节点密度来提高算法的性能并没有太大的意义。RAPS[S.Lee,B.Kooand S.Kim,"RAPS:Reliable Anchor Pair Selection for Range-Free Localization inAnisotropic Networks,"in IEEE Communications Letters,vol.18,no.8,pp.1403-1406,Aug.2014]算法的误差更是一直高于0.9。综合上述实验结果和分析,本实施例提出的节点定位方法在定位性能提升的同时,确保了算法在不同网络中性能表现的稳定性,表明本实施例提出的节点定位方法的有效性。
图11展示了本实施例提出的节点定位方法在图6所示的Square形简单网络中,随着锚节点数量的增加,本实施例提出的节点定位方法的定位性能。如图11所示,本实施例提出的节点定位方法的定位精度随着锚节点数量的增加而提高。DV-Hop和LAEP算法是针对均匀网络提出的,在该网络中性能尚可。但在锚节点数量越多时,本实施例提出的节点定位方法的定位精度的提升越发明显。在该网络中,定位精度提升的原因是随着锚节点数量的增加,网络能够收集到更多的模型输入数据。因此计算出的距离估计模型具备更强的泛化能力,本实施例提出的节点定位方法的定位精度提升越明显。
图12展示了本实施例提出的节点定位方法在图6所示的S-shaped复杂网络中随着锚节点数量变化的定位性能。随着锚节点数的增加,本实施例提出的节点定位方法在定位精度上与其他方案相比,性能增益愈发显著。从图12可以比较明显的看出,该网络中LAEP算法性能很差。在锚节点数量高于15的情况下,DV-Hop等基于跳距的定位算法的性能基本上都出现了收敛的情况,因此对于这类型的算法,通过提高锚节点的数量来提高算法的性能并没有太大的意义。而反观RAPS算法,随着锚节点数量的提升,其定位性能均有明显的改善,这说明了这类型的算法可以有效地利用锚节点的信息进行相应的距离估计。在50个锚节点的情况下,其他算法中最好的RAPS算法与本实施例提出的节点定位方法的定位性能仍然有将近0.2的差距,这充分证明了本实施例提出的节点定位方法针对各向异性网络的有效性。
图13展示了本实施例提出的节点定位方法在图7所示的O-shaped复杂网络中随锚节点数量变化的定位性能。从图13中可以看出与均匀网络中类似,随着锚节点数量的增加,DV-Hop等基于跳距的算法的定位性能随锚节点数量的提高变化不明显,RAPS算法定位性能随着锚节点数量的增加一直在提高,当锚节点数量为50时其定位性能达到最高,大约为0.9。但本实施例提出的节点定位方法在锚节点数量最少只有10的情况下定位性能就达到了0.4。可以看出本实施例提出的节点定位方法无论是在如图6所示的较为简单的网络中,还是图7所示的复杂网络中,均获得了较好的定位精度,表明本实施例提出的节点定位方法在各种网络中的有效性和适应性。
图14展示了本实施例提出的节点定位方法在图5所示的Square形简单网络中,随着节点通信半径的增加,本实施例提出的节点定位方法的定位性能。如图14所示随着通信半径的增加,LAEP和RAPS两种算法的性能极其不稳定,不具有鲁棒性。LAEP虽然在通信半径为20时有很好的性能。但通信半径增加到25时其定位误差就一直高居不下,原因是该算法是直接根据设定好的通信半径、节点密度和跳数信息来估计自己到锚节点的距离。当半径变化时,距离估计误差会变大,导致其定位性能较差。在半径小于25时本实施例提出的节点定位方法会略逊于DV-Hop算法。但随着半径的增大,所提出的方法优势越来越明显,原因是随着通信范围的增大,节点可以与更多的节点建立直接连接,即有更多的单跳节点。如果直接记为整数跳的话,距离估计误差会增大。本实施例提出的节点定位方法根据锚节点间跳数的理论最优值把未知节点到锚节点间的跳数实数化,这样,估计的距离误差就会变小,定位结果就会更精确。
图15展示了本实施例提出的节点定位方法在图6所示的S-shaped复杂网络中随节点通信半径变化的定位性能。从图15中可以看出:随着通信半径的增加,LAEP和RAPS算法的定位误差先下降,随后又逐渐上升。而DV-Hop算法和本实施例提出的节点定位方法的定位误差一直在逐步下降,并且本实施例提出的节点定位方法的性能略优于DV-Hop算法。可以看出本实施例提出的节点定位方法无论是在较为简单的网络中,还是复杂网络中,均获得了较好的定位精度,表明所提方案在复杂网络中也有很好的适应性且表现很稳定。
图16展示了本实施例提出的节点定位方法在图7所示的O-shaped复杂网络中随节点通信半径变化的定位性能。从图16中可以看出LAEP算法在通信半径为22.5米时取得最优性能,但该算法与在均匀网络中表现类似,不具有鲁棒性。RAPS算法的性能表现起伏也较大,不具有稳定性,且定位精度很低。本实施例提出的节点定位方法和DV-Hop的性能表现相似,但从定位误差均值的角度来看,本实施例提出的节点定位方法的性能是有一定的优势的。
实施例2
一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述的处理器执行所述的计算机程序时,实现的方法步骤如下:
S1:通过锚节点泛洪信息,网络中的所有锚节点获得锚节点的跳数和位置信息;
S2:根据获得的锚节点的位置信息,计算锚节点间的最优跳数;
S3:根据锚节点间的最优跳数,计算每个锚节点的跳数调整因子;
S4:利用锚节点的跳数调整因子来修正未知节点到锚节点的跳数;
S5:未知节点通过多项式近似估计自身与锚节点之间的距离,得到估计距离;
S6:未知节点根据锚节点坐标和估计距离构建目标函数,并通过差分进化求得目标函数的最小值对应的解作为未知节点坐标,从而实现对未知节点的定位。
实施例3
一种计算机可读存储介质,其上存储有计算机程序,所述的计算机程序被处理器执行时,实现的方法步骤如下:
S1:通过锚节点泛洪信息,网络中的所有锚节点获得锚节点的跳数和位置信息;
S2:根据获得的锚节点的位置信息,计算锚节点间的最优跳数;
S3:根据锚节点间的最优跳数,计算每个锚节点的跳数调整因子;
S4:利用锚节点的跳数调整因子来修正未知节点到锚节点的跳数;
S5:未知节点通过多项式近似估计自身与锚节点之间的距离,得到估计距离;
S6:未知节点根据锚节点坐标和估计距离构建目标函数,并通过差分进化求得目标函数的最小值对应的解作为未知节点坐标,从而实现对未知节点的定位。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”,“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
Claims (10)
1.一种多项式近似的差分进化节点定位方法,其特征在于:所述的方法包括步骤如下:
S1:通过锚节点泛洪信息,网络中的所有锚节点获得锚节点的跳数和位置信息;
S2:根据获得的锚节点的位置信息,计算锚节点间的最优跳数;
S3:根据锚节点间的最优跳数,计算每个锚节点的跳数调整因子;
S4:利用锚节点的跳数调整因子来修正未知节点到锚节点的跳数;
S5:未知节点通过多项式近似估计自身与锚节点之间的距离,得到估计距离;
S6:未知节点根据锚节点坐标和估计距离构建目标函数,并通过差分进化求得目标函数的最小值对应的解作为未知节点坐标,从而实现对未知节点的定位。
2.根据权利要求1所述的多项式近似的差分进化节点定位方法,其特征在于:步骤S2,所述的锚节点间的最优跳数Hij,计算公式如下:
Hij=dij/R (1)
式中,dij表示锚节点i与锚节点j之间的真实距离,其根据锚节点的位置信息计算得到;R表示锚节点i与锚节点j之间的通信半径。
4.根据权利要求3所述的多项式近似的差分进化节点定位方法,其特征在于:步骤S4,修正未知节点到锚节点的跳数,公式如下:
hik=λi*h′ik (4)
其中,h′ik表示未知节点k到锚节点i的实际最小跳数。
6.根据权利要求5所述的多项式近似的差分进化节点定位方法,其特征在于:先使用如下多项式定义锚节点i与其他锚节点之间的距离
选择3次多项式来近似,得到一个如下形式的矩阵:
式中,hin表示锚节点i与锚节点n之间的跳数;
用最小二乘法确定α的最佳值,求解如下方程
α=(HTH)-1HTD (9)
从而确定多项式系数a0、a1、a2、α3;
然后,每个锚节点在网络中广播一个包括其计算的多项式系数的数据包;当一个未知节点从锚节点接收到第一个到达的数据包时,则该数据包到这个未知节点有最小的跳数;之后,每个未知节点计算自身与锚节点之间的距离
8.根据权利要求7所述的多项式近似的差分进化节点定位方法,其特征在于:所述的差分进化优化算法包括变异、交叉、选择几种遗传操作。
9.一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述的处理器执行所述的计算机程序时,实现如权利要求1~8任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述的计算机程序被处理器执行时,实现如权利要求1~8任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110639068.4A CN113365371B (zh) | 2021-06-08 | 2021-06-08 | 一种多项式近似的差分进化节点定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110639068.4A CN113365371B (zh) | 2021-06-08 | 2021-06-08 | 一种多项式近似的差分进化节点定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113365371A CN113365371A (zh) | 2021-09-07 |
CN113365371B true CN113365371B (zh) | 2023-01-06 |
Family
ID=77533143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110639068.4A Active CN113365371B (zh) | 2021-06-08 | 2021-06-08 | 一种多项式近似的差分进化节点定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113365371B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113938237B (zh) * | 2021-09-13 | 2023-11-07 | 广东工业大学 | 一种无锚节点间的联合时间同步和定位方法 |
CN117336851A (zh) * | 2023-10-19 | 2024-01-02 | 昆明理工大学 | 无线传感器网络的节点定位方法、装置及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102740456A (zh) * | 2012-06-05 | 2012-10-17 | 南京信息工程大学 | 一种无线传感器网络的节点定位方法 |
CN104185272A (zh) * | 2014-07-30 | 2014-12-03 | 河海大学 | 基于优化平均每跳距离和优选锚节点的wsn定位方法 |
CN108495263A (zh) * | 2018-04-04 | 2018-09-04 | 南京邮电大学 | 一种基于广义多核函数的室内定位方法 |
CN110087306A (zh) * | 2019-03-19 | 2019-08-02 | 中山大学 | 一种针对无线传感器网络的节点定位方法 |
CN111479218A (zh) * | 2020-05-09 | 2020-07-31 | 上海海事大学 | 一种基于dqpso算法的定位性能优化方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101350389B1 (ko) * | 2012-11-30 | 2014-01-16 | 숭실대학교산학협력단 | 무선 센서 네트워크를 이용한 무선 측위 방법 및 그 장치 |
-
2021
- 2021-06-08 CN CN202110639068.4A patent/CN113365371B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102740456A (zh) * | 2012-06-05 | 2012-10-17 | 南京信息工程大学 | 一种无线传感器网络的节点定位方法 |
CN104185272A (zh) * | 2014-07-30 | 2014-12-03 | 河海大学 | 基于优化平均每跳距离和优选锚节点的wsn定位方法 |
CN108495263A (zh) * | 2018-04-04 | 2018-09-04 | 南京邮电大学 | 一种基于广义多核函数的室内定位方法 |
CN110087306A (zh) * | 2019-03-19 | 2019-08-02 | 中山大学 | 一种针对无线传感器网络的节点定位方法 |
CN111479218A (zh) * | 2020-05-09 | 2020-07-31 | 上海海事大学 | 一种基于dqpso算法的定位性能优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113365371A (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113365371B (zh) | 一种多项式近似的差分进化节点定位方法 | |
CN111556454B (zh) | 一种基于最小均方误差准则的加权DV_Hop节点定位方法 | |
Nguyen et al. | Maximum likelihood based multihop localization in wireless sensor networks | |
Pandey et al. | Node localization over small world WSNs using constrained average path length reduction | |
CN111277968B (zh) | 一种基于堆栈自编码器的无线传感器网络非测距定位方法 | |
Liu et al. | Improved DV-hop localization algorithm based on bat algorithm in wireless sensor networks | |
CN110234145B (zh) | 基于可靠信标节点的dv-hop改进的无线传感器网络定位方法 | |
Cheng et al. | An anchor node selection scheme for improving RSS-based localization in wireless sensor network | |
CN113329490B (zh) | 一种基于量子虎鲨机制的无线传感器网络节点定位方法 | |
Eckert et al. | Distributed mass-spring-relaxation for anchor-free self-localization in sensor and actor networks | |
Jia et al. | A high accuracy localization algorithm with DV-Hop and fruit fly optimization in anisotropic wireless networks | |
Saha et al. | Adaptive virtual anchor node based underwater localization using improved shortest path algorithm and particle swarm optimization (PSO) technique | |
Pandian | Novel distance estimation based localization scheme for wireless sensor networks using modified swarm intelligence algorithm | |
CN115696190A (zh) | 一种优化无线传感器网络节点定位的方法 | |
Tian et al. | A survey on MDS-based localization for wireless sensor network | |
Yan et al. | A weighted range‐free localization algorithm for irregular multihop networks | |
Jahani et al. | A clustering algorithm for mobile ad hoc networks based on spatial auto-correlation | |
Min et al. | An improved DV-Hop positioning algorithm in wireless sensor networks | |
Rayavarapu et al. | MOANS DV-Hop: An anchor node subset based localization algorithm for wireless sensor networks | |
CN107147995B (zh) | 基于Tikhonov规则化的无线定位方法 | |
Ba et al. | Evaluation study of self-stabilizing cluster-head election criteria in wsns | |
Zhao et al. | An efficient localization algorithm for mobile wireless sensor networks | |
Zheng | An improved localization approach based on Sybil attack for WSN | |
Babu et al. | Cuckoo search and M-tree based multicast Ad hoc on-demand distance vector protocol for MANET | |
Khoshrangbaf et al. | Ant colony based coverage optimization in wireless sensor networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |