一种基于改进粒子群算法的WSNs分簇多跳路由协议的方法技术

技术编号:22082202 阅读:19 留言:0更新日期:2019-09-12 16:28
本发明专利技术公开了一种基于改进粒子群算法的WSNs分簇多跳路由协议的方法,其特征是,包括如下步骤:(1)网络初始化;(2)簇头选举;(3)转发节点的选举与多跳传输。这种方法能解决在分簇路由协议中簇头节点和转发节点选举方法及转发节点通信路径选择不合理、节点能量消耗大的缺陷,能平衡提高全局搜索与局部探索能力、降低并均衡节点的能耗、延长WSNs的生存周期。

A Clustering Multi-hop Routing Protocol for WSNs Based on Improved Particle Swarm Optimization

【技术实现步骤摘要】
一种基于改进粒子群算法的WSNs分簇多跳路由协议的方法
本专利技术涉及无线传感器网络路由协议技术,具体是一种基于改进粒子群算法的WSNs分簇多跳路由协议的方法。
技术介绍
无线传感器网络(WirelessSensorNetworks,简称WSNs)实现了数据的采集、处理和传输三种功能,它与通信技术和计算机技术共同构成信息技术的三大支柱。WSNs在环境监测、军事、国土安全、交通管制、医疗健康、社区安防、森林防火、目标定位等方面具有广泛的应用前景。在WSNs中,传感器节点的能量由自身携带的微型电池提供,其使用时间受节点能量限制,且节点功率受限,通信半径和感知能力有限。传感器节点的能量消耗,主要包括通信能耗和数据处理能耗,通信能耗与通信环境、传输距离、数据包的大小有关。现有WSNs路由协议采用分簇路由算法,通过选举更优的节点作为簇头节点和转发节点,但现有簇头节点选取方法主要根据剩余能量筛选,没有考虑簇头节点的位置对网络通信的影响,而位置分布均衡的簇头节点,能够有效缩短通信距离,降低网络通信开销;其次,现有分簇路由协议选举的转发节点太少,加大了转发节点的能耗;部分协议增加了选举的转发节点,但采用随机方式在所有节点中选取,其有可能与簇头节点重复,且未考虑被选取节点的剩余能量及位置是否均衡;大多协议的转发节点采用单跳方式发送数据,这种方式在转发节点与基站距离超过一定的范围时,其通信开销将成指数增加,部分多跳方式主要考虑相邻转发节点的距离,但没有考虑节点能量及面向基站的方向性,导致能量受限和路径不合理增加开销,最终缩短网络生存周期。粒子群算法(particleswarmoptimization,简称PSO)是一种基于种群的群智能优化算法,具有实现简单、收敛速度快和搜索精度高等特点,在解决组合优化问题上相比其它算法有很大优势,但PSO算法在实际应用中,存在一些不足,如粒子初始化的随机性,容易陷入局部最优,导致簇内节点分布不太均衡,且若被选取的节点能量过低,则会因开销大加速节点的死亡;在速度更新计算中,学习因子和惯性权重通常设置为固定值,无法平衡局部搜索能力和全局搜索能力,算法的收敛速度比较缓慢,较难获得高质量的簇头节点集等。基于上述描述,将PSO算法应用到WSNs中建立分簇路由协议,有其优势,但也有诸多的不足。
技术实现思路
本专利技术的目的是针对现有技术的不足,而提供一种基于改进粒子群算法的WSNs分簇多跳路由协议的方法。该方法能解决在分簇路由协议中簇头节点和转发节点选举方法及转发节点通信路径选择不合理、节点能量消耗大的缺陷,能平衡提高全局搜索与局部探索能力、降低并均衡节点的能耗、延长WSNs的生存周期。实现本专利技术目的的技术方案是:一种基于改进粒子群算法的WSNs分簇多跳路由协议的方法,与现有技术不同是,包括如下步骤:(1)网络初始化:对N个传感器节点依次编号,并随机不均匀分布在平面监测区域内且固定不动,组成一个WSNs,WSNs中所有传感器节点的能量有限,但所有节点初始能量相同、处理能力和通信能力相等,基站的能量不受限,且位于WSNs之外,在网络初始化过程中,所有存活节点将自身能量信息、位置和编号信息发送到基站,基站接收并保存各节点的信息,每轮的簇头选举与分簇、转发节点选举与多跳传输路径选择的计算过程,都由基站完成;(2)簇头选举:簇头选举的过程包括:(2.1)基站计算WSNs所有节点平均能量:设传感器节点i的能量为E(i),WSNs中有N个存活节点,基站计算WSNs中所有节点的平均能量为:(2.2)候选簇头节点初始化筛选:为避免粒子群算法采用随机方式选取的作为候选簇头节点集的节点能量过低,在运行过程中因开销大而加速节点的死亡,需要初始化选出的簇头节点有充足的能量进行簇内数据的处理,将所有能量大于或等于Eavg的节点筛选出来构成一个集合EA,再采用随机方式,从EA中选择K个节点,存入候选簇头节点集,构成一个粒子,在初始确定了一组候选簇头节点集后,其它的非簇头节点分别加入与其距离最近的簇头节点,完成初始分簇的建立,采用同样的方式,一共在EA中进行M次筛选,最终生成M组初始候选簇头节点集,即M个粒子,并形成M组的分簇;(2.3)设计适应度函数评估候选簇头节点集:适应度函数是对候选簇头节点集中的所有候选簇头节点进行综合评估,因此需要考虑候选簇头节点的平均剩余能量与均衡位置,因簇头节点能耗大,以节点剩余能量作为一个评价指标有利于选出具有更高能量的簇头节点,簇头在WSNs中的位置分布越均衡,各簇头节点与基站的距离、各簇头与其簇内非簇头节点间的距离都相对更小,总的通信开销更小,依据节点的能量和位置分别设计对应的能量因子和位置均衡因子,构建适应度函数对初始候选簇头节点集进行评估,包括:(2.3.1)确定能量因子:能量因子描述候选簇头节点集的剩余能量与非簇头节点的剩余能量的对应关系,以候选簇头节点集中所有候选簇头节点的平均剩余能量与所有非簇头节点的平均剩余能量的比值表示,以N表示网络中的存活节点数量,一个候选簇头节点集中有K个候选簇头节点,则非簇头节点为N-K个,以表示当前第r轮中簇头节点CHi的剩余能量,表示第r轮中非簇头节点NCHj的剩余能量,则候选簇头节点集的能量因子fech的计算如公式(1)所示:(2.3.2)确定位置均衡因子:位置均衡因子通过通信距离描述候选簇头节点在WSNs中的均衡分布程度,以候选簇头节点集中所有候选簇头节点与基站的距离、每个候选簇头节点与该分簇内非簇头节点的距离与所有非簇头节点与基站距离的反比表示,以d(NCHi,BS)表示非簇头节点NCHi与基站BS之间的距离、d(CHj,BS)表示簇头节点CHj与基站BS之间的距离、d(NCHi,CHj)表示非簇头节点NCHi到其对应的候选簇头节点CHj的距离,则候选簇头节点集位置均衡因子fblch的计算如公式(2)所示:其中,NCHi∈CHj表示非簇头节点NCHi位于候选簇头节点CHj所在的分簇内,候选簇头节点集距离基站越近,各分簇内非簇头节点到候选簇头节点的距离越小,网络通信距离越短,候选簇头节点集的位置分布越均衡,fblch的值越大;(2.3.3)得到适应度函数:依据能量因子和位置均衡因子,采用加权方式计算候选簇头节点集的适应度,适应度函数Fch计算如公式(3)所示:Fch=a×fech+(1-a)×fblch(3),其中,a∈(0,1]是权重系数,依据WSNs对能量和位置分布的需求不同,可以调整权值,在适应度函数中,候选簇头节点集的剩余能量越大、位置分布越均衡,适应度值越大,选出的候选簇头节点集则越优;(2.3.4)记录初始的局部最优位置和全局最优位置:针对M组初始簇头节点集,完成对其中各组候选簇头节点集的适应度计算后,记录每个候选簇头节点集本身适应度最大的位置为每一组候选簇头节点集的局部最优位置,及初始M组簇头节点集中最大适应度函数值的候选簇头节点集所在位置为全局最优位置;(2.4)速度与位置的更新:依据初始适应度计算及初始产生的局部最优位置和全局最优位置,开始进行迭代计算,先对候选簇头节点集的位置更新,再计算位置更新后候选簇头节点的适应度,为完成对每一轮候选簇头节点集的位置更新并获得优化结果,设置一个速度来控制其变化过程,速度是矢量,设候选簇头节点本文档来自技高网
...

【技术保护点】
1.一种基于改进粒子群算法的WSNs分簇多跳路由协议的方法,其特征是,包括如下步骤:(1)网络初始化:对N个传感器节点依次编号,并随机不均匀分布在平面监测区域内且固定不动,组成一个WSNs,WSNs中所有节点初始能量相同、处理能力和通信能力相等,基站位于WSNs之外,所有存活节点将自身能量信息、位置和编号信息发送到基站,基站接收并保存各节点的信息,每轮的簇头选举与分簇、转发节点选举与多跳传输路径选择的计算过程,都由基站完成;(2)簇头选举:簇头选举的过程包括:(2.1)基站计算WSNs所有节点平均能量:设传感器节点i的能量为E(i),WSNs中有N个存活节点,基站计算WSNs中所有节点的平均能量为:

【技术特征摘要】
1.一种基于改进粒子群算法的WSNs分簇多跳路由协议的方法,其特征是,包括如下步骤:(1)网络初始化:对N个传感器节点依次编号,并随机不均匀分布在平面监测区域内且固定不动,组成一个WSNs,WSNs中所有节点初始能量相同、处理能力和通信能力相等,基站位于WSNs之外,所有存活节点将自身能量信息、位置和编号信息发送到基站,基站接收并保存各节点的信息,每轮的簇头选举与分簇、转发节点选举与多跳传输路径选择的计算过程,都由基站完成;(2)簇头选举:簇头选举的过程包括:(2.1)基站计算WSNs所有节点平均能量:设传感器节点i的能量为E(i),WSNs中有N个存活节点,基站计算WSNs中所有节点的平均能量为:(2.2)候选簇头节点初始化筛选:将所有能量大于或等于Eavg的节点筛选出来构成一个集合EA,再采用随机方式,从EA中选择K个节点,存入候选簇头节点集,构成一个粒子,在初始确定了一组候选簇头节点集后,其它的非簇头节点分别加入与其距离最近的簇头节点,完成初始分簇的建立,采用同样的方式,一共在EA中进行M次筛选,最终生成M组初始候选簇头节点集,即M个粒子,并形成M组的分簇;(2.3)设计适应度函数评估候选簇头节点集:依据节点的能量和位置分别设计对应的能量因子和位置均衡因子,构建适应度函数对初始候选簇头节点集进行评估,包括:(2.3.1)确定能量因子:能量因子以候选簇头节点集中所有候选簇头节点的平均剩余能量与所有非簇头节点的平均剩余能量的比值表示,以N表示网络中的存活节点数量,一个候选簇头节点集中有K个候选簇头节点,则非簇头节点为N-K个,以表示当前第r轮中簇头节点CHi的剩余能量,表示第r轮中非簇头节点NCHj的剩余能量,则候选簇头节点集的能量因子fech的计算如公式(1)所示:(2.3.2)确定位置均衡因子:位置均衡因子以候选簇头节点集中所有候选簇头节点与基站的距离、每个候选簇头节点与该分簇内非簇头节点的距离与所有非簇头节点与基站距离的反比表示,以d(NCHi,BS)表示非簇头节点NCHi与基站BS之间的距离、d(CHj,BS)表示簇头节点CHj与基站BS之间的距离、d(NCHi,CHj)表示非簇头节点NCHi到其对应的候选簇头节点CHj的距离,则候选簇头节点集位置均衡因子fblch的计算如公式(2)所示:其中,NCHi∈CHj表示非簇头节点NCHi位于候选簇头节点CHj所在的分簇内;(2.3.3)得到适应度函数:依据能量因子和位置均衡因子,采用加权方式计算候选簇头节点集的适应度,适应度函数Fch计算如公式(3)所示:Fch=a×fech+(1-a)×fblch(3),其中,a∈(0,1]是权重系数,依据WSNs对能量和位置分布的需求不同,可以调整权值;(2.3.4)记录初始的局部最优位置和全局最优位置:记录每个候选簇头节点集本身适应度最大的位置为每一组候选簇头节点集的局部最优位置,及初始M组簇头节点集中最大适应度函数值的候选簇头节点集所在位置为全局最优位置;(2.4)速度与位置的更新:依据初始适应度计算及初始产生的局部最优位置和全局最优位置,开始进行迭代计算,先对候选簇头节点集的位置更新,再计算位置更新后候选簇头节点的适应度,设候选簇头节点在x和y方向上的速度分量分别为vxid和vyid,两个速度分量的计算,初始时随机生成,但在后续的每一轮迭代中依据候选簇头节点集前一轮的速度分量、局部最优位置pid(pxid,pyid)、全局最优位置pgd(pxgd,pygd)与候选簇头节点位置CHi(xxid,yyid)的变化关系确定,具体如公式(4)所示:其中,w是惯性权值,表示候选簇头节点集前一轮t-1迭代的速度对本轮t迭代的候选簇头节点集的速度的影响程度,c1是认知学习因子,c2是社会学习因子,分别表示候选簇头节点集靠近局部最优位置和全局最优位置的加速权值,r1,r2∈(0,1)为随机数,使簇头节点集具有变异特性;基于两个速度分量,候选簇头节点在x和y方向上的位置分量xxid和xyid如公式(5)所示:速度的更新的过程包括:(2.4.1)自适应学习因子计算:传统基于粒子群算法的路由协议中的学习因子c1和c2设置为固定值,设置认知学习因子c1从大到小变化、社会学习因子c2从小到大变化,结合传统学习因子的固定值设置结果,以迭代的变化情况构造自适应的学习因子,计算如公式(6)所示:其中,t为本轮迭代次数,tmax为最大迭代次数;(2.4.2)自适应惯性权重计算:采用非线性自适应惯性权重策略计算惯性权值如公式(7)所示:公式(7)中,wmax和wmin分别为设置的最大惯性权重和最小惯性权重,fi为候选簇头节点CHi的适应值,fmin、fmax和favg分别表示本轮候选簇头节点集的最小适应值、最大适应值和平均适应度值;(2.5)确定位置映射策略:在每一轮迭代后,簇头节点集的位置都将被更新,将更新后的位置映射到距离该位置最近的存活节点所在的位置,以Xxid、Xyid为更新后的节点坐标,CHnx、CHny为网络中存活节点CHn的坐标,位置映射如公式(8)所示:若出现多个节点更新后的位置坐标一样时,需要在更新节点的同时设置一个标志位,在节点更新并进行位置映射时先检查标志位是否已经被标识为簇头节点,若是则依次选择距离次近的节点位置进行映射;(2.6)迭代选出最优簇头节点集:完成位置映射后,将位置更新后的各候选簇头节点集作为优化的结果,计算各候选簇头节点集的适应度值,依据适应度值,更新每一组候选簇头节点集的局部最优位置以及本轮M组候选簇头节点...

【专利技术属性】
技术研发人员:武小年张润莲张楚芸韦永壮刘文芬
申请(专利权)人:桂林电子科技大学
类型:发明
国别省市:广西,45

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1