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

一种基于Levy飞行策略与三维灰狼算法优化的DV-hop定位方法与流程

2021-10-29 23:04:00 来源:中国专利 TAG:灰狼 定位 算法 飞行 优化

一种基于levy飞行策略与三维灰狼算法优化的dv

hop定位方法
技术领域
1.本发明涉及一种基于levy飞行策略与三维灰狼算法优化的dv

hop定位方法,属于无线传感器网络节点定位领域。


背景技术:

2.无线传感器网络(wireless sensor network,wsn)广泛应用于边缘计算、森林防火、疾病预防等领域,在针对无线传感器网络节点的研究中,如何根据已知节点信息精确定位未知节点位置的研究已成为该领域的热点。
3.现有的定位算法依据需要测距与否的标准,将定位算法分为两种。第一种算法为测距式算法,一般是利用距离信息建立数学等式或是利用能量数据创建数学模型,通过测量所得到的数据信息的准确度就是关键信息所在。该算法虽然定位误差较低,但对嵌入式设备有一定的要求。另一种定位算法不需测距,且节约成本,耗能低,此外对所需嵌入式装备无过多要求,其代表为我们所熟知的传统dv

hop算法。dv

hop算法思想来源于贝尔曼

福特路由所改进的分布式定位方法,该方法依赖不同节点之间的数据信息交互与协调,具有实现方法简单,定位误差低等特点,但是由于实际的无线传感器网络节点部署具有随机性,无法达到dv

hop算法的理想节点分布,导致在计算跳距以及跳数时不够精准,并且在利用极大似然值估计算法估算待定节点位置时无法更加精确地提高未知节点的定位。
4.本发明的技术来源于云南省基础研究计划重点项目(202001as070064);云南省技术创新人才项目(2019hb113);云南省“万人计划”产业技术领军人才项目(云发改人事[2019]1096号)资助。


技术实现要素:

[0005]
本发明要解决的技术问题是提供一种基于levy飞行策略与三维灰狼算法优化的dv

hop定位方法,用于解决上述问题。
[0006]
本发明的技术方案是:一种基于levy飞行策略与三维灰狼算法优化的dv

hop定位方法,通过对节点部署不均衡问题引入节点间不同跳数权重因子解决,其次在灰狼算法基础上结合levy飞行策略,对灰狼群每次位置迭代更新进行优化,并推广到三维空间,最后利用改进后的智能仿生三维灰狼算法对每一个待定位节点位置进行寻优定位计算,进一步提高待定位节点位置计算精度。
[0007]
具体步骤为:
[0008]
step1:在n
×
n
×
n的三维空间中随机投放m个无线传感器网络节点,其中包含已知锚节点和未知节点;
[0009]
首先由各锚节点向自身为球心,以通讯半径为r的球体范围内与其相邻的所有节点使用传统的贝尔曼

福特路由交换协议向广播包含自身位置信息的数据信息包,数据信息包格式为{id
i
,id
i
,x
i
,y
i
,z
i
,dis
i
},其中包含了该锚节点的标识号id
i
,收到该锚节点信
标消息的邻居节点的标识号id
i
;此时id
i
为空,锚节点自身坐标(x
i
,yi,z
i
)以及其他未知节点与该锚节点的距离dis
i
,锚节点本身该字段为0,邻居节点接收数据包后继续以自身为球心,向同样的通信范围内的邻居节点广播数据包。
[0010]
step2:各参与广播通信过程的网络节点均建立路由向量表,仅保留距其它节点跳数值最小数据包,通过各节点路由向量表可以查得参与通信过程的节点间最小跳数值hop
ij
,对计算所得节点间最小跳数hop
ij
,使用权重因子对其进行修正,得到改进后的平均跳距ave_dis。
[0011]
step3:在三维空间中,在灰狼算法基础上结合levy飞行策略,增强灰狼算法的全局寻优能力,得到改进后的三维灰狼算法。
[0012]
step4:根据step2中所得到的平均跳距ave_dis以及step3中所述的改进后的三维灰狼算法对未知节点的位置进行修正,得到修正之后的未知节点在三维空间中的位置。
[0013]
step5:由step4中计算所得未知节点的估计坐标值(x,y,z)与所有未知节点的初始坐标值(x

i
、y

i
、z

i
)计算所有未知节点的平均定位精度值accuracy,以证明本发明可大大降低未知节点定位误差。
[0014][0015]
式中,x

i
、y

i
、z

i
分别为未知节点i在x轴、y轴、z轴上的初始已知坐标数值,n为未知节点个数,r为未知节点通信半径。
[0016]
所述step1中的数据信息包在广播过程中采取的广播方式为可控泛洪法,具体为:
[0017]
当某节点收到一个id号重复的数据包时,将新计算得到的与锚节点距离和表中原来保存的距离信息相比较,若新的距离小于原来的距离,则用新的距离代替原来表中的距离,并重新广播这个新的数据包;否则,丢弃新的数据包,不再转发。
[0018]
所述step2中的修正最小跳数hop
ij
时,由于无线传感器网络中节点部署不均衡,这就导致平均跳距ave_dis以及最小跳数计算的不准确性,因此在不同节点之间引入权重因子w
i
,其为:
[0019][0020]
式中,hop
k
表示是未知节点到各个锚节点的跳数,m代表所有锚节点个数,hop
k
越大,w
k
的值就越小。因此,未知节点与锚节点跳数多的未知节点需要给予较小比重,跳数少的应当给予较大比重。
[0021]
改进后的平均跳距ave_dis表示为:
[0022][0023]
所述step3中改进后的灰狼算法具体为:
[0024]
step3.1、社会阶级分层(social hierarchy):
[0025]
在设计灰狼算法时,首先根据适应度函数,将适应度最好的三只狼分别标记为α狼、β狼和δ狼,剩下的灰狼则称为ω狼,gwo优化就是由迭代更新过程中最好的三个解α、β和δ来完成。
[0026]
step3.2、围困猎物(encircling prey):
[0027]
灰狼群在搜寻猎物时,会逐渐形成一个包围圈围困猎物目标,该行径模型如下:
[0028][0029]
式中,t为此时的迭代次数,
°
为哈达玛乘积操作,x
p
为优化目标的位置,x(t)表示此时狼的定位向量,在迭代的开始到结束,a从2线性降到0,r1和r2是0到1中的随机向量,a和b是协同的系数向量值,dis表示灰狼之间的距离。
[0030]
step3.3、狩猎(venery):
[0031]
灰狼拥有分辨潜在目标定位的天赋,搜索过程中由α、β和δ三匹高阶灰狼来引领完成,但由于解空间特征的未知性,狼群确定不了最优目标的完美定位,所以为更好地模拟灰狼的捕猎行为,假定α、β和δ具有很好的区分目标定位天赋,在每次迭代时保留灰狼群中的等级高层狼α、β和δ,再根据他们的位置数据来更新其他ω狼的位置,该行为的模型如下:
[0032][0033]
式中,x
α
、x
β
和x
δ
分别是灰狼群中的α、β和δ的位置向量,x表示灰狼的位置,dis
α
、dis
β
、dis
δ
分别代表当前的灰狼与α、β和δ之间的距离。
[0034]
当|a|>1时,灰狼群成员之间分散在各区域并搜寻目标,使得算法可以进行全局寻优。
[0035]
当|a|<1时,灰狼群成员将集中在某特定区域搜索猎物目标。
[0036]
step3.4、攻击目标(attacking target):
[0037]
创建模型时,根据步骤step3.2可知,a数值的降低也会改变a的值,a是[

a,a]区间的随机向量。当a在区间[

1,1]上时,则此时灰狼与目标之间的位置就是代理搜索的下一刻位置,主要依靠α、β和δ三只高阶灰狼搜寻猎物,他们分散地去寻找猎物目标方位,然后集中攻击。
[0038]
所述step4中利用改进后的三维灰狼算法对未知节点的位置进行修正具体为:
[0039]
step4.1:首先初始化α、β和δ三只高阶灰狼,使用positions函数将灰狼算法中灰狼的位置维度改为3维,并且设置好最大迭代次数以及灰狼个数。
[0040]
step4.2:根据适应度函数得到所有灰狼的初步适应度值f
w

[0041]
[0042]
式中,(x
w
,y
w
,z
w
)为未知节点位置,也就是狼群算法中猎物位置,(x
g
,y
g
,z
g
)为锚节点位置,dwg为未知节点到锚节点的位置,选择最小适应值的三只狼分别将他们标记为α、β和δ。
[0043]
step4.3:灰狼群根据所述式(4)和式(5)进行更新狼群位置信息x,如果α狼已达到最大迭代次数或者满足迭代循环结束条件,则停止循环,输出的α狼坐标信息即为未知节点最终改进位置(x

i
、y

i
、z

i
)。
[0044]
所述step3中通过levy飞行策略改进灰狼算法时的具体步骤为:
[0045][0046]
式中,代表灰狼w在第t次迭代的位置,α'是步长的缩放因子,α'=α0'(x
i

x
j
),xi与xj为任意不同的解,通常α'=1,s是服从levy飞行分布levy~μ,v

β
',1≤β'≤3的随机步长,μ为服从n(0,σ2)的随机数,σ为服从n(0,1)的随机数。
[0047]
其中σ具体为:
[0048][0049]
通常β'取1.5。
[0050]
本发明与经典dv

hop定位方法、跳距加权改进的dv

hop定位方法以及单纯使用灰狼算法改进的dv

hop定位方法的检测效果进行对比。在未知节点的定位计算中,降低节点间距离计算误差,从而使得节点定位更为精确,具有广阔的应用前景。
[0051]
本发明的有益效果是:
[0052]
1、在实际中,无线传感器网络节点是不均匀分布的,这就导致平均跳距以及最小跳数计算的不准确性。为减少这一误差,本发明在计算未知节点的平均跳距时,根据未知节点k到其他锚节点的不同跳数引入权重因子,避免直接使用平均跳距引起未知节点的定位误差。
[0053]
2、本发明使用仿生智能算法

灰狼算法进行未知节点的定位,代替了原始的极大似然值估计算法,使得误差降低,未知节点的定位精度增强。
[0054]
3、灰狼算法存在过早收敛以及全局寻优能力不高的特性,因此为提高灰狼算法的全局寻优能力且丰富灰狼算法的种群多样性,本发明利用levy飞行算法的随机游走性能,将levy飞行算法融合到灰狼算法中,进行wsn未知节点的位置计算。
[0055]
4、本发明可以有效降低未知节点的定位误差,更好地提高未知节点的定位精确度,具有广阔的应用前景。
附图说明
[0056]
图1是本发明的步骤流程图;
[0057]
图2是本发明具体实施方式中不同锚节点数各算法误差比较图;
[0058]
图3是本发明具体实施方式中不同通讯半径各算法误差比较图;
[0059]
图4是本发明具体实施方式中不同节点总数各算法误差比较图;
[0060]
图5是本发明具体实施方式中三维节点随机分布图。
具体实施方式
[0061]
下面结合附图和具体实施方式,对本发明作进一步说明。
[0062]
实施例1:如图1所示,一种基于levy飞行策略与三维灰狼算法优化的dv

hop定位方法,具体步骤为:
[0063]
step1:在100
×
100
×
100的三维空间中随机投放400个无线传感器网络节点,其中包含已知锚节点和未知节点,首先由各锚节点向自身为球心,以通讯半径为r的球体范围内与其相邻的所有节点使用传统的贝尔曼

福特路由交换协议向广播包含自身位置信息的数据信息包,数据包格式为{id
i
,id
i
,x
i
,y
i
,z
i
,dis
i
},其中包含了该锚节点的标识号id
i
,收到该锚节点信标消息的邻居节点的标识号id
i
,此时id
i
为空,锚节点自身坐标(x
i
,y
i
,z
i
)以及其他未知节点与该锚节点的距离dis
i
,锚节点本身该字段为0,邻居节点接收数据包后继续以自身为球心,向同样的通信范围内的邻居节点广播数据包。
[0064]
广播过程中,算法采取可控泛洪法,即当某节点收到一个id号重复的数据包时,它将新计算得到的与锚节点距离和表中原来保存的距离信息相比较,若新的距离小于原来的距离,则用新的距离代替原来表中的距离,并重新广播这个新的数据包;否则,丢弃新的数据包,不再转发。
[0065]
step2:各参与广播通信过程的网络节点均建立路由向量表,仅保留距其它节点跳数值最小数据包,通过各节点路由向量表可以查得参与通信过程的节点间最小跳数值hop
ij

[0066]
对计算所得节点间最小跳数hop
ij
进行修正,由于无线传感器网络中节点部署不均衡,这就导致平均跳距ave_dis以及最小跳数计算的不准确性,因此在不同节点之间引入权重因子w
i
,其公式为:
[0067][0068]
式中,hop
k
表示是未知节点到各个锚节点的跳数,m代表所有锚节点个数,hop
k
越大,w
k
的值就越小,因此,未知节点与锚节点跳数多的未知节点需要给予较小比重,跳数少的应当给予较大比重,改进后的平均跳距可以表示为:
[0069][0070]
step3:在三维空间中,结合levy飞行策略对灰狼算法进行相应改进,具体改进如下:
[0071]
step3.1:在设计灰狼算法时,首先根据适应度函数,将适应度最好的三只狼分别标记为α狼、β狼和δ狼,剩下的灰狼则称为ω狼。gwo优化就是由迭代更新过程中最好的三个解α、β和δ来完成。
[0072]
step3.2:灰狼群在搜寻猎物时,会逐渐形成一个包围圈围困猎物目标,该行径模型如下:
[0073][0074]
式(3)中,t为此时的迭代次数,
°
为哈达玛乘积操作,x
p
为优化目标的位置,x(t)表示此时狼的定位向量,在迭代的开始到结束,a从2线性降到0,r1和r2是0到1中的随机向量,a和b是协同的系数向量值,dis表示灰狼之间的距离。
[0075]
step3.3:灰狼拥有分辨潜在目标定位的天赋,搜索过程中主要由α、β和δ三匹高阶灰狼来引领完成,但由于解空间特征的未知性,狼群确定不了最优目标的完美定位,所以为更好地模拟灰狼的捕猎行为,假定α、β和δ具有很好的区分目标定位天赋,所以在每次迭代时保留灰狼群中的等级高层狼α、β和δ,再根据他们的位置数据来更新其他ω狼的位置,该行为的模型如下:
[0076][0077]
式(4)中,x
α
、x
β
和x
δ
分别是灰狼群中的α、β和δ的位置向量,x表示灰狼的位置;dis
α
、dis
β
、dis
δ
分别代表当前的灰狼与α、β和δ之间的距离。
[0078]
当|a|>1时,灰狼群成员之间分散在各区域并搜寻目标。
[0079]
当|a|<1时,灰狼群成员将集中在某特定区域搜索猎物目标。
[0080]
在α狼、β狼和δ狼每次迭代更新时,使用levy飞行策略在狼群位置的每次更新时进行一次levy飞行,具体公式如下:
[0081][0082]
式(5)中,代表灰狼w在第t次迭代的位置,α'是步长的缩放因子,α'=α0'(x
i

x
j
),xi与xj为任意不同的解,通常α'=1。s就是服从levy飞行分布levy~μv

β
',1≤β'≤3的随机步长,μ为服从n(0,σ2)的随机数,σ为服从n(0,1)的随机数,其中σ可由式(6)所得,通常β'取1.5。
[0083][0084]
step3.4:创建模型时,根据step3.2可知,a数值的降低也会改变a的值,a是[

a,a]区间的随机向量。当a在区间[

1,1]上时,则此时灰狼与目标之间的位置就是代理搜索的下
一刻位置。
[0085]
主要依靠α、β和δ三只高阶灰狼搜寻猎物,他们分散地去寻找猎物目标方位,然后集中攻击。在分散模型中,当|a|>1时使得代理搜索远离猎物,使得算法可以进行全局寻优。
[0086]
step4:根据step2中所得到的平均跳距ave_dis以及step3中所修正的三维灰狼算法对未知节点的位置进行修正,具体步骤如下:
[0087]
step4.1:首先初始化α、β和δ三只高阶灰狼,使用positions函数将灰狼算法中灰狼的位置维度改为3维,并且设置好最大迭代次数以及灰狼个数。
[0088]
step4.2:根据式(7)适应度函数得到所有灰狼的初步适应度值f
w
,式中,(x
w
,y
w
,z
w
)为未知节点位置,也就是狼群算法中猎物位置,(x
g
,y
g
,z
g
)为锚节点位置,dwg为未知节点到锚节点的位置,选择最小适应值的三只狼分别将他们标记为α、β和δ。
[0089][0090]
step4.3:灰狼群根据之前提到的式(3)和式(4)进行更新狼群位置信息x,如果α狼已达到最大迭代次数或者满足迭代循环结束条件,则停止循环,输出的α狼坐标信息即为未知节点最终改进位置(x

i
、y

i
、z

i
)。
[0091]
step5:由step4中计算所得未知节点的估计坐标值(x,y,z)与所有未知节点的初始坐标值(x

i
、y

i
、z

i
)计算所有未知节点的平均定位精度值accuracy以证明该方法可大大降低未知节点定位误差:
[0092][0093]
式中,x

i
、y

i
、z

i
分别为未知节点i在x轴、y轴、z轴上的初始已知坐标数值,n为未知节点个数,r为未知节点通信半径。
[0094]
本发明通过为验证改进后的dv

hop算法与之前传统的dv

hop算法相比定位更精确,分别将4种算法在matlab2016a软件上进行仿真实验,通过4种算法对平均定位精确度数据ave_er在不同的锚节点数,节点总数以及通讯半径的不同数据条件下变化趋势,判断本发明算法有效性。将节点通讯半径设为50,节点总数设为400,在不同的锚节点数量条件下,设定灰狼算法迭代次数为350次,狼群数量为100,levy飞行策略中的α'设为1,统计原始dv

hop算法、三维加权dv

hop算法未使用飞行策略的灰狼算法以及本发明算法的ave_er,四种算法ave_er随锚节点数量的增加而发生变化的情况,如图2所示。当锚节点个数为120时,本发明改进的算法与原始dv

hop算法、三维加权dv

hop算法以及未使用飞行策略的灰狼算法相比,ave_er分别降低了0.6342、0.2004、0.0222;当锚节点个数为180时,本发明改进的算法与经典dv

hop算法、三维加权dv

hop算法以及未使用飞行策略的灰狼算法相比,ave_er分别降低了0.6562、0.1741、0.0286;当锚节点个数为240时,本发明改进的算法与经典dv

hop算法、三维加权dv

hop算法以及未使用飞行策略的灰狼算法相比,ave_er分别降低了0.6675、0.1669、0.0176。
[0095]
将锚节点数设为160,节点总数设为400,在不同通讯半径条件下,设定灰狼算法迭代次数为350次,狼群数量为100,levy飞行策略中的α'设为1,统计原始dv

hop算法、三维加权dv

hop算法未使用飞行策略的灰狼算法以及本发明算法的ave_er,四种算法ave_er随锚
节点数量的增加而发生变化的情况,如图3所示,当通讯半径r为40时,本发明改进的算法与原始dv

hop算法、三维加权dv

hop算法以及未使用飞行策略的灰狼算法相比,ave_er分别降低了0.7187、0.1502、0.0756;当r为55时,本发明算法与原始dv

hop算法、三维加权dv

hop算法以及未使用飞行策略的灰狼算法相比,ave_er分别降低了0.6588、0.2016、0.0488;当r为70时,本发明改进的算法与原始dv

hop算法、三维加权dv

hop算法以及未使用飞行策略的灰狼算法相比,ave_er分别降低了0.4030、0.1388、0.0309。
[0096]
将锚节点数设为总结点数的40%,通讯半径设为50,在不同的节点总数条件下,设定灰狼算法迭代次数为350次,狼群数量为100,levy飞行策略中的α'设为1,统计原始dv

hop算法、三维加权dv

hop算法未使用飞行策略的灰狼算法以及本发明算法的ave_er,四种算法ave_er随节点总数量的增加而发生变化的情况,如图4所示,当节点总数设为100时,本发明改进的算法与经典dv

hop算法、三维加权dv

hop算法以及未使用飞行策略的灰狼算法相比,ave_er分别降低了0.5684、0.1402、0.0533;当节点总数设为250时,本发明改进的算法与原始dv

hop算法、三维加权dv

hop算法以及未使用飞行策略的灰狼算法相比,ave_er分别降低了0.6580、0.1881、0.0478;当通讯半径为400时,本发明改进的算法与原始dv

hop算法、三维加权dv

hop算法以及未使用飞行策略的灰狼算法相比,ave_er分别降低了0.6973、0.1974、0.0203。
[0097]
由实验结果表明,4种算法对平均定位精确度数据ave_er在不同的锚节点数,节点总数以及通讯半径的不同数据条件下,本发明算法的精确度明显优于原始dv

hop算法、三维加权dv

hop算法以及未使用飞行策略的灰狼算法,并且在加入levy飞行策略时相较未使用飞行策略的灰狼算法,定位误差又降低了5%左右,相对于经典dv

hop算法、三维加权dv

hop算法以及未使用飞行策略的灰狼算法相比,降低的未知节点定位误差区间分别为40%~69%、13%~20%、1.7%~7.6%。
[0098]
以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜