一种基于人工蜂群的无线传感器网络节点定位算法的制作方法

文档序号:25439162发布日期:2021-06-11 21:57阅读:90来源:国知局
一种基于人工蜂群的无线传感器网络节点定位算法的制作方法

本发明涉及无线传感器网络技术领域,具体为一种基于人工蜂群的无线传感器网络节点定位算法。



背景技术:

无线传感器网络(wsn)是由大量廉价、小巧的传感器节点组成的,在民用和军用领域都有着广阔的应用前景。但是,无论是在军事侦察、环境探测,还是在医疗患者跟踪应用中,都应该在数据上附加位置信息,否则数据将失去收集的意义。因此,如何提高位置信息的准确性成为近年来研究的热点。

具有全球定位系统(gps)硬件的节点称为锚节点或信标,其他节点称为未知节点。节点的位置信息似乎可以通过为每个节点配备gps来获取。然而,由于其规模、成本等问题,这种方法并不可行。而且,该方法在室内环境中不能达到预期的效果。因此,为了更精确地定位节点,各种non-gps-based的定位算法被提出。这些算法可以分为两类:基于距离的算法和不基于距离的算法。传统的基于距离的方法有:到达时差(tdoa),到达角(aoa),到达时间(toa)和接收信号强度指示(rssi)。基于距离的方法对自身的硬件有较高的要求,但基于距离的方法的精度普遍高于非基于距离方法。

在工程学的许多领域中,实际的工程问题通常被表述成优化问题,元启发式算法在处理这类问题时表现出了强大的全局挖掘能力。自然启发的元启发式算法一般可以分为两类:群体智能(si)和进化算法(ea)。许多si算法,包括帝王蝶优化算法(mbo)、大象放牧优化算法(eho)、萤火虫算法(fa)和粒子群优化算法(pso)已经被成功地用于坐标估计。

人工蜂群算法(abc)是求解优化问题的si算法之一,它由d.karaboga博士提出,并被广泛应用于求解优化问题。abc算法模拟了蜜蜂的觅食行为,并在2007年形成了一套完整的理论体系来解决数值优化问题。abc的蜂群可分为三种:雇佣蜂、观察蜂和侦察蜂。雇佣蜂的工作是收集食物源并与观察蜂分享,观察蜜蜂负责判断食物源的优劣,并改进食物源质量。侦察蜂的职责是在现有的食物源枯竭时寻找新的食物源。

这些基于元启发式的方法将定位问题转化为优化问题,建立了目标函数。然后,用元启发式算法求解最优估计节点位置。与传统的定位方法相比,节点定位性能更好,但由于元启发式算法的随机性,大多数算法仍然存在定位精度不高的问题,特别是在噪声环境下。所以在受噪声影响的情况下,必须找到一种更有效的定位算法,使其具备更高的定位精度和效率。



技术实现要素:

本发明的目的在于提供一种基于人工蜂群的无线传感器网络节点定位算法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种基于人工蜂群的无线传感器网络节点定位算法,节点包括已知位置的锚节点和未知节点,所述未知节点的定位包括以下步骤:

s100,无线传感器网络初始化:网络中随机生成锚节点和未知节点,锚节点测量其到未知节点的距离将距离信息发送给未知节点;

s200,网络中的未知节点通过测量距离确定自身可能存在的矩形区域;

s300,将矩形区域的边界设置成为模拟退火-人工蜂群混合算法的搜索区域;

s400,进行系统建模,通过各个锚节点与未知节点的测量距离,以及搜索区域,建立目标函数;

s500,每个收到距离信息的未知节点,独立运行人工蜂群算法,初始化参数,包括种群数量,最大循环次数,最大开采次数,并生成初始解作为当前解;

s600,通过雇佣蜂搜索新解,计算当前解和新解的适应度值,并通过模拟退火机制更新当前解,其中接受适应度较低解的概率为p,当适应度较低的解被接受后,更新温度tm;

s700,观察峰通过轮盘赌方法,选择需要被改进的解,通过贪婪原则,保留适应度较高的解,若改进的解没有被保留,则该解的开采次数增加1;

s800,判断是否有达到最大开采次数的解,如果有则通过侦察蜂生成新解,若没有则记录目前为止的最优解;

s900,判断是否达到了最大循环次数,若没有则返回s600,若满足则输出解为未知节点的最优估计坐标,未知节点将自身的最优估计坐标广播给无线传感器网络,完成对未知节点的定位。

优选的,所述s100的锚节点通过接收信号强度指示(rssi)方法获得锚节点与未知节点的距离,利用表示其到未知节点的距离,其中di是锚节点到未知节点的实际距离,ni是零均值方差为的高斯噪声。其中pn是测量距离的噪音百分比。

优选的,所述s200的矩形区域,未知节点首先判断其周围有不少于3个的锚节点,则选取其距离最近的3个锚节点,以每个锚节点的坐标为圆心,半径为的圆,取这些圆的外接矩形,矩形的重叠部分视为未知节点存在的区域,在此之后模拟退火-人工蜂群混合算法在该区域内估计节点的坐标。

优选的,所述s400中,目标函数的数学模型如下:

式中m是未知节点通讯半径内的锚节点数量,且m>3,xun,yun是未知节点的坐标,xi,yi通讯半径内第i个锚节点的坐标,是通讯半径内第i个锚节点与未知节点的测量距离。

优选的,所述s600中混合模拟退火-人工蜂群算法用适应度函数f来评估每个解的适应度值,确定解的优劣程度,适应度高的解会被保留下来作为下次迭代的基础,适应度较低解仍然可以以概率p被接受.适应度函数f的定义如下:

上述公式中fi(xi)是目标函数值。

优选的,所述s600中,模拟退火机制更新当前解的方发是保留适应度较高的解为当前解,适应度较低的解以p的概率被更新为当前解,其中p为其中f(vi,j),f(xi,j)分别是新解和当前解的函数值,tm是当前温度。

优选的,所述s600中,更新温度tm的前提是,当一个适应度较低的解被算法接受时,tm的衰减函数为其中λ为等于0.01的退火因子。

与现有技术相比,本发明的有益效果是:本发明针对每个未知节点在定位之前估计其可能存在的区域,相比于现有技术通过在整个空间内搜索,本发明提高了计算的效率和准确性;本发明通过使用混合模拟退火-人工蜂群算法,一方面通过模拟退火机制避免算法陷入局部最优值,另一方面通过人工蜂群算法在目标区域内估计节点坐标,提高了算法在噪声干扰下的定位精度。

附图说明

图1是无线传感器网络节点分布的结构示意图。

图2是在噪音干扰下实际距离与测量距离的差异示意图。

图3是未知节点判断自身存在位置的示意图。

图4是本发明混合模拟退火-人工蜂群算法的流程图。

图5是本发明基于混合模拟退火-人工蜂群算法的定位算法流程示意图

图6是本发明算法与普通人工蜂群算法在pn=10时定位的误差对比图。

图7是本发明算法与普通人工蜂群算法在不同pn时定位的误差对比图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1展示了本发明中无线传感器网络节点分布的结构示意图

图2展示了在噪音干扰情况下的测距效果图,由于测量误差的印象,通过rssi测量的距离与实际的距离存在偏差,使得传统的算法在通过三边定位时,在全局搜索节点坐标会陷入局部最优值,导致定位效果不准确。

本发明在于克服带有测距噪音的无线传感器网络节点定位技术的不足,提供了一种基于人工蜂群算法的无线传感器节点定位方法,在测距阶段,通过锚节点与未知节点的测量距离估计各个未知节点可能存在的区域,减少了算法的搜索时间,提高了搜索效率。在定位阶段,通过混合模拟退火人工蜂群算法来计算节点的坐标,降低了算法陷入局部最优的概率,提高了定位的准确性。

本发明提供如下技术方案:一种无线传感器网络节点定位算法,节点包括已知位置的锚节点和位置节点,所述未知节点位置的定位包括以下步骤:

s100,无线传感器网络初始化:网络中随机生成锚节点和未知节点,锚节点测量其到未知节点的距离将距离信息发送给未知节点;

s200,网络中的未知节点通过测量距离确定自身可能存在的矩形区域;

s300,将矩形区域的边界设置成为模拟退火-人工蜂群混合算法的搜索区域;

s400,进行系统建模,通过各个锚节点与未知节点的测量距离,以及搜索区域,建立目标函数;

s500,每个收到距离信息的未知节点,独立运行人工蜂群算法,初始化参数,包括种群数量,最大循环次数,最大开采次数,并生成初始解作为当前解;

s600,通过雇佣蜂搜索新解,计算当前解和新解的适应度值,并通过模拟退火机制更新当前解,其中接受适应度较低解的概率为p,当适应度较低的解被接受后,更新温度tm;

s700,观察峰通过轮盘赌方法,选择需要被改进的解,通过贪婪原则,保留适应度较高的解,若改进的解没有被保留,则该解的开采次数增加1;

s800,判断是否有达到最大开采次数的解,如果有则通过侦察蜂生成新解,若没有则记录目前为止的最优解;

s900,判断是否达到了最大循环次数,若没有则返回s600,若满足则输出解为未知节点的最优估计坐标,未知节点将自身的最优估计坐标广播给无线传感器网络,完成对未知节点的定位。

本发明中,s100的锚节点通过接收信号强度指示方法获得锚节点与未知节点的距离,利用表示其到未知节点d的距离,其中di是锚节点到未知节点的实际距离,ni是零均值方差为的高斯噪声。其中pn是测量距离的噪音百分比。

本发明中,s200的矩形区域,未知节点的周围若有不少于3个的锚节点,则选取其距离最近的3个锚节点,以每个锚节点的坐标为圆心,作半径为的圆,取这些圆的外接矩形,矩形的重叠部分视为未知节点存在的区域,在此之后混合模拟退火-人工蜂群算法在该区域内估计节点的坐标。

本发明中,s400中,目标函数的数学模型如下:

式中m是未知节点通讯半径内的锚节点数量,且m>3,xun,yun是未知节点的坐标,xi,yi通讯半径内第i个锚节点的坐标,是通讯半径内第i个锚节点与未知节点的测量距离。

本发明中,s500具体步骤如下:

步骤510:初始化参数,包括种群数量(cz),最大循环次数(mcn),最大开采次数(limit),其中雇佣蜂的数量等于观察峰的数量,为雇佣峰的任务是采集蜜源(方程的解),观察峰的任务是评估和改进蜜源的蜜量(解的优劣),算法通过不断的更新解的质量,通过迭代达到最优解。

步骤520:假设在维数为d(本发明由于是坐标估计,d=2)的搜索空间中,由公式2在搜索区域中生成初始解

xi,j=li,j+rand(0,1)*(ui,j-li,j)(2)

其中且ui,j,li,j分别是搜索区域的上界与下界,即为步骤3中矩形的边界,rand(0,1)是分布在(0,1)中随机生成的数。xi,j表示第i个解中第j维的值.

本发明中,s600具体步骤如下:

步骤610:雇佣蜂通过式3搜索新解。

vi,j=xi,j+θi,j*(xi,j-xk,j)(3)

其中k∈[1,d]且i≠k,θi,j为[-1,1]之间的随机数

步骤620:混合模拟退火-人工蜂群算法用适应度函数f来评估每个解的适应度值,确定解的优劣程度,适应度较高的解会被保留下来作为下次迭代的基础,适应度较低的解仍然可以以概率p被接受.适应度函数f的定义如下:

上述公式中fi(xi)是目标函数值。

步骤630:混合模拟退火-人工蜂群算法以p的概率接受差解其中p为其中f(vi,j),f(xi,j)分别是新解和当前解的函数值,tm是当前温度。

步骤640:在算法接受适应度较低的解后,p的值随着tm的减小而衰减,tm的衰减函数为其中λ为等于0.01的退火因子。

定位性能的分析

图4展示了本发明的模拟退火-人工蜂群混合算法的流程示意图。图5展示了本发明的基于混合模拟退火-人工蜂群算法的定位算法流程示意图。通过模拟退火-人工蜂群混合算法在pn=10的情况下的定位精度如图6所示,通过模拟退火-人工蜂群混合算法在不同pn的情况下的定位精度如图7所示。改进后的混合算法在解决带有噪音的无线传感器网络定位的表现明显优于基本算法,其定位误差显著的小于基本算法的定位误差。

通过仿真结果表明,本发明引入模拟退火-人工蜂群混合算法在解决带噪音的无线传感器网络定位问题中具有较大优势,能够实现对未知节点的相对准确的定位。

综上所述,本发明针对每个未知节点在定位之前估计其可能存在的区域,相比于现有技术通过在整个空间内搜索,本发明提高了计算的效率和准确性;本发明通过使用混合模拟退火-人工蜂群算法,一方面通过模拟退火机制避免算法陷入局部最优值,另一方面通过人工蜂群算法在目标区域内估计节点坐标,解决了算法早熟收敛的问题。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1