利索能及
我要发布
收藏
专利号: 2019104964649
申请人: 桂林电子科技大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-10-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

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组候选簇头节点集的全局最优位置,若迭代未结束,则继续进行候选簇头节点的位置更新、映射与适应度计算,否则,最后计算出的全局最优位置的候选簇头节点集为最优簇头节点集,完成簇头选举;

(2.7)分簇:依据选举的最优簇头节点集,基站计算非簇头节点到各个簇头节点的距离,将非簇头节点加入到距离最近的簇头节点,完成分簇,分簇后,传感器节点分别被称为簇头节点或普通节点,普通节点将监测的数据单跳发给簇头节点,簇头节点接收来自普通节点的数据后进行数据融合,再发给转发节点;

(3)转发节点的选举与多跳传输:转发节点的选举与多跳传输包括如下过程:(3.1)确定转发节点的选举策略:采用步骤(2)中选举簇头节点的改进粒子群算法,为每个簇头节点在其分簇内的普通节点中选举一个转发节点,转发节点接收来自簇头的数据,采取相应的传输路径将数据发送给基站,将转发节点限制在每个分簇范围;

(3.2)确定转发节点的适应度函数:以N表示WSNs中的存活节点数量,被分为K个分簇,包含K个簇头节点,初始化时依据簇头节点筛选的方法,在各个分簇内筛选出候选转发节点,组成包含K个节点的候选转发节点集,在初始化后,普通节点数量为N‑2K,以 表示第r轮中候选转发节点RNi的剩余能量、 表示第r轮中普通节点CNj的剩余能量,候选转发节点集的能量因子fern的计算如公式(9)所示:以d(CNk,CHj)表示普通节点CNk到对应的簇头节点CHj之间距离、d(RNi,BS)表示候选转发节点RNi到基站BS的距离、d(RNi,CHj)表示候选转发节点RNi到对应的簇头节点CHj的距离、d(RNi,RNm)表示候选转发节点RNi和RNm之间的距离,候选转发节点的位置均衡因子fblrn计算如公式(10)所示:

其中,CNk∈CHj表示普通节点CNk位于簇头节点CHj所在的分簇内、RNi∈CHj表示候选转发节点RNi对应于簇头节点CHj,依据转发节点选举的能力因子和位置均衡因子,采用加权方法构建的对候选转发节点集评价的适应度函数Frn如公式(11)所示:Frn=b×fern+(1‑b)×fblrn    (11),其中,b∈(0,1]为权值,表示节点剩余能量与节点位置均衡性对适应度函数的影响程度,在候选转发节点集的多次迭代过程中,采用与簇头节点选举同样的基于自适应学习因子与惯性权重的速度更新及位置映射方法,选出最优的转发节点集;

(3.3)确定转发节点的通信传输路径:采用LEACH能耗模型,以d表示发射节点和接收节点之间的距离、d0表示门限距离,以Efs和Emp分别表示自由空间模型和多路衰减模型的功放因子参数,m表示一个数据包的比特数、Eelec表示每传输一比特数据的能耗,则距离为d 的两个节点传输m比特数据、发送能耗ETX(m,d)计算如公式(12)所示:若转发节点到基站的距离d大于门限距离d0,则该转发节点采用基于最小生成树的多跳传输路径向基站传输数据,否则该转发节点采用单跳方式传输;

(3.4)基于最小生成树的转发节点多跳传输路径选择:转发节点之间的路由以基站为树根,开始时将每个转发节点抽象为点,把转发节点用边连接起来,构造一个带权的连通图G=(V,E),其中,V包括所有转发节点,E包括V中任意两个节点间的边的集合,假设以转发节点RNi为起点,要搜索到基站所途径的下一跳节点,若转发节点RNj为RNi的一个邻居,评估节点RNj能否作为下一跳节点,在这两个节点的边上构建一个评价权值,权值由两个节点的距离与剩余能量确定,并以wi,j表示,若节点RNj到基站的距离dj,BS大于等于节点RNi到基站的距离di,BS,则节点RNj不能作为下一跳节点,设置wi,j为∝,否则以两个节点的距离与剩余能量计算wi,j,计算如公式(13)所示:其中,di,j表示转发节点RNi与RNj之间的距离, 和 分别表示当前第r轮中转发节点RNi和转发节点RNj的剩余能量,若转发节点RNi有多个邻居转发节点,则分别计算转发节点RNi与其它邻居节点的权值,并选取权值最小的转发节点作为其下一跳节点,在每轮转发节点选举结束后,都将采用上述的最小生成树方式建立转发节点到基站的多跳路径,基于最小生成树的多跳路径建立方法具体过程为:在上述构造的带权连通图G=(V,E)中,将基站v0作为树的根节点加入V中,以U记录最小生成树的节点集合,W记录待计算下一跳的转发节点与其邻居节点所构成边的权值集合,T记录最小生成树中边的权值集合:(3.4.1)初始地,将根节点v0加入到集合U中,集合T和W均置空;

(3.4.2)根据设置的门限距离d0,依次计算V中某节点vi到v0的距离di,0,若di,0≤d0,则vi将采用单跳方式向基站传输数据,将vi加入到U中,设置vi与v0的边的权值wi,0=0,并将wi,0加入T,转(3.4.5),否则,需要建立vi到v0的多跳路径,转(3.4.3);

(3.4.3)依据公式(13)计算vi到其它所有转发节点的边的权值,并将其加入W中;

(3.4.4)在W中选出最小的权值wi,k,将节点vi加入U中,并将wi,k加入T中,并置W为空;

(3.4.5)若U=V,结束搜索,转(3.4.6),否则,转(3.4.2);

(3.4.6)对于T中权值为0且后一个节点为v0的权值,将该权值对应边的前一个节点作为单跳节点输出,否则,将权值对应边的前一个节点作为起点,后一个节点作为下一跳节点,继续查找下一跳节点,直到下一跳节点为v0,形成多跳路径输出,依据上述过程选举出具有最优能量与最短路径的转发节点集,并确定转发节点的多跳路径,结合簇头节点集的位置,建立WSNs的路由。