一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种改进的混合萤火虫粒子群优化的DV-Hop定位方法

2022-07-13 14:07:12 来源:中国专利 TAG:

一种改进的混合萤火虫粒子群优化的dv-hop定位方法
技术领域
1.本发明属于无线传感器网络定位技术领域,具体涉及一种改进的 混合萤火虫粒子群优化的dv-hop定位方法


背景技术:

2.无线传感器网络一直是科研人员研究的主要热点,它是传感器节 点在自主工作的方式下构成的无线网络,主要涉及智能家居,目标跟 踪,军事安全和水下勘探等许多技术领域。
3.全球定位系统是一种可以实现全球覆盖的定位技术,但在复杂环 境下定位精准度不高。若实现小范围环境下的精准定位,无线传感器 网络中需要配备含有gps模块的设备,这需要消耗很大的成本和能量。 为减少开支和电池消耗,只将少量节点配备gps模块,来实现局部范 围内定位。节点定位算法主要分为两类:基于测距算法和基于非测距 算法。基于测距的算法主要借助额外的设备和工具,对目标节点实现 精准测量,定位精度高,但需要昂贵的成本和考虑时间同步问题;基 于非测距算法不需要额外的硬件设备,只需要少量锚节点进行全网络 洪泛通信,通过节点间分布式交互转发信息,间接计算未知节点的位 置。
4.无线传感器网络定位具有非常广阔的应用前景。节点定位技术为 实现这些应用发挥着重要作用。在节点定位算法中,距离矢量跳 (dv-hop)算法为各向同性网络提供了一种简单,可行且低成本的 定位方案,引起了人们广泛的兴趣。但是,在节点随机分布的网络中, 出现了集中密集网络连通度大和分散稀疏定位效果差等情况, dv-hop算法的定位精度急剧下降。在定位位置坐标估计阶段,最小 二乘法参考方程的选择对定位结果有很大的影响,尤其在所选方程对 应的锚节点到未知节点的跳数较大时,容易积累误差。同时,基于传 统的优化算法具有很多缺点,比如求解的结果比较依赖于初始值,只 能得到优化问题的局部最优解等。
5.无线传感器网络中的许多问题都可描述为多维优化问题,智能优 化算法利用自然启发的思想可以解连续、离散和整数变量不连续的函 数,从而寻找问题的全局最优解。但在执行复杂的多模态优化函数时, 也存在陷入局部极小解的缺陷。粒子群优化算法经常应用于无线传感 器定位领域,但在局部搜索阶段,当粒子间彼此接近,或者在接近全 局最优解的解空间中搜索时,它的快速收敛能力迅速下降,容易产生 过早收敛的现象,导致陷入局部最优的问题。


技术实现要素:

6.为了克服现有技术中存在的不足,提供一种改进的混合萤火虫粒 子群优化的dv-hop定位方法,其针对无线传感器网络节点随机分布 导致dv-hop定位算法性能较差的问题,通过加权二次修正锚节点间 平均跳距,并使用误差因子校正锚节点间单跳距离,最后使用混合萤 火虫粒子群算法优化未知节点的坐标。通过在不同的适用条件下使用 改进的
萤火虫和粒子群算法,不仅保证了粒子全局搜索速度快,而且 避免了粒子最优解陷入局部最优的缺陷,相比于当前传统的dv-hop 位置计算和优化的方法,该方法能适应各种随机无线传感器网络结构, 有效地提高了节点定位精度。
7.一种改进的混合萤火虫粒子群优化的dv-hop定位方法,包括如 下步骤:
8.s1:初始化网络:每个锚节点向网络泛洪包含其自身位置相关信 息的数据包;
9.s2:记录未知节点到锚节点间最小跳数:未知节点计算来自网络 中其它锚节点的跳数,记录后转发传递自身数据包给其它节点,当未 知节点接收此数据包时,比较并保存跳数较小的跳数信息。反之,该 消息将被丢弃;
10.s3:计算锚节点间平均跳距:通过任意锚节点到其他锚节点间的 最小跳数值,以及实际距离关系,来确定锚节点间平均跳距;
11.s4:加权修正锚节点间平均跳距:利用锚节点间均方误差最小值, 初次修正平均跳距;根据修正的平均结果当作加权因子,来二次修正 平均跳距;最后使用误差因子再次校正平均跳距;
12.s5:计算未知节点到锚节点估计距离:未知节点从最近的锚节点 接收到其修正后的平均跳距后,计算未知节点到锚节点的估计距离;
13.s6:初始化混合萤火虫粒子群的适应度函数和初始种群:输入算 法的迭代次数、种群个数、边界位置;
14.s7:判断适应度函数值和全局最优值之间的关系,在当前适应度 函数值小于全局最优值时转入步骤s8,在当前适应度函数值小于全 局最优值时转入步骤s9;
15.s8:使用改进萤火虫算法进行局部搜索:使用萤火虫光照强度位 移公式更新粒子进行局部搜索;
16.s9:使用迭代加权粒子群算法进行全局搜索:使用惯性权重和自 适应学习因子改进标准粒子群算法进行局部搜索;
17.s10:更新粒子位置和速度:通过适应度函数和局部、全局最优 值的关系,更新粒子位置和速度;
18.s11:选择最优未知节点坐标:当迭代次数最大时,记录并保存 当前全局最优解作为未知节点最终位置坐标。
19.进一步地,步骤后中所有传感器锚节点均配置gps模块。
20.进一步地,s4的具体过程为:
21.锚节点i和锚节点j之间存在均方误差e,当均方误差最小时, 此时跳距为最小均方修正后的平均跳距,记为:
[0022][0023]
其中dist
ij
是锚节点之间的真实距离,h
ij
是锚节点之间的跳数, avghsi是最小均方修正的平均跳距;
[0024]
然后使用加权平均法来二次修正最小均方误差的平均跳距 avghsi,得到新的平均跳距为:
[0025][0026]
权值表示为:
[0027][0028]
使用新的平均跳距计算未知节点到锚节点的估计距离,再次计算 修正后的单跳误差大小,利用误差因子ε再次修正锚节点间平均跳距:
[0029][0030]
其中,n表示锚节点的个数。
[0031]
进一步地,s6的适应度函数表示锚节点到未知节点测量距离误 差的最小值,记为:
[0032][0033]
其中,表示步骤s5中未知节点到锚节点的估计距离。
[0034]
适应度函数最小时的位置就是优化算法的最优解;使用min-max 算法计算未知节点初始位置,限制粒子种群初始搜索范围。
[0035]
进一步地,s8中,当迭代次数大于2且当前适应度函数小于全 局最优值时,使用萤火虫光照强度位移公式更新粒子进行局部搜索:
[0036][0037]
其中,在光源即r=0处的吸引力值为β0,m值为常数,β(r)表示 在距离r处的吸引力强度,γ为固定光照吸收系数,表示空气对光的 恒定的吸收率,α为随机化参数,rand为均匀分布的随机数,gbest
t-1
为 第i个粒子在迭代次数为t时的全局最优解;
[0038]
计算出萤火虫新的位置后,将当前位置保存在一个临时变量中, 从而用来更新最新粒子的速度。
[0039]
进一步地,s9中,设在d维空间内,种群个数共有n个,粒子 的位置和速度使用如下矢量表示:
[0040]
xi=(x
i1
,x
i2
,

x
id
),i=1,2,...,n
[0041]vi
=(v
i1
,v
i2
,
…vid
),i=1,2,...,n
[0042]
同时,粒子每一时刻的速度和位置根据下列方程更新:
[0043]vi
(t 1)=wvi(t) c1r1(pbesti(t)-xi(t)) c2r2(gbest(t)-xi(t))
[0044]
xi(t 1)=xi(t) vi(t 1)
[0045]
其中c1和c2分别称为个体学习因子和社会学习因子,w是引 入的惯性权值,r1和r2是代表[0,1]上的随机数,pbesti(t)和gbest(t)分 别为第i个粒子在迭代此处为t时的局部最优解和全局最优解;
[0046]
使用惯性权重参数w调节粒子的位置变化:
[0047]
w=w
s-((w
s-wf)/max_iter)
×
t
[0048]
其中,max_iter为粒子的最大迭代次数,t为当前迭代的次数, 且t∈[1,max_iter],ws和wf分别是线性递减惯性权重的初始值和最终 值;通过综合兼顾智能优化算法的局部和全局最优解,找到未知节点 的最佳位置坐标。
[0049]
进一步地,通过s11,根据上个全局和局部最优位置信息,更新 适应度函数,计算出未知节点最终的位置信息。
[0050]
本发明的有益效果为:本发明不仅通过加权二次修正了锚节点间 平均跳距,同时使用误差因子做了进一步校正,而且使用混合萤火虫 粒子群算法优化未知节点的坐标。通过在不同的适用条件下使用改进 的萤火虫和粒子群算法,不仅保证了粒子全局搜索速度快,而且避免 了粒子最优解陷入局部最优的缺陷,相比于当前传统的dv-hop位置 计算和优化的方法,本发明有效地提高了节点的定位精度和稳定性。
附图说明
[0051]
图1为本发明实施例中dv-hop定位方法的流程图。
[0052]
图2为本发明实施例中方形网络中的节点之间的节点分布图。
[0053]
图3为本发明实施例中h形网络中的节点之间的节点分布图。
[0054]
图4为本发明实施例中方形网络中的本发明方法和现有dv-hop 算法在不同锚节点比例下的定位误差图。
[0055]
图5为本发明实施例中h形网络中的本发明方法和现有dv-hop算 法在不同锚节点比例下的定位误差图。
具体实施方式
[0056]
下面结合说明书附图对本发明的技术方案做进一步的详细说明。
[0057]
本发明提供一种改进的混合萤火虫粒子群优化的dv-hop定位方 法,如图1所示,其具体的过程如下:
[0058]
步骤1:初始化网络:每个锚节点向网络泛洪数据包,其中包含 自身位置相关信息。
[0059]
传感器锚节点均配置gps模块,传感器数据包中自身位置信息 包括身份标识、位置和最小跳数信息。
[0060]
步骤2:记录未知节点到锚节点间最小跳数:未知节点计算来自 网络中其它锚节点的跳数信息,无线传感器网络中所有未知节点都从 锚节点获得最小跳数,记录后同样转发传递自身数据包给其它节点。 当未知节点接收此数据包时,比较并保存跳数较小的跳数信息。反之, 该消息将被丢弃;
[0061]
步骤3:计算锚节点间平均跳距:通过任意锚节点到其他锚节点 i的最小跳数值,以及实际距离关系,来确定锚节点间平均跳距hopsizei。
[0062]
[0063][0064]
其中(xi,yi)和(xj,yj)分别是锚节点i和锚节点j的位置坐标,h
ij
和d
ij
分别是两个锚节点i和j之间的最小跳数和实际距离。
[0065]
步骤4:加权修正锚节点间平均跳距:利用锚节点间均方误差最 小值,修正平均跳距;根据修正的平均结果当作加权因子,来二次修 正平均跳距。
[0066]
在定位的第二阶段,通常采用距离未知节点最近的锚节点当作平 均跳距的标准,参与距离位置的计算。这使其在节点随机分布的网络 下会存在很大的误差。为此,引入了一种加权平均二次修正的方法, 来优化平均跳距的距离,具体的实现流程如下。
[0067]
将任意锚节点i和锚节点j之间的均方误差记为e:
[0068][0069]
其中,n表示锚节点的个数。
[0070]
当误差最小时,保存平均跳距的大小,并记为第一次跳距修正的 结果。因此,方程最小化的问题可以转化为极值的思想,当时,最小均方估计的平均跳距可表示为:
[0071][0072]
其中dist
ij
是锚节点i和锚节点j之间的真实距离,h
ij
是锚节点之 间的跳数。avghsi是最小均方修正的平均跳距。
[0073]
其次,使用加权平均法来二次修正最小均方误差的平均跳距avghsi,可以得到新的平均跳距avghs
new

[0074][0075][0076]
其中,avghs
new
是二次加权修正的平均跳距,wi为加权函数。
[0077]
最后,使用新的平均跳距计算未知节点到锚节点的估计距离,再 次计算修正后的单跳误差大小,利用误差因子再次修正锚节点间平均 跳距。
[0078][0079]
avghs
new

=avghs
new
ε
[0080]
其中,ε代表修正后的锚节点间平均跳距仍然存在的误差, avghs
new
为二次加权修正的平均跳距。
[0081]
步骤5:计算未知节点到锚节点估计距离:未知节点k根据从步 骤4中得到的平均跳距avghs
new

,计算未知节点到锚节点的估计距离 d
ki
。最后,未知节点k到锚节点i的估计
距离为:
[0082]dki
=avghs
new
′×hki
[0083]
其中,h
ki
表示锚点节点i和未知节点k之间的最小跳数。
[0084]
步骤6:初始化混合萤火虫粒子群的适应度函数和相关参数:输 入算法迭代次数、种群个数、边界位置等信息。
[0085]
首先,初始化种群的规模n,空间维度dim,最大迭代次数 max_iter,当前迭代次数t,wsn定位的最终目的是找到未知节点的 最佳坐标。dv-hop定位算法在测距阶段,未知节点到锚节点之间因 多跳关系容易引入测距误差,为了消除误差积累,可以将锚节点到未 知节点的测量距离转化为多跳误差的最小化问题,其目标函数为:
[0086][0087]
其中,表示步骤s5中未知节点到锚节点的估计距离。
[0088]
根据目标函数,用于估计每个粒子的适应度值的适应度函数。
[0089]
fitness=f(x,y)
[0090]
在加权修正的混合萤火虫粒子群定位算法中,粒子根据混合萤火 虫粒子群算法公式和适应度函数进行位置更新,最后将最优解作为未 知节点最终的位置估计。同时,为了防止不规则环境下,发生锚节点 分布随机或存在共线的情况。使用min-max算法计算未知节点初始 位置所在的范围,使用此区域限制粒子种群初始搜索范围。
[0091]
在粒子群优化算法中,种群的初始范围的限定对粒子寻找区域最 优解有很大的影响。通过粗略估计未知节点的位置,将初始种群生成 在目标节点的附近,粒子在搜索过程中更容易找到最优解。粒子初始 种群限定主要分为三步:1)首先,将步骤s5中计算出的锚节点到未 知节点的估计距离从小到大排序;2)其次,选择距离当前未知节点 最近的三个锚节点,记录三个较近锚节点到未知节点的距离;3)最 后,根据min-max定位算法确定初始种群生成区域的边界。
[0092]
假设锚节点i的坐标为(xi,yi),锚节点到未知节点的估计距离为 三个锚节点通信边界正方形的表达式可以写为 根据几何约束关系,三个锚节点 正方形通信边界的交集即为未知节点所在的位置。因此,粒子生成初 始种群的边界范围可以表示如下:
[0093][0094]
步骤7:判断适应度函数值和全局最优值之间的关系,在当前适 应度函数值小于全局最优值时转入步骤8,在当前适应度函数值小于 全局最优值时转入步骤9。
[0095]
步骤8:使用改进萤火虫算法进行局部搜索:当前适应度函数值 小于全局最优值时,使用萤火虫光照强度更新粒子进行局部搜索。
[0096]
在两种混合算法中,最后通过比较并判断当前粒子的适应度值和 前一时刻的全局最优值,来选择合适的优化搜索方案。
[0097][0098]
fa遵循三个理想规则:(1)萤火虫种群之间可以互相吸引,不 区分它们的性别偏好。(2)萤火虫之间的吸引力取决于闪光的亮度, 亮度小的萤火虫会向亮度大的萤火虫移动。当两个萤火虫之间距离增 大时,亮度会相对减小,从而导致相互之间的吸引力开始降低,直到 附近没有闪光的萤火虫时,它们就会随机移动。(3)萤火虫的亮度受 目标函数的决定和影响,它与目标函数的值成正比。
[0099]
在萤火虫算法中,到光源一定距离r处的光照强度i(r)服从平方 反比定律,它们的关系式如下:
[0100][0101]
其中,i0为初始光源强度,表示在光源(r=0)处的强度,γ为 固定光照吸收系数,表示空气对光的恒定的吸收率,且满足γ∈[0,∞)。
[0102]
由于萤火虫的吸引力和相邻的萤火虫看到的光照强度成正比,因 此可以得到:
[0103][0104]
其中,在光源(r=0)处的吸引力值为β0,一般情况可取值为1, m值为常数,通常取2,β(r)表示在距离r处的吸引力强度。
[0105]
假设i和j是两只不同的萤火虫,且它们的位置分别为xi(xi,yi)和 xj(xj,yj),那么两个萤火虫之间的欧式距离r
ij
可以求得:
[0106][0107]
那么,第i只萤火虫因亮度增加而向第j只萤火虫移动的位置更 新公式,可表示为:
[0108][0109]
其中,t为当前迭代次数,α为随机化参数,取值[0,1]之间,rand 为随机时间t均匀分布而产生的随机数向量,xi(t)和xj(t)分别是萤火 虫i和j的位置。
[0110]
萤火虫算法没有速度特性和个体最佳位置记忆,从而克服了单一 算法早熟收敛和陷入局部最优的缺点,可用于局部搜索计算新的位 置。当迭代次数t>2且时,进行局部搜索,萤 火虫的位置公式更新为:
[0111][0112]
计算出萤火虫新的位置后,然后将当前位置保存在一个临时变量x
i_temp
中,从而用来更新最新粒子的速度:
[0113]vi
(t 1)=xi(t 1)-x
i_temp
[0114]
步骤9:使用迭代加权粒子群算法进行全局搜索:当前适应度函 数值大于全局最优值时,使用惯性权重和自适应学习因子改进标准粒 子群算法进行局部搜索。
[0115]
在粒子搜索的过程中,每个粒子在其记忆中需保存两个值,其自 身的个体最优值
和当前全局最优值。通过不断的更新迭代粒子的速度 和方向,粒子之间共享社会和认知信息,并且以目标函数来评判当前 位置的好坏,不断寻找粒子的个体和全局最优值,从而达到寻找到优 化函数的最优解的目的。
[0116]
因此,粒子群优化算法通常使用几何思想表述更为直观,假设在 d维空间内,种群个数共有n个,粒子的位置和速度使用如下矢量表 示:
[0117]
xi=(x
i1
,x
i2
,

x
id
),i=1,2,...,n
[0118]vi
=(v
i1
,v
i2
,
…vid
),i=1,2,...,n
[0119]
同时,粒子每一时刻的速度和位置根据下列方程更新:
[0120]vi
(t 1)=wvi(t) c1r1(pbesti(t)-xi(t)) c2r2(gbest(t)-xi(t))
[0121]
xi(t 1)=xi(t) vi(t 1)
[0122]
其中,其中c1和c2分别称为个体学习因子和社会学习因子, w是引入的惯性权值,r1和r2是代表[0,1]上的随机数,pbesti(t)和 gbest(t)分别为第i个粒子在迭代次数为t时的局部最优解和全局最 优解。
[0123]
粒子群算法在搜索过程中具有较快的收敛速度,通常用于全局搜 索,使用惯性权重参数w调节粒子的位置变化:
[0124]
w=w
s-((w
s-wf)/max_iter)
×
t
[0125]
其中,max_iter为粒子的最大迭代次数,t为当前迭代的次数, 且t∈[1,max_iter],ws和wf分别是线性递减惯性权重的初始值和最终 值,其中ws=0.9,wf=0.5。
[0126]
步骤10:更新粒子位置和速度:通过适应度函数和局部、全局 最优值的关系,更新粒子位置和速度。
[0127]
更新粒子局部最优值pbesti(t)和全局最优值gbest(t)。令fit(i,t)为 迭代次数为t时的粒子适应度值,当fit(i,t)小于局部最优pbesti(t)时, 用fit(i,t)更新pbesti(t);当前粒子的适应度值fit(i,t)小于全局最优 gbest(t)时,用fit(i,t)更新gbest(t)。
[0128]
步骤11:选择最优未知节点坐标:当迭代次数最大时,记录并 保存当前全局最优解作为未知节点最终坐标。根据上个全局和局部最 优位置信息,更新适应度函数,计算出未知节点最终的位置信息。
[0129]
为了验证上述方法的真实效果,下面对本发明的一种改进的区域 限定混合萤火虫粒子群优化的dv-hop定位算法(improved dv-hoplocalization algorithm for region-limited hybrid firefly particleswarm optimization,irhfpsodv-hop)做仿真实验分析,比较本发 明方法和现有改进的dv-hop算法在不同锚节点比例下的定位 误差。
[0130]
实验参数选择包括如下:
[0131]
在100*100的方型和h型网络区域中,随机分布100个传感器 节点,其中“*”和“o”分别代表锚节点和未知节点的位置,未知节 点和锚节点的通信半径均是30米,锚节点比例在10%-30%。设置粒 子种群个数为10,迭代次数为50,粒子速度极值为10,β0值为2,γ 值为1。同时为了防止产生随机性误差,所有的仿真结果均在一样的 环境下重复运行100次取平均值。
[0132]
实验1:比较本发明方法和现有改进dv-hop算法在方型拓 扑结构下不同锚节点比例下的定位误差。
[0133]
图4可以看出在方型拓扑结构中,本发明算法在不同锚节点 比例下,和其它改进dv-hop定位算法进行比较。发现在锚节 点比例20%时,改进的irhfpsodv-hop算法的定位误差比经 典dv-hop算法、wdv-hop算法、psodv-hop算法、 wpsodv-hop算法分别降低了约35.9%、33.8%、18.5%、11.2%。
[0134]
实验2:比较本发明方法和现有dv-hop算法在h型拓扑结 构下不同锚节点比例下的定位误差。
[0135]
图5可以看出在h型拓扑结构中,本发明方法在不规则区域 定位效果仍由于其他现有改进dv-hop算法。在锚节点比例为 20%时,改进的irhfpsodv-hop算法的定位误差比经典 dv-hop算法、wdv-hop算法、psodv-hop算法、wpsodv-hop 算法分别降低了约40.6%、39.6%、10.4%、10%。
[0136]
以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以 上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容 所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献