基于优化量子蚁群算法的路由规划方法及系统

文档序号:25731674发布日期:2021-07-02 21:20阅读:145来源:国知局
基于优化量子蚁群算法的路由规划方法及系统

本发明涉及无线传感器网络领域,具体为基于优化量子蚁群算法的路由规划方法及系统。



背景技术:

无线传感器网络是一种新兴技术,是一项通过多跳无线通信技术把数以万计的传感器节点以自由式进行组织与结合进而形成的网络形式。其中,传感器节点体积微小,通常是携带能力十分有限的小型电池,由于节点数目众多,成本要求低,分布区域广,而且放置的地点环境复杂,经常更换电池是不现实的,因此,如何均衡所有节点的能量损耗,延长整个网络的生命周期是无线传感器网络面临的首要问题。

蚁群算法是一种新型的模拟自然界蚁群行为的进化算法,具有很强的发现解的能力。该算法利用了正反馈原理,在一定程度上可以加快进化过程,而且是一种本质上并行的算法,可以在不同个体之间不断进行信息交流和传递,从而能够相互协作,这一点与无线传感器网络的网络形式极为相似。所以,将蚁群算法应用于无线传感器网络可以一定程度上提高路由信息的传输效率。但是,蚁群算法也存在一些缺点:一是由于蚁群中个体的运动是随机的,当群体规模较大时,要找出一条较好的路径就需要较长的时间;二是搜索到一定阶段后,所有解趋向一致,无法对解空间进一步搜索,不利于发现更好的解。



技术实现要素:

本发明要解决的技术问题是提供一种无线传感器网络路由建立方法及系统,以均衡整个无线传感器网络中的能耗,延长整个传感器网络的生命周期。

基于优化量子蚁群算法的路由规划方法,包括步骤:

网络初始化步骤,初始化算法参数信息,将蚁群置于源节点;

路径寻找步骤,蚂蚁依次选择下一节点,直至所有蚂蚁都抵达目的节点;

计算最佳路径步骤,根据优化的路由适应度函数从蚂蚁所选路径的组合优化状态中获得最佳路由;

信息素更新步骤,使用量子旋转角策略更新量子概率幅,通过信息素更新机制更新所有路径上的信息素浓度;

输出最佳路由步骤,如果迭代次数超过最大迭代次数,则退出循环,输出传感器网络中最佳网络路由,否则迭代次数加1,将蚁群置于源节点,循环执行路径寻找步骤至输出最佳路由步骤;

所述优化的路由适应度函数如下所示:

其中表示在第t次迭代中第k只蚂蚁所寻得的最佳路径,eaver代表所寻路径中的节点平均剩余能量,elost_aver代表所寻路径中能量损耗的平均值,代表第t次迭代中第k只蚂蚁所寻得的路径长度,表示第t次迭代中第k只蚂蚁所寻得的路径上的节点个数,比较本次迭代过程中所有蚂蚁寻得路径的值最大值即为本次迭代过程中的最佳路由,寻得最佳路径的蚂蚁为最佳路由。

本方案中,蚂蚁从源节点到目的节点的所选路径各自形成一个组合优化状态,再运用衡量最佳路由的路由适应度函数计算出各个蚂蚁的最佳路径,再通过比较各个蚂蚁的最佳路径得出最佳路由,该适应度函数引入了节点平均剩余能量、能量损耗的平均值、第t次迭代中某只蚂蚁的寻径长度作为衡量指标,将节点能量及其损耗带入路由计算中,使得选出来的最佳路径的节点能耗更为均衡,本方案在求得最佳路径的前提下均衡了节点的耗能,延长了节点的死亡时间,从而延长了整个传感器网络的生命周期。

进一步,所述路径寻找步骤中蚂蚁选择下一节点前会把当前节点记录到禁忌列表中,蚂蚁在选择节点时会避开禁忌列表中所记录的节点。

有益效果:禁忌列表中记录了蚂蚁经过的路径,蚂蚁在选择节点时避开经过的节点,从而避免了回路的产生,提高了寻找最佳路径的效率。

进一步,所述路径寻找步骤还包括:蚂蚁按照优化的路径状态转移规则选择下一节点,优化的路径状态转移规则具体是在蚂蚁进行下一跳节点选径时,先产生一个随机数q,然后根据公式:

进行下一跳的选择,式中,q是[0,1]范围内的随机变量,q0是[0,1]范围内的常数,τij(h)表示第h时刻路径i,j之间的信息素总量,ηij(h)代表期望启发信息,ej(h)代表h时刻在禁忌列表中下一跳传感器节点j的剩余能量,γ是能量启发因子,α、β分别是信息素启发因子和期望启发因子,其中期望启发信息ηij(h)为:

式中,enow(j)为节点i的邻居节点j当前剩余能量,ni(k)表示集合节点i的邻居节点集合,为节点i所有邻居节点的剩余能量,dij表示的是节点i和节点j之间的距离。

有益效果:在路径状态转移规则设置上,现有技术都是计算转移概率p,而本方案则是先生成0-1的随机数q然后根据q选取不同的节点转义规则,分别引入信息素、期望值、下一跳节点j的剩余能量,从而优化下一跳节点的转移概率,提高了算法的收敛速度。

进一步,所述下一节点的选择还结合了轮盘赌法进行计算。

有益效果,该算法是用随机产生的值依次对每个节点被选中的概率做减法,减到第i个节点即相当于随机的结果处在第i-1个节点和第i个节点之间,保证了概率较大的节点能够被大概率考虑到,使得概率较小的节点也不会被放过,使得节点的选择虽然是随机但却通过累计概率考虑到了每个节点被选择的概率问题。

进一步,所述信息素更新步骤中的量子旋转角更新策略调整量子旋转角角度和方向的公式为:

angle=5*(exp(-t/tmax))

theta=angle*f(αi,βi)

angle是本次迭代过程中第i个量子位旋转角度的大小,theta是求得的含有方向的角度值,t表示迭代次数,tmax代表最大迭代次数,αi和βi指第i个量子位的概率幅。

有益效果:本方案定义的旋转角更新过程公式,可以在求解过程中不用查表,能够直接通过公式求出旋转角,从而代入算法计算中快速进行更新概率幅度,其中公式中的常数5是多次进行实验后求出一个最佳常系数,相较于现有技术而言,在该常系数的前提下求出的旋转角在收敛速度和求解能力上达到一定的平衡。

进一步,所述信息素更新步骤中的信息素更新机制的启发因子为:

α(t)=α0*(1+e-λt),0<=t<=tmax

式中,参数α0是原始的信息启发因子,λ是属于0到1范围内的常数。

有益效果:在该式中,随着迭代次数增加,信息启发因子会变小,则意味着随着后期信息素浓度越来越大,信息素对蚁群寻径的引导性适当减弱,合理的解决了后期由于信息素浓度过大导致局部收敛较快的问题。

进一步,所述信息素更新步骤中的信息素更新机制的信息素更新表达式为:

τij(t+1)=(1-ρ)τij(t)+δτij(k)

τij(t+1)是第(t+1)次迭代过程中的信息素总和,δτij(k)是第k只蚂蚁在第i,j节点之间的信息素的变化量,ρ代表信息素的挥发度,δτij(k)表达式为:

式中,βkij表示蚂蚁k在边i,j之间的信息素强度,ck表示该蚂蚁在本次迭代过程中所寻的总路径长度,δτij(k)表示第k只蚂蚁在本次迭代过程中,在节点i,j之间的信息素。

有益效果:ρ代表信息素的挥发度,本方案中通过改变其大小可以控制算法的收敛速度和全局搜索能力。

进一步,所述信息素更新步骤中的信息素更新机制设置有信息素浓度最大值qmax,信息素更新表达式为:

ρ是一个(0,1)之间的常量,代表信息素的挥发程度,τij(t)表示第t次迭代过程中,节点i,j之间的信息素总量,τij(t+1)表示第t+1次迭代过程中,节点i,j之间的信息素总量。

有益效果:为了防止蚁群在寻径过程中出现信息素浓度过高的情况,本方案设置了信息素浓度的最大值qmax,从而限制信息浓度过高,防止蚁群的寻径陷于局部最佳,进一步优化了蚁群寻优能力。

进一步,所述节点能量耗尽时,将会直接退出循环并输出传感器网络中最佳网络路由。

有益效果,设置节点能量耗尽后的退出循环操作,减少蚁群的无效寻径操作。

基于优化量子蚁群算法的路由规划系统,使用了上述任意一种方法。

有益效果:本方案中,蚂蚁从源节点到目的节点的所选路径各自形成一个组合优化状态,再运用衡量最佳路由的路由适应度函数计算出各个蚂蚁的最佳路径,再通过比较各个蚂蚁的最佳路径得出最佳路由,该适应度函数引入了节点平均剩余能量、能量损耗的平均值、第t次迭代中某只蚂蚁的寻径长度作为衡量指标,将节点能量及其损耗带入路由计算中,使得选出来的最佳路径的节点能耗更为均衡,本方案在求得最佳路径的前提下均衡了节点的耗能,延长了节点的死亡时间,从而延长了整个传感器网络的生命周期。

附图说明

图1为本发明基于优化量子蚁群算法的路由规划方法的步骤流程示意图。

具体实施方式

下面通过具体实施方式进一步详细说明:

实施例一

实施例一基本如附图1所示,基于优化量子蚁群算法的路由规划方法,其步骤包括:

网络初始化步骤:初始化算法参数信息,将蚁群置于源节点;

路径寻找步骤:路径寻找步骤,蚂蚁依次选择下一节点,直至所有蚂蚁都抵达目的节点;

计算最佳路径步骤:根据优化的路由适应度函数从蚂蚁所选路径的组合优化状态中获得最佳路由;

信息素更新步骤:使用量子旋转角策略更新量子概率幅,通过信息素更新机制更新所有路径上的信息素浓度;

输出最佳路由步骤:输出最佳路由步骤,如果迭代次数超过最大迭代次数,则退出循环,输出传感器网络中最佳网络路由,否则迭代次数加1,将蚁群置于源节点,循环执行路径寻找步骤至输出最佳路由步骤。

具体实施过程如下:

首先是对网络进行初始化,初始化各个参数的值,包括蚂蚁个数,传感器节点个数,初始化信息素浓度,信息素启发因子,期望启发因子,能量启发因子,每个传感器节点初始化能量e0,迭代次数t,最大迭代次数为tmax,设置所有的量子概率幅使得所有的状态出现的概率相同。

网络初始化完成后将蚁群置于源节点,然后让每只蚂蚁在源节点进行选径操作。

在选择节点前,蚂蚁会把当前节点记录到禁忌列表中,蚂蚁在选择节点时会避开禁忌列表中所记录的节点,然后使用优化的蚁群状态转移规则结合轮盘赌法为蚂蚁确定接下来要访问的节点。在每次迭代中,使每只蚂蚁都构造自己所选择的路径,每只蚂蚁在寻到目的传感器节点后即为结束该蚂蚁本次迭代。选径时结合轮盘赌法先对之前的概率进行累加,具体为生成一个随机值对每个节点被选中的概率做减法,减到第i个节点即相当于随机的结果处在第i-1个节点和第i个节点之间,保证了概率较大的节点能够被大概率考虑到,使得概率较小的节点也不会被放过。结合轮盘赌法进行概率累加之后,先产生一个随机数q,再根据公式:

进行下一跳的选择,式中,q是[0,1]范围内的随机变量,q0是[0,1]范围内的常数,τij(h)表示第h时刻路径路径i,j之间的信息素总量,ηij(h)代表期望启发信息,ej(h)代表h时刻在禁忌列表中下一跳传感器节点j的剩余能量,γ是能量启发因子,α、β分别是信息素启发因子和期望启发因子,其中期望启发信息ηij(h)为:

式中,enow(j)为节点i的邻居节点j当前剩余能量,ni(k)表示集合节点i的邻居节点集合,为节点i所有邻居节点的剩余能量,dij表示的是节点i和节点j之间的距离。

选择节点后,将该节点标记以访问,根据相应的能耗模型更新这两个节点的能量值,如果有节点能量耗尽,则转到输出最佳路由步骤,否则依次进行选择下一跳,直到蚂蚁在本次迭代中从源节点找到目的节点。关于能耗模型,例如将kbit的数据发送到d节点时,可用如下的公式表示这一过程中消耗的能量:

此时接收节点消耗能量:erx(k)=erx×k

融合数据消耗能量:efuse(k)=efuse×k

这三个能量分别表示为:发送和接收、传输放大和融合数据等能量消耗。如果传输的距离较大,则通常建议选择运用多路径衰减模型,相反的,结果如果较小,则一般运用自由能量模型。

当一次迭代中的每只蚂蚁都抵达目标节点后,便将每只蚂蚁的所选路径都组合在一起,形成组合优化状态,然后根据优化的路由适应度函数得出最佳蚂蚁的路径。

优化的路由适应度函数如下所示:

其中表示在第t次迭代中第k只蚂蚁所寻得的最佳路径,eaver代表所寻路径中的节点平均剩余能量,elost_aver代表所寻路径中能量损耗的平均值,代表第t次迭代中第k只蚂蚁所寻得的路径长度,表示第t次迭代中第k只蚂蚁所寻得的路径上的节点个数,根据该公式返回的值,比较本次迭代过程中所有蚂蚁寻得路径的值最大值即为本次迭代过程中的最佳路由,寻得最佳路由的蚂蚁为最佳蚂蚁。

寻得一次迭代中的最佳路由后,再通过使用量子旋转角更新策略更新所有蚂蚁的量子概率幅,量子旋转角更新策略调整量子旋转角角度和方向的公式为:

angle=5*(exp(-t/tmax))

theta=angle*f(αi,βi)

angle是本次迭代过程中第i个量子位旋转角度的大小,theta是求得的含有方向的角度值,αi和βi指第i个量子位的概率幅,通过theta对本次所有蚂蚁的量子概率幅进行变化。

具体的,在如下函数f(αi,βi)取值表中,当dbest和dnow都大于0时,表示当前解和此次搜到的最优解都处于第一、或者第三象限;当|εbest|>|εnow|时,当前应朝着逆时针旋转,此时函数f(αi,βi)=+1,否则f(αi,βi)=-1。同理可以推出其他三种情况。

函数f(αj,βj)取值表

表中的各个参数信息为:αbest和βbest表示搜索到的最优解的概率幅,αnow和βnow表示当前解的概率幅。

dbest=αbest*βbest

dnow=αnow*βnow

εbest=arctan(βbest/αbest)

εnow=arctan(βnow/αnow)

则量子旋转门的更新过程可描述为:

t表示为迭代的次数,g(t)为第t次迭代的量子旋转门,表示为第t次迭代过程中的某一个个体的概率幅。是第t次经过旋转门变换后的第t+1次的相应个体的概率幅。

更新量子概率幅后,再通过信息素更新策略根据相应路径上的信息素变化量更新所有路径上的信息素浓度。其中,信息素更新表达式为:

τij(t+1)=(1-ρ)τij(t)+δτij(k)

τij(t+1)是第(t+1)次迭代过程中的信息素总和,δτij(k)是第k只蚂蚁在第i,j节点之间的信息素的变化量,ρ代表信息素的挥发度,δτij(k)表达式为:

式中,βkij表示第k只蚂蚁在第i,j节点之间的信息素强度,ck表示该蚂蚁在本次迭代过程中所寻的总路径长度。

具体的,为了降低后期局部收敛过快的问题,还将信息素更新机制的启发因子改进为:

α(t)=α0*(1+e-λt),0<=t<=tmax

式中,参数α0是原始的信息启发因子,λ是属于0到1范围内的常数。

同时,还设置了信息素浓度最大值qmax防止寻径过程中出现信息素浓度过高的情况,信息素更新表达式为:

ρ是一个(0,1)之间的常量,代表信息素的挥发程度,τij(t)表示第t次迭代过程中,节点i,j之间的信息素总量。

信息素更新完成后,将进行判断,如果迭代次数超过最大迭代次数或者通过计算有节点耗尽能量,则退出循环,输出传感器网络中最佳网络路由。否则t=t+1,将蚁群置于源节点,循环执行路径寻找步骤至输出最佳路由步骤。

实施例二

实施例二与实施例一的区别仅在于,本方案是使用了实施例一中的方法的基于优化量子蚁群算法的路由规划系统。

以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,本发明并不限于上述一种实施方式,在本领域普通技术人员所具备的知识范围内,还可以对其作出种种变化。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

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