面向山林防火的三维无线传感器网络数据路由融合方法

文档序号:1820311 发布日期:2021-11-09 浏览:22次 >En<

阅读说明:本技术 面向山林防火的三维无线传感器网络数据路由融合方法 (Mountain forest fire-prevention-oriented three-dimensional wireless sensor network data route fusion method ) 是由 王皓辰 林蔚 于 2021-09-01 设计创作,主要内容包括:本发明属于三维无线传感器网络技术领域,具体涉及一种面向山林防火的三维无线传感器网络数据路由融合方法。本发明包括基于熵权综合评价与改进模拟退火的分簇算法、基于熵权综合评价与概率优选的路由算法、基于数据类型与用户需求的快速数据融合算法。本发明在一定程度上克服了二维无线传感器网络的局限性,具有一定的节能性,鲁棒性强,容错性高,能很好地满足山林防火监测的需求。(The invention belongs to the technical field of three-dimensional wireless sensor networks, and particularly relates to a mountain forest fire prevention-oriented three-dimensional wireless sensor network data routing fusion method. The method comprises a clustering algorithm based on entropy weight comprehensive evaluation and improved simulated annealing, a routing algorithm based on entropy weight comprehensive evaluation and probability optimization, and a rapid data fusion algorithm based on data types and user requirements. The invention overcomes the limitation of a two-dimensional wireless sensor network to a certain extent, has certain energy saving property, strong robustness and high fault tolerance, and can well meet the requirement of forest fire prevention monitoring.)

面向山林防火的三维无线传感器网络数据路由融合方法

技术领域

本发明属于三维无线传感器网络技术领域,具体涉及一种面向山林防火的三维无线传感器网络数据路由融合方法。

背景技术

无线传感器网络具有大规模、无线、自组织、多跳、无基础设施支持的特点,传感器节点成本低、体积小、同构,大多数节点位置固定,随机分布在监控区域,要求网络系统尽可能长时间工作。

基于无线传感器网络的上述特点与限制,路由算法成为了无线传感器网络研究的重点。路由算法,又名选路算法,是指为传感器节点找到一条最佳的传输路径的算法,其目的是提高网络的处理能力并降低能耗。

分簇算法(也称分层路由算法)是路由算法研究的热点。在分簇算法中,节点被分组、集群成簇,每个簇通常要选出一个节点作为领导者(簇头),簇成员节点仅与各自的簇头通信,簇头接收簇成员节点的数据,再将全簇的数据发送给观察者或汇聚节点。

数据融合是指将多份数据或信息进行处理,得到更有效、更符合用户需求的数据的过程。数据融合可以提高系统的鲁棒性,帮助用户做出决策并减小数据的规模,从而节省能量。

目前,绝大多数算法是基于二维无线传感器网络设计的,应用于地势相对陡峭的山林防火监测有一定的局限性。因此,提出三维无线传感器网络的布设方法及相关的路由融合方法成为亟待解决的问题。

发明内容

本发明的目的在于克服二维无线传感器网络的局限性,提供一种面向山林防火的三维无线传感器网络数据路由融合方法。

本发明的目的通过如下技术方案来实现:包括以下步骤:

步骤1:在监测区域内布设面向山林防火的三维无线传感器网络;

所述的面向山林防火的三维无线传感器网络中所有节点是同构的,它们是完全相同的设备,有唯一的编号;所有节点的初始能量是相等的,不可补充,且所有节点的初始能量足够它们完成至少一次数据传输;所有节点在部署后,其空间直角坐标已知,且不再改变,所有节点存有其他节点的编号、空间坐标;所有节点可以调整发射功率,节点的传输距离上限为d0;节点的状态分为三种:正常运行、休眠、死亡,任何一个节点处于且只能处于这三种状态中的一种;节点可以进入休眠状态,但不允许所有节点进入休眠状态;正常节点和休眠节点在条件满足时可以修改状态,死亡节点的状态不再改变;所有正常节点都传输数据后,视为网络完成了一个轮次的数据传输,整个网络的寿命以传输数据轮次衡量;节点的状态仅当轮次变化时才会变化,并在开始传输数据前被确定;正常节点本轮必须传输数据,休眠节点本轮不传输数据,死亡节点不会再传输任何数据。

所述的监测区域内存在可移动的Sink节点,Sink可以对所有节点传达指令,Sink节点接收到数据后将其融合、汇总,发送到基站;将监测区域划分成n行m列,共n×m个小块,每个小块内存在至少2个节点,且满足

其中,均为设定值;表示x向上圆整;TR0为节点的传输半径,所有节点的传输半径TRi是相同的常数,即TRi=TR0

步骤2:规划初始成簇;

步骤2.1:获取所有节点的成簇信息;

步骤2.2;任选一个未入簇的节点,判断是否有合适的簇;若不存在合适的簇,则该节点自成簇;否则,该节点加入最佳簇;

以Cj表示第j个簇,设Cj中的节点是对于节点Ni,如果满足DNC(i,j)≤TRi且pj<MCN,则判定Cj是节点Ni的一个合适的簇;MCN为设定的每个簇的最大成员数;

其中,(xi,yi,zi)、(xjk,yjk,zjk)分别为节点Ni、Njk的坐标;

若节点Ni的所有合适的簇为对于簇如果满足则判定是节点Ni的最佳簇;

步骤2.3:判断初始成簇是否完成;若未完成初始成簇,则返回步骤2.2;否则,执行步骤2.4;

初始成簇的完成条件为:所有节点均加入了各自的簇,簇有唯一的编号,簇的编号依簇形成的顺序而定,且任何一个簇内必须有至少1个节点;

步骤2.4:判断是否存在一元簇;若不存在一元簇,则输出所有节点的初始成簇信息;否则,则清除成簇结果,返回步骤2.1重新执行初始成簇;

步骤3:选取簇头;

首先计算出Cj内节点的重心坐标CGj=(xj,yj,zj)和簇内节点剩余能量的中位数CEj,并构建一个虚拟的节点其空间直角坐标为(xj,yj,zj);对于Cj内的每一个筛选出剩余能量足以完成簇头传输任务的节点作为簇头候选者;如果某个簇中没有簇头候选者,则该簇被设置为休眠簇直至下次重新分簇;对于簇内每个簇头候选者,考察2个指标来选取最合适的簇头:的距离d(jk,j0)、的剩余能量与CEj的距离d(jk,j0)与越小,则认为越适合成为簇;

其中,重心CGj是球面距离意义下的重心,且限制(xj,yj,zj)在监测区域内,采用改进的模拟退火算法寻找(xj,yj,zj)的精确值;

步骤4:规划路由;

步骤4.1:获取簇中所有节点的信息;

簇有以下三种状态:未规划、已规划和休眠,任何一个簇处于且仅处于其中一种;未规划簇中至少有一个正常节点,且该节点的路由规划未完成;已规划簇中至少有一个正常节点,且所有正常节点的路由规划已完成;休眠簇没有正常节点,即所有节点都是休眠节点;

按节点的簇内出度将簇内的非簇头节点分为以下四类:

(1)簇内度0节点该类节点满足IOD(ju)=0;

(2)A型簇内度1节点该类节点满足IOD(jq)=1,且该类节点能够以单跳的方式传输数据给簇头;

(3)B型簇内度1节点该类节点满足IOD(jh)=1,且该类节点无法以单跳的方式传输数据给簇头;

(4)其他节点该类节点满足IOD(jk)≥2;

步骤4.2:判断簇头能否完成传输任务;若无法完成传输任务,则令全簇节点休眠;否则,执行步骤4.3;

步骤4.3:令Counter=0;

步骤4.4:判断Counter是否等于考察路由方案数量;若Counter等于考察路由方案数量,则通过熵权综合评价法确定指标权重,选取并执行最佳路由方案;否则,执行步骤4.5;

考虑相互独立的RNj个路由规划,设它们为考察这些路由规划的如下四个指标来选择最佳路由方案:全簇剩余能量全簇节点剩余能量的方差全簇数据传输量和休眠节点数量其中,全簇剩余能量全簇数据传输量为效益型指标,全簇节点剩余能量的方差休眠节点数量为成本型指标;

步骤4.5:簇内节点唤醒;

步骤4.6:判断簇内所有节点是否完成路由规划;若簇内所有节点已完成路由规划,则存储该路由方案,令Counter自增1后返回步骤4.4;否则,执行步骤4.7;

步骤4.7:判断簇内是否有度0节点;若簇内有度0节点,则令度0节点休眠;否则,执行步骤4.8;

步骤4.8:判断簇内是否有B型度1节点;若簇内有B型度1节点,则随机为一个B型度1节点规划路由后,返回步骤4.7;否则,执行步骤4.9;

步骤4.9:记录簇内A型度1节点编号;

步骤4.10:判断簇内是否有其他节点;若簇内有其他节点,则选择一个其他节点作为发送节点sender并为它规划路由后,返回步骤4.8;否则,执行步骤4.11;

在确保簇中没有度0节点和B型度1节点,并排除掉A型度1节点后,剩下的节点是其他节点,设它们为考察其他节点的如下三个指标来选择一个节点作为发送节点sender并为它规划路由:和簇头的距离d(ji,jCH)、剩余能量和簇内出度 其中,和簇头的距离d(ji,jCH)是效益型指标,剩余能量和簇内出度IOD(ji)是成本型指标;和簇头距离远、剩余能量少、簇内出度小的其他节点应优先规划路由;

考察所有其他节点的上述三个指标数据值,用熵权综合评价法获得每个节点的评分 依概率选择一个节点规划路由,具体如下:的评分为则选择规划路由的概率为

选定了待规划的其他节点后,还需为它选择一个接收节点receiver);其他节点是簇内出度至少为2的节点,因此至少有2个可接收节点;设的可接收节点为考察可接收节点的如下四个指标来选择一个接收节点:和的距离d(ji,jq)、剩余能量和簇头的距离d(jq,jCH)、待传数据量的距离近、剩余能量多、和簇头的距离近、待传数据量少的节点应优先作为的接收节点;考察可接收节点的上述四个指标数据值,用熵权综合评价法获得每个节点的评分同样依概率选取的接收节点,具体如下:的评分为则选择为接收节点的概率为

至此得到了的路由规划;

步骤4.11:为簇内所有A型度1节点规划路由;

步骤4.12:为簇头规划路由,存储路由方案,令Counter自增1后返回步骤4.4;

步骤5:传输与融合;

采集到的烟雾浓度数据、温度数据、湿度数据、风速数据依次为采用如下的融合算法:设a,b∈(0,1),A,B∈R+,并记

当且仅当满足以下两个条件之一时,簇头向Sink节点传输报警信息及危险节点编号:

(1)在中至少存在kj个(不妨设它们为),满足

(2)在中至少存在uj个(不妨设它们为),满足

其中,a,b,A,B根据实际情况人为设定;

当上述两个条件均不满足时,簇头向Sink节点传输以提供山林中最有利于火情发生的信息;

其中,的上四分位数;的上四分位数;的下四分位数;的上四分位数;

步骤6:判断是否需要重新分簇;若不需要重新分簇,则返回步骤4;否则,执行步骤7;

步骤7:判断面向山林防火的三维无线传感器网络是否存活;若面向山林防火的三维无线传感器网络存活,则规划非初始成簇后,返回步骤3;否则,运行终止;

所述的规划非初始成簇的方法具体为:

步骤7.1:获取所有节点的成簇信息;

设N1,N2,…,Nm是网络中的所有非死亡节点,Ni∈{N1,N2,…,Nm};在N1,N2,…,Nm中如果存在t个节点N1,N2,…,Nt满足且d(i,k)≤TRi成立,则Ni的全局出度为t,记为EOD(i)=t;如果EOD(i)=0,则Ni为全局出度0节点;

在N1,N2,…,Nm中如果存在q个节点N1,N2,…,Nq满足且d(i,l)≤TRl成立,则Ni的全局入度为q,记为EED(i)=q;如果EED(i)=0,则Ni为全局入度0节点;

步骤7.2:判断是否有未规划成簇的节点;若不存在未规划成簇的节点,则输出所有节点的成簇信息、优先簇编号;否则,执行步骤7.3;

步骤7.3:考察所有未规划成簇节点的全局出度、全局入度;判断是否有全局出度为0的节点;若不存在全局出度为0的节点,则对所有未规划成簇节点执行初始成簇算法后,返回步骤7.2;否则,执行步骤7.4;

步骤7.4:判断全局出度为0的节点中是否有全局入度为0的节点;若存在全局入度为0的节点,则设置全局出度、全局入度均为0的节点为死亡节点,返回步骤7.2;否则,执行步骤7.5;

步骤7.5:查找全局出度为0且全局入度不为0的节点中的簇头胜选者和簇头败选者,设置簇头败选者为死亡节点,并执行优先簇算法后,返回步骤7.2;

是对于全局出度为0,但全局入度不为0的节点Ni,Ei是Ni的剩余能量,如果满足Ei≥E(DD,dSink),则Ni为簇头胜选者,否则Ni为簇头败选者;其中,DD是节点默认传输数据量,即每个节点采集数据的位数;

其中,v是传输数据的位数;s是传输距离;Eelec=50nJ/bit;εfs=10pJ/(bit·m2),εmp=0.013pJ/(bit·m4);

所述的优先簇算法按“先选簇头,再分簇”的原则执行;优先簇的簇头是固定的,即成立这个优先簇的那个簇头胜选者;优先簇会尽可能地吸收全局出度不为0的节点入簇,在所有优先簇都规划成簇完成后,如果此时还有其他全局出度不为0的节点,则对这些节点执行初始成簇。

本发明还可以包括:

所述的步骤3中采用改进的模拟退火算法寻找(xj,yj,zj)的精确值的方法具体为:

步骤3.1:初始化设定初始温度、终止温度、外循环最大迭代次数、内循环最大迭代次数;初始化生成一个初始解作为第一次迭代的当前解;

步骤3.2:对当前解添加扰动,得到新解;

步骤3.3:按照Metropolis准则,判断是否接收新解作为当前解;若接收新解作为当前解,则直接执行步骤3.5;否则,舍弃新解,将内循环迭代次数增1后,执行步骤3.4;

所述的Metropolis准则为:设当前解为(x,y,z),新解为(x′,y′,z′),则接受新解作为当前解的概率为

其中,ΔG=G(x′,y′,z′)-G(x,y,z);k∈(0,1];

步骤3.4:判断是否达到内循环最大迭代次数;若未达到内循环最大迭代次数,则返回步骤3.2;否则,执行步骤3.5;

步骤3.5:将内循环迭代次数重置为0,外循环迭代次数自增1,执行降温后;

步骤3.6:判断是否达到外循环最大迭代次数或当前温度是否小于终止温度;若已达到外循环最大迭代次数或当前温度小于终止温度,则以当前解作为全局最优解输出;否则,返回步骤3.4。

步骤4.4和步骤4.10中所述的熵权综合评价法具体为:

步骤(1):对数据进行标准化处理;

设x是效益型指标,m个待评项目的指标值为x1,x2,…,xm,又设mx=min{x1,x2,…,xm},Mx=max{x1,x2,…,xm},令

其中,wx是该指标的权重,得到的x1′,x2′,…,xm′就是x1,x2,…,xm标准化后的数据;

设y是成本型指标,m个待评项目的指标值为y1,y2,…,ym,又设my=min{y1,y2,…,ym},My=max{y1,y2,…,ym},令

其中,wy是该指标的权重,得到的y1′,y2′,…,ym′就是y1,y2,…,ym标准化后的数据;

步骤(2):形成原始数据矩阵A=(aij)m×n:

其中,aij为第j个指标下第i个项目的指标值;

步骤(3):计算第j个指标下第i个项目的指标值的比重;

步骤(4):计算第j个指标的熵值;

其中,k=1/lnm;

步骤(5):计算第j个指标的熵权;

本发明的有益效果在于:

本发明提供了一种面向山林防火的三维无线传感器网络数据路由融合方法,包括基于熵权综合评价与改进模拟退火的分簇算法、基于熵权综合评价与概率优选的路由算法、基于数据类型与用户需求的快速数据融合算法。本发明在一定程度上克服了二维无线传感器网络的局限性,具有一定的节能性,鲁棒性强,容错性高,能很好地满足山林防火监测的需求。

附图说明

图1为本发明中面向山林防火的三维无线传感器网络的监测区域空间示意图。

图2为本发明的总体流程图。

图3为本发明中初始成簇的流程图。

图4为本发明中模拟退火算法的流程图。

图5为本发明中非初始成簇的流程图。

图6为本发明中优先簇算法的流程图。

图7为本发明中路由算法的流程图。

具体实施方式

下面结合附图对本发明做进一步描述。

本发明的目的是为了克服二维无线传感器网络的局限性,提供一套基于三维无线传感器网络的算法,包括基于熵权综合评价与改进模拟退火的分簇算法、基于熵权综合评价与概率优选的路由算法、基于数据类型与用户需求的快速数据融合算法,这些算法节能性好,鲁棒性强,容错性高,能很好地实现山林防火的需求。

首先对无线传感器网络及其运行提出以下要求:

(1)所有节点是同构的,它们是完全相同的设备,有唯一的编号,且不会改变。

(2)所有节点的初始能量是相等的,不可补充。所有节点的初始能量足够它们完成至少一次数据传输。

(3)所有节点在部署后,其空间直角坐标已知,且不再改变,所有节点存有其他节点的编号、空间坐标。

(4)所有节点可以调整发射功率,以消耗尽可能少的能量将数据传输给接收节点。节点的发射功率有上限,从而当能量充分大时,由发射功率上限可以导出节点传输距离的上限d0

(5)节点的状态分为三种:正常运行、休眠、死亡。任何一个节点处于且只能处于这三种状态中的一种。节点可以进入休眠状态,但不允许所有节点进入休眠状态。正常节点和休眠节点在条件满足时可以修改状态。死亡节点的状态不再改变。

(6)所有正常节点都传输数据后,视为网络完成了一个轮次的数据传输,并认为数据传输的时间极短。整个网络的寿命以传输数据轮次衡量。

(7)节点的状态仅当轮次变化时才会变化,并在开始传输数据前被确定。正常节点本轮必须传输数据,休眠节点本轮不传输数据,死亡节点不会再传输任何数据。

(8)监测区域内存在若干可移动的汇聚节点(Sink节点),这些Sink节点的能量极高,具备强大的通信功能,可以对所有节点传达指令。Sink节点接收到数据并将其融合、汇总,发送到基站。

(9)节点传输数据的能耗按下式(能耗公式)计算。

其中,v是传输数据的位数,s是传输距离,Eelec=50nJ/bit,εfs=10pJ/(bit·m2),εmp=0.013pJ/(bit·m4)。

(10)采用下式中的坐标系,

下式是其等价的坐标变换公式,

下式表示监测区域,其中是人为设定的。

若取得到监测区域的空间图像如图1所示,它是一个球面的一部分。采用这样的监测区域的优势在于:可以用一个或多个图中的监测区域贴近实际的山林外形。

(11)以Ni表示第i个节点。节点间的距离采用球面距离计算,即设Ni的直角坐标是(xi,yi,zi),Nj的直角坐标是(xj,yj,zj),则它们之间的距离是

当监测区域的面积较大时,采用球面距离更具有真实性。当监测区域的面积较小时,可以用欧氏距离代替球面距离。如无说明,均采用球面距离作为节点间距离。

(12)由能耗公式,利用节点的剩余能量和传输数据量,可以计算出节点能够传输的最大距离maxs。记Ni的传输半径为

TRi=min{maxs,d0}.

由于节点同构,故在网络运行之前,所有节点的传输半径是相同的常数,记为TR0

(13)将监测区域划分成n行m列,共n×m个小块,参见图1。每个小块内存在至少2个节点,且满足

这保证了运行之前所有节点可以通过某种方式建立通信。表示x向上圆整。

上述的13条要求包括了三维无线传感器网络的布设方法。

整个网络的运行流程如图2所示。其中,设置重新分簇条件为:当前轮次正常节点数量不大于分簇完成时正常节点数量的90%。当网络中节点全部死亡或没有任何一个节点的剩余能量足够完成簇头传输任务时,认为网络死亡。

基于熵权综合评价与改进模拟退火的分簇算法(下称分簇算法)包括如下3个算法:初始成簇算法、簇头选择算法、非初始成簇算法。

初始成簇算法流程如图3所示。簇成员节点通过单跳或多跳(自适应)的方式将数据传输给簇头,簇头节点接收到数据后进行数据融合,并将融合后的数据传输给可移动的Sink节点。Sink节点会移动到各簇头附近接收数据,Sink节点接收数据时与簇头的距离不大于dSink。dSink的取值可以根据需求人为设定。

成簇完成的定义是所有节点均加入了各自的簇。任选一个未入簇的节点是指:在所有未入簇的节点中随机选取一个节点,选取到任何一个未入簇节点的概率是等可能的。

簇也有唯一的编号,簇的编号依簇形成的顺序而定,且任何一个簇内必须有至少1个节点。以Cj表示第j个簇,设Cj中的节点是按照如下方式定义Ni与Cj的距离DNC(i,j):

如果满足

DNC(i,j)≤TRi,

pj<MCN,

则Cj是Ni的一个合适的簇。其中MCN是每个簇的最大成员数,可以按需求人为设定。设Ni的所有合适的簇为如果是Ni的最佳簇。

有时会出现一元簇(只有一个节点的簇),一元簇的出现不利于节省能量,因此一元簇的出现要尽可能避免。在成簇完成后、选取簇头之前,设置一个检查是否出现一元簇的环节,如果出现了一元簇,要清空所有节点的成簇方案,重新规划成簇。初始成簇完成后,按照下面的簇头选择算法为每个簇选出簇头。

簇头选择算法是一个基于综合评价的算法,该算法有权设置某些簇休眠至下次重新分簇。算法首先计算出Cj内节点的重心坐标CGj=(xj,yj,zj)和簇内节点剩余能量的中位数CEj,并构建一个虚拟的节点其空间直角坐标为(xj,yj,zj)。对于Cj内的每一个算法筛选出剩余能量足以完成簇头传输任务的节点(簇头候选者)。如果某个簇中没有簇头候选者,则该簇被设置为休眠簇直至下次重新分簇。对于簇内每个簇头候选者,考察2个指标来选取最合适的簇头:的距离d(jk,j0)以及的剩余能量与CEj的距离这里的重心CGj是球面距离意义下的重心,且限制(xj,yj,zj)在监测区域内,即采用改进的模拟退火算法寻找(xj,yj,zj)的精确值。为节省能耗、均衡能耗,d(jk,j0)与越小,则认为越适合成为簇头。

模拟退火算法的流程如图4所示。在模拟退火算法中,初始化步骤完成若干参数的设定,包括初始温度、终止温度、外循环最大迭代次数、马尔科夫链的长度(内循环最大迭代次数)等,并生成一个初始解作为第一次迭代的当前解。在内循环中,算法会对当前解施加一个扰动,得到新解,代入到目标函数中判断新解是否优于当前解,并依Metropolis准则判断是否接受新解作为当前解。以求目标函数G(x,y,z)的最小值为例,设当前解为(x,y,z),新解为(x′,y′,z′)。Metropolis准则即:接受新解作为当前解的概率为

其中ΔG=G(x′,y′,z′)-G(x,y,z),k∈(0,1]可以按需求设定。如果接受了新解,则跳出内循环,否则内循环迭代次数自增1。

在外循环中,算法跳出内循环后,会对当前温度进行一次降温,这里采用的降温方法是直接以一个人为设定的降温系数乘当前温度,得到的新的温度作为当前温度。

改进的模拟退火算法根据簇所在的坐标系中的面积最小的闭矩形的边界对当前解和扰动做出限制,即可以找到坐标系中的包含簇中所有节点的面积最小的闭矩形

如果新解不在D内则舍弃。限制扰动向量为满足

此外,独立地执行模拟退火算法u次(u≥2),在u个近似最优解中找到目标函数最优的那一个,作为改进的模拟退火算法的近似最优解。这可大幅提升算法运行效率,并更好地平衡算法效率与精度。

熵权综合评价法执行步骤如下所示:

(1)形成原始数据矩阵A=(aij)m×n:

其中aij为第j个指标下第i个项目的指标值。

(2)计算第j个指标下第i个项目的指标值的比重

(3)计算第j个指标的熵值

其中k=1/lnm。

(4)计算第j个指标的熵权

在用综合评价法求解最优问题的过程中,需要对数据进行标准化处理,具体方法如下:

(1)设x是效益型指标,m个待评项目的指标值为x1,x2,…,xm,又设mx=min{x1,x2,…,xm},Mx=max{x1,x2,…,xm},令

其中wx是该指标的权重。这样得到的x1′,x2′,…,xm′就是x1,x2,…,xm标准化后的数据。

(2)设y是成本型指标,m个待评项目的指标值为y1,y2,…,ym,又设my=min{y1,y2,…,ym},My=max{y1,y2,…,ym},令

其中wy是该指标的权重。得到的y1′,y2′,…,ym′就是y1,y2,…,ym标准化后的数据。

利用熵权综合评价法,可以找到簇内最适合成为簇头的节点。熵权综合评价法的客观性极强。

非初始成簇算法执行时,所有节点已经完成了至少一轮数据传输,此时有可能出现各种极端情况。非初始成簇算法是针对各类极端情况而设计的,可以极大地提升算法的鲁棒性、节能性。如果未出现任何极端情况,则非初始成簇算法与初始成簇算法十分相似。非初始成簇算法的流程如图5所示。非初始成簇算法是唯一可以设置节点为死亡节点的算法。

设N1,N2,…,Nm是网络中的所有非死亡节点,Ni∈{N1,N2,…,Nm}。在N1,N2,…,Nm中如果存在t个(不妨设它们为N1,N2,…,Nt)满足:k≠i、d(i,k)≤TRi成立,则Ni的全局出度为t,记为EOD(i)=t。如果EOD(i)=0,则Ni为全局出度0节点。在N1,N2,…,Nm中如果存在q个(不妨设它们为N1,N2,…,Nq)满足l≠i,d(i,l)≤TRl成立,则Ni的全局入度为q,记为EED(i)=q。如果EED(i)=0,则Ni为全局入度0节点。如果Ni既是全局出度0节点,又是全局入度0节点,则Ni为双度0节点。设Ni是全局出度0节点,但不是全局入度0节点,Ei是Ni的剩余能量。如果满足Ei≥E(DD,dSink),则Ni为簇头胜选者,否则Ni为簇头败选者,这里DD是节点默认传输数据量,即每个节点采集数据的位数。全局出度0节点无法将数据传输给任何一个节点,其利用价值只有成为簇头,当其全局入度为0或是簇头败选者时,该节点将不再具有任何利用价值,此时设置该节点为死亡节点。

设Ni是簇头胜选者,以Ni作为簇头成立一个簇Cj(优先簇)。设Cj为一个优先簇,成立Cj的簇头胜选者是Nj1,Ni是一个全局出度不为0的节点,如果满足|Cj|<MCN、d(j1,i)≤TRi,则Cj是Ni的一个可行优先簇。优先簇算法按“先选簇头,再分簇”的原则执行。优先簇的簇头是固定的,即成立这个优先簇的那个簇头胜选者。优先簇算法的流程如图6所示。优先簇会尽可能地吸收全局出度不为0的节点入簇。在所有优先簇都规划成簇完成后,如果此时还有其他全局出度不为0的节点,则对这些节点执行初始成簇。这里执行的初始成簇算法将不再考虑任何一个优先簇作为合适的簇。非初始成簇算法执行完毕后,对非优先簇执行同样的簇头选择算法,完毕后可以得到所有非死亡节点的分簇方案。

基于熵权综合评价与概率优选的路由算法(下称路由算法)会为所有簇的所有节点规划路由。算法的主要思想是:将簇内节点分类,不同类的节点采取不同的规划策略。对同一个簇独立地执行若干次路由规划,选择其中效果最好的一个方案作为最终的传输方案。这可有效提升找到更好的路由方案的概率。算法在执行之前,网络中的节点已经完成分簇,并选举出簇头。算法按照图7运行。算法具有如下的原则性设定:

(1)所有非死亡节点必须在本算法中被规划路由。

(2)在本算法的运行过程中,节点的状态不会改变为死亡。如果在某个路由方案中,某个节点的状态被调整为休眠,则该节点的所有发送节点在该路由方案中成为休眠节点。

(3)本算法将依次为所有簇的节点规划路由一个轮次,即任意一个簇的任意一个节点在下一轮次是选择哪个节点作为接收节点,还是成为休眠节点,这个问题将会在本算法执行完毕后被解决。图7中显示的是为任意一个簇的全部节点规划路由的流程图。

(4)节点不会向其他簇的节点传输数据。

(5)任何一个节点的接收节点被确立后,在该路由方案中不再改变,且该节点成为已规划节点,簇内的其他未规划节点不会以它为接收节点。

(6)簇有以下三种状态:未规划、已规划和休眠。任何一个簇处于且仅处于其中一种。未规划簇中至少有一个正常节点,且该节点的路由规划未完成。已规划簇中至少有一个正常节点,且所有正常节点的路由规划已完成。休眠簇没有正常节点,即所有节点都是休眠节点。休眠簇在极端情况下才会出现,它是由簇头的能量不足以将该簇的融合后数据传至Sink节点所引起的。

如果Cj中有t个节点(包括簇头,不妨设它们为)满足 是正常节点、成立,则的簇内出度为t,它的可接收节点数量为t,记为IOD(jk)=t。

按节点的簇内出度将簇内的非簇头节点分为以下四类:

(1)簇内度0节点该类节点满足IOD(ju)=0.

(2)A型簇内度1节点该类节点满足IOD(jq)=1,且该类节点能够以单跳的方式传输数据给簇头。

(3)B型簇内度1节点该类节点满足IOD(jh)=1,且该类节点无法以单跳的方式传输数据给簇头。

(4)其他节点该类节点满足IOD(jk)≥2.

这里并不考虑节点的簇内入度,因此在不引起歧义的情况下,依次称上述四类节点为度0节点、A型度1节点、B型度1节点、其他节点。

当簇头可以完成传输任务时,采用人为设定的方式设置Cj的考察路由方案数量RNj,算法将为Cj独立地规划路由RNj次,并从中选出最佳路由方案。每次为Cj规划路由时,将先“唤醒”Cj中的节点,即设置Cj中的所有节点为正常节点。

Cj中可能存在度0节点在这一轮次中既不发送数据,也不接收数据,设置为休眠节点。任意一个节点规划路由后,其他未规划节点的簇内出度可能减小,因此需要不断查找簇中的度0节点,设置它们为休眠节点,直到簇中没有度0节点。

Cj中可能存在B型度1节点相较于非B型度1节点,它们往往和簇头的距离非常远。的可接收节点唯一,且该可接收节点并非簇头。的路由规划只可能出现如下两种情况:要么传输数据给它唯一的可接收节点,要么在本轮成为休眠节点。休眠节点不利于数据传输,因此尽可能让所有B型度1节点正常工作。算法在设置度0节点为休眠节点后,将优先为B型度1节点规划路由。同样由于任意一个节点规划路由后可能导致其他节点的簇内出度减小,因此可能存在为一个B型度1节点规划路由后,又出现新的度0节点的情况,从而需要在为任意一个B型度1节点规划路由后重新检测度0节点并设置它们为休眠节点,直至簇内不存在B型度1节点。

Cj中可能存在A型度1节点相较于非A型度1节点,它们往往和簇头的距离非常近。的可接收节点唯一,且该可接收节点就是簇头。的路由规划只可能出现如下两种情况:要么传输数据给簇头,要么在本轮成为休眠节点。一方面,休眠节点不利于数据传输;另一方面,因为往往与簇头非常近,它应多承担一些传输任务。因此,仅当簇内只有A型度1节点未规划时,算法才为A型度1节点规划路由。

在确保簇中没有度0节点和B型度1节点,并排除掉A型度1节点后,剩下的节点是其他节点,不妨设它们为考察其他节点的如下三个指标来选择一个节点作为发送节点(sender)并为它规划路由:和簇头的距离d(ji,jCH)、剩余能量和簇内出度 和簇头距离远、剩余能量少、簇内出度小的其他节点应优先规划路由,即d(ji,jCH)是效益型指标,是成本型指标,IOD(ji)是成本型指标。考察所有其他节点的上述三个指标数据值,用熵权综合评价法获得每个节点的评分为了增强算法的灵活性,依概率选择一个节点规划路由,具体如下:的评分为则选择规划路由的概率为

选定了待规划的其他节点后,还需为它选择一个接收节点(receiver)。其他节点是簇内出度至少为2的节点,因此至少有2个可接收节点。不妨设的可接收节点为考察可接收节点的如下四个指标来选择一个接收节点:和的距离d(ji,jq)、剩余能量和簇头的距离d(jq,jCH)、待传数据量的距离近、剩余能量多、和簇头的距离近、待传数据量少的节点应优先作为的接收节点,即d(ji,jq)是成本型指标、是效益型指标、d(jq,jCH)是成本型指标、是成本型指标。考察可接收节点的上述四个指标数据值,用熵权综合评价法获得每个节点的评分同样依概率选取的接收节点,具体如下:的评分为则选择为接收节点的概率为

至此得到了的路由规划。为任意一个节点规划路由后,其他未规划节点的簇内出度可能减小,即为规划路由后可能导致新的B型度1节点出现,因此为任意一个其他节点规划路由后,还需重新检测并规划B型度1节点。此外,A型度1节点也可能成为度0节点或B型度1节点,这是因为A型度1节点是最后规划的,此前往往会有非A型度1节点将数据传给它们,这将导致它们的传输半径减小,从而有可能无法传数据给簇头。

考虑相互独立的RNj个路由规划,设它们为考察这些路由规划的如下四个指标来选择最佳路由方案:全簇剩余能量(效益型指标)、全簇节点剩余能量的方差(成本型指标)、全簇数据传输量(效益型指标)和休眠节点数量(成本型指标),考察所有路由规划的上述四个指标数据值,用熵权综合评价法选择评分最高的路由规划作为最佳路由方案,并在本轮次中按照这个最佳路由方案进行数据传输。

基于数据类型与用户需求的快速数据融合算法(下称数据融合算法)对收集到的数据进行融合,以数据级融合为主。数据融合算法可以有效降低能耗,并帮助用户做出决策。

火灾早期的主要特征是产生不可见烟雾以及温度变化,设所有节点同时具备如下的四种传感器:烟雾传感器、温度传感器、湿度传感器、风速传感器。其中,烟雾传感器监测遮蔽度或减光率,单位为obs/m;温度传感器监测温度,单位为℃;湿度传感器监测相对湿度,无量纲;风速传感器监测风速,单位为m/s。在实际应用中,用户关心的是火情出现的情况。火情越早发现,越有利于人们及时灭火。烟雾浓度越高、温度越高、湿度越低、风速越大,越利于火情发生。在Cj的簇头采集到的所有数据中,烟雾浓度高的、温度高的、湿度低的、风速大的是用户最需要的数据,而其他不利于火情发生的数据是用户不关心的。

采集到的烟雾浓度数据、温度数据、湿度数据、风速数据依次为采用如下的融合算法:设a,b∈(0,1),A,B∈R+,并记

簇头向Sink节点传输报警信息及危险节点编号,当且仅当满足以下两个条件之一:

(1)在中至少存在kj个(不妨设它们为),满足

(2)在中至少存在uj个(不妨设它们为),满足

这里a,b,A,B可以根据实际情况人为设定。当上述两个条件均不满足时,记的上四分位数,不妨设

并记

的上四分位数,不妨设

并记

的下四分位数,不妨设

并记

的上四分位数,不妨设

并记

簇头向Sink节点传输以提供山林中最有利于火情发生的信息。

与现有技术相比,本发明的有益效果是:在一定程度上克服了二维无线传感器网络的局限性,具有一定的节能性,鲁棒性强,容错性高,能很好地满足山林防火监测的需求。

实施例1:

参数设置如下:簇最大成员数MCN=30,节点的初始能量DE=1J,节点的默认传输数据量DD=64bit,考察路由方案数量RNj=3;其中模拟退火算法的参数设置如下:初始温度为106,降温系数为0.98,终止温度为105,内循环最大迭代次数为105,外循环最大迭代次数为5000,Metropolis准则中的k取1,模拟退火算法执行次数其中pj为Cj中的节点数量。本例中面积最小的小块中均匀分布节点4个,其他小块中按面积比例均匀分布更多节点,节点共483个。在节点剩余能量较充足时,一个节点传输数据一轮消耗的平均能量为4.518×10-5J,如果每天传输数据24轮,则可至少使用2年。增大节点密度、模拟退火算法执行次数u、考察路由方案数量RNj可以进一步提升节能性,但相应地会牺牲一些算法运行效率。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

29页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于类异构蜂窝网络的立体空间蜂群组网架构构建方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!