一种基于遗传‑细菌觅食优化策略的动态源路由方法与流程

文档序号:13739192阅读:557来源:国知局
一种基于遗传‑细菌觅食优化策略的动态源路由方法与流程

【技术领域】

本发明属于通信技术领域,具体涉及一种基于遗传-细菌觅食优化(ga-bfo)策略的动态源路由(dsr)方法。



背景技术:

移动自组网(mobileadhocnetworks,manet)是由若干无线移动终端自组织起来的一种无中心的多跳无线通信网络,具有组网灵活便捷和低成本等特点,能够在没有基础设施的区域内帮助移动用户实现网络服务,拓宽了移动通信网络的应用范围。对于不便部署通信设施的军事战场、紧急救灾、野外考察等应急或临时场合,移动自组网发挥着重要作用,因为它是唯一可选的通信支持方式。移动自组网支持无线终端自由组网,基本实现了人们随时随地自由通信的美好愿望,在军事领域和民用领域都具有十分广阔的应用场景和技术优势,这些都使移动自组网成为了未来无线通信领域中极具吸引力的选择。随着技术的发展,它逐渐成为实现无限自由的无线接入(即accesstoanything,anytime,anywhere,anyhow)的技术手段之一。

移动自组网在获得优良特性的同时,也增加了其网络相关设计的复杂性。由于移动性强、无固定拓扑、资源有限等特点,移动自组网还有很多问题尚待研究和解决。其中,网络层的路由协议问题最为关键,它的优劣决定着网络通信性能的好坏。尽管目前已经提出了大量的路由协议和算法,但是没有一种路由协议能够完全满足其特殊环境,因此,对已有协议进行优化来进一步提高移动自组网性能势在必行。按需路由技术要求仅当有通信需求时才建立路由,无需实时维护准确的路由信息,操作简单且控制开销低,节省了宝贵的带宽和能耗,间接地增加了网络的寿命,能够以较小的能耗来快速适应动态变化的网络拓扑,但是却产生了一定的传输时延。总的来说,按需路由协议更容易满足移动自组网的动态、带宽、能耗等约束条件,是路由协议未来的发展方向。

典型的按需路由协议有dsr、aodv、tora等,通过对三种协议进行模拟仿真,对比分析了它们的性能,实验结果表明,dsr具有相对较好的性能。

dsr(dynamicsourcerouting,dsr)协议使用源路由,网络中的移动节点能够将通过转发和旁听获得的路由信息存储下来,当某个节点有通信需求时,首先检查其缓存的路由表,以确定是否有所需的到达目的节点的路由。如果存在一条或多条合适的源路由,则以最小跳数作为依据进行选择,并将选出的源路由嵌入到数据分组中,然后发送该数据分组。否则,节点就会启动路由发现过程来获取可以到达目的节点的源路由。



技术实现要素:

本发明的目的是解决原有动态源路由算法中没有考虑节点资源有限的问题,在现有的动态源路由算法基础上进行优化改进,设计了一种基于遗传-细菌觅食优化(ga-bfo)策略的动态源路由(dsr)方法。本发明方法将遗传算法和细菌觅食算法结合,汲取两种算法的优点,应用到dsr协议的路由选择中,提出遗传-细菌觅食优化(ga-bfo)动态源路由协议。

本发明提供的一种基于遗传-细菌觅食优化(ga-bfo)策略的动态源路由(dsr)方法,主要包括如下关键步骤:

第1、编码及初始种群的创建与选择:

第1.1、采用节点序列编码,即对于一条给定的从源节点到目的节点的路径,该路径上节点序列号即为染色体编码,一个节点序列就是一条染色体,即一条路径对应着一个个体设为是第t代个体,其中t代表是第t代,当t为0时,表示初代,i代表的是第i条路径;对于每一个节点以其物理id号r作为它的节点标识,并且网络中节点标识是事先给定的,并保持不变;设序列中节点数即个体染色体长度为li,节点序列号为x=1,2,…,li;按dsr路由发现策略,搜索到n条路径,以此作为初始群体a0,n为群体规模;所以个体的初始染色体表示为:

其中i=1,2,…n,n为群体规模;

第1.2、本方法采用适应度比例法,又称轮盘赌选择法,按照个体适应度在整个种群适应度中所占比例确定该个体的被选择概率个体ai的适应度表示为f(ai),此处ai泛指所有的个体,则可计算出个体αi被选取的概率个体αi选择概率的计算公式为:

第2、适应度函数的确定:

第2.1、按照上述第1.2步适应度比例法,得到的个体αi的最小跳数适应度公式如下:

fitness_hops(ai)=l(ai).size(3)

其中,l(ai).size表示群体中个体αi的跳数;

第2.2、如下等式(4)中考虑个体αi即一条路径的跳数;

一条路径的生存期还是被节点的能量制约,所以路径能量的评估以一条路径所有节点能量作消耗为路径能量考虑,也就是计算个体αi中节点的能量适应度函数,计算如下:

其中,li为染色体的长度,ccst表示一个任意常数;表示节点代价;可以用无线传感网络节点能耗etx(k,d)和erx(k,d)表示,计算如下:

其中,根据无线电能量消耗模型,节点每发送k比特的数据,其能耗如下:

等式(6)中,阈值efs和emp分别为自由空间模式和多径衰减模式下电路放大器的能耗系数,k为传输数据包字节数,d为传输距离,eelec(nj/bit)为射频能耗系数;当源节点和目的节点之间距离小于等于阈值d0时,节点采用自由空间模式;当源节点和目的节点之间距离大于阈值d0时,节点采用多径衰减模式;节点接收k比特消息的能耗计算公式如下:

erx(k)=erx-elec(k)=keelec(7)

第2.3、利用适应度比例法计算得到个体最小跳数适应度函数,利用节点能量信息计算得到的个体能量适应度函数,得到的综合适应度函数计算公式如下:

其中,即均衡式选取适应度,fitness_hops(ai)是个体最小跳数适应度函数,fitness_en(ai)是个体能量适应度函数;在仿真实验中,针对不同的应用场景,不同的网络性能要求,可以设定不同的w1和w2参数,w1+w2=1,且均小于1;

第3、交叉和变异:

第3.1、群体中随机选择两个路径a1,a2,找出两条路径共同经过的节点作为备选交叉节点,源节点和目的节点除外;从备选交叉节点中随机选取一点作为此次路径交叉的交叉节点;将路径a1,a2位于交叉节点后的子路径进行交换得到新的a1,a2路径;当两条路径之间没有备选交叉节点时,则不做路径交叉,如强制做交叉将破坏已有的模式,使遗传算法的收敛速度变慢;

第3.2、本方法采用均匀变异算子计算变异的概率;均匀变异是指分别用符合某一范围内均匀分布的随机数,以某一较小的变异概率替换个体编码串中各个基因座上的原有基因值;设li为染色体个体长度,n为种群中个体的数目,pinitial为初始的变异概率,则能够计算出种群中个体αi发生变异的概率,计算如下:

设定随机变量ψ∈[0,1],当p(ai)≥ψ时个体发生变异,p(ai)<ψ时不发生变异;

第3.3、初始群体通过选择,交叉,变异产生较优解集,作为细菌觅食菌群的初始位置分布,整个菌群用a*表示,z(z)中路由个数s表示细菌种群大小,i=1,2,…,s;

第4、趋向性操作:

第4.1、细菌先朝某随机方向游动一步;如果该方向上的适应值比上一步所处位置的适应值低,则进行旋转,朝另外一个随机方向游动;如果该方向上的适应值比上一步所处位置的适应值高,则沿着该随机方向向前移动;如果该方向上的适应值比上一步所处的位置的适应度低,继续改向;如果达到最大尝试次数,则停止该细菌的趋向性操作,跳转到下一个细菌执行趋向性操作;

个体的每一步趋向性的旋转操作表示如下:

其中,j表示趋向性操作,c表示复制操作,的表示迁徙操作,表示菌群的适应值,表示按选定的方向游动的步长,为变向中生成的任意方向的向量,φ(i)表示进行方向调整后选定的单位步长向量;

如果旋转的适应值改善,则按照旋转的方向进行游动,直至适应值不再改善或达到设定的最大移动步数ns为止,其中ns为常数;基于细菌感应机制的适应度采用jcc表示:

其中,dattract为引力深度,wattract为引力宽度,公repellant为斥力高度,wrepellant为斥力宽度;为整个菌群中其他细菌的第m个分量,为细菌的第m个分量,d表示菌落的整个叫优化解集的节点个数;

引入细菌感知机制后,细菌的适应度必须叠加细菌的感知适应度jcc;第个细菌的适应值的计算公式为:

第5、复制性操作和迁徙操作:

第5.1、对每个细菌在生命周期内的适应度进行累加得到细菌健康度,按照细菌健康度进行排序,淘汰掉健康度获取能力差的半数细菌,对健康度获取能力较强的半数细菌进行再生;计算公式:

为细菌的健康度函数或能量函数,以此来衡量细菌所获得的能量;越大,表示细菌越健康,觅食能力越强;将细菌健康度按从小到大的顺序排列,淘汰掉前sr=s/2个健康度值较小的细菌,复制后sr个健康度值较大的细菌,使细菌又生成sr个与原健康度值较大的母代细菌完全相同的子代细菌。

本发明的优点和积极效果

本方法主要设计了一种基于遗传-细菌觅食优化(ga-bfo)策略的动态源路由(dsr)方法,将遗传算法跟细菌觅食优化算法结合,提出ga-bfo算法,应用到dsr协议中,代替其中路由选择时应用的最短路由计算算法,在不改变dsr简单特性的前提下,提高了路由选择的效率,减少网络的时延,添加节点能量优化权值,延长网络存活周期,并证明了该算法的收敛到全局最优解的特性,弥补了ga算法求解精度不高的问题。仿真实验表明,本方法提出的新算法是可行的和适用的,也有较好的实验效果。

【附图说明】

图1是移动自组织网网络拓扑结构;

图2是不同数据包发送速率平均端到端时延;

图3是不同数据包发送速率数据包递交率;

图4是不同数据包发送速率拓扑控制开销;

图5是不同节点运动速度平均端到端时延;

图6不同节点运动速度数据包递交率;

图7不同节点运动速度拓扑控制开销;

图8不同节点数目,平均端到端时延;

图9不同节点数目,数据包递交率;

图10不同节点数目,网络拓扑控制开销;

图11是本发明基于遗传-细菌觅食优化策略的动态源路由的结构示意图。

【具体实施方式】

本发明提出一种基于遗传-细菌觅食混合优化(ga-bfo)策略的动态源路由方法,目的是利用提出的混合算法的较优的优化性能和时间高效性,达到综合考虑网络的时延及生存周期的同时,又不影响路由协议的数据传输效率。在遗传算法的迭代中,我们利用适应度的大小来区分染色体的优劣,针对不同的问题需要设计不同的评估函数,来测定问题的适应度。从优化搜索的角度分析,遗传操作包括选择,交叉和变异三个基本算子,这些算子可使问题的解逐代地优化,从而逼近较优解。在bfo算法中,定义评价函数的适应值对应搜索空间中的细菌状态,求解过程为:产生初始解群体(通过遗传算法得到的较优解),细菌对应较优个体计算评价函数的值,利用群体的相互影响和作用机制进行迭代优化,通过循环执行趋化,复制和迁移3个主要算子,来获得最优解的目的。

移动自组网不需要基站的支持,由便携终端自己组网,且终端设备成本低,组建时间短,能够很好的弥补卫星通信的不足,更适合应急通信指挥的需要。

在与公安消防部队目前使用的通信手段的对比中发现,移动自组网在被灾害所导致无线基站被毁、通信线路瘫痪、道路交通受限的极端环境中仍能够实现稳定高效的通信,满足公安消防部队抢险救援过程中的通信指挥功能需求。移动自组网的网络拓扑结构如图1所示。

实例1:

一种基于遗传-细菌觅食优化策略的动态源路由方法,其特征在于该方法主要包括如下关键步骤:

第1、编码及初始种群的创建与选择:

第1.1、采用节点序列编码,即对于一条给定的从源节点到目的节点的路径,该路径上节点序列号即为染色体编码,一个节点序列就是一条染色体,即一条路径对应着一个个体设为是第t代个体,其中t代表是第t代,当t为0时,表示初代,i代表的是第i条路径;对于每一个节点以其物理id号r作为它的节点标识,并且网络中节点标识是事先给定的,并保持不变;设序列中节点数即个体染色体长度为li,节点序列号为x=1,2,…,li;按dsr路由发现策略,搜索到n条路径,以此作为初始群体a0,n为群体规模;所以个体的初始染色体表示为:

其中i=1,2,…n,n为群体规模;

第1.2、本方法采用适应度比例法,又称轮盘赌选择法,按照个体适应度在整个种群适应度中所占比例确定该个体的被选择概率个体ai的适应度表示为f(ai),此处ai泛指所有的个体,则可计算出个体αi被选取的概率个体αi选择概率的计算公式为:

第2、适应度函数的确定:

第2.1、按照上述第1.2步适应度比例法,得到的个体αi的最小跳数适应度公式如下:

fitness_hops(ai)=l(ai).size(3)

其中,l(ai).size表示群体中个体αi的跳数;

第2.2、如下等式(4)中考虑个体αi即一条路径的跳数;

一条路径的生存期还是被节点的能量制约,所以路径能量的评估以一条路径所有节点能量作消耗为路径能量考虑,也就是计算个体αi中节点的能量适应度函数,计算如下:

其中,li为染色体的长度,ccst表示一个任意常数;表示节点代价;可以用无线传感网络节点能耗etx(k,d)和erx(k,d)表示,计算如下:

其中,根据无线电能量消耗模型,节点每发送k比特的数据,其能耗如下:

等式(6)中,阈值efs和emp分别为自由空间模式和多径衰减模式下电路放大器的能耗系数,k为传输数据包字节数,d为传输距离,eelec(nj/bit)为射频能耗系数;当源节点和目的节点之间距离小于等于阈值d0时,节点采用自由空间模式;当源节点和目的节点之间距离大于阈值d0时,节点采用多径衰减模式;节点接收k比特消息的能耗计算公式如下:

erx(k)=erx-elec(k)=keelec(7)

第2.3、利用适应度比例法计算得到个体最小跳数适应度函数,利用节点能量信息计算得到的个体能量适应度函数,得到的综合适应度函数计算公式如下:

其中,即均衡式选取适应度,fitness_hops(ai)是个体最小跳数适应度函数,fitness_en(ai)是个体能量适应度函数;在仿真实验中,针对不同的应用场景,不同的网络性能要求,可以设定不同的w1和w2参数,w1+w2=1,且均小于1;

第3、交叉和变异:

第3.1、群体中随机选择两个路径a1,a2,找出两条路径共同经过的节点作为备选交叉节点,源节点和目的节点除外;从备选交叉节点中随机选取一点作为此次路径交叉的交叉节点;将路径a1,a2位于交叉节点后的子路径进行交换得到新的a1,a2路径;当两条路径之间没有备选交叉节点时,则不做路径交叉,如强制做交叉将破坏已有的模式,使遗传算法的收敛速度变慢;

第3.2、本方法采用均匀变异算子计算变异的概率;均匀变异是指分别用符合某一范围内均匀分布的随机数,以某一较小的变异概率替换个体编码串中各个基因座上的原有基因值;设li为染色体个体长度,n为种群中个体的数目,如initial为初始的变异概率,则能够计算出种群中个体αi发生变异的概率,计算如下:

设定随机变量ψ∈[0,1],当p(ai)≥ψ时个体发生变异,p(ai)<ψ时不发生变异;

第3.3、初始群体通过选择,交叉,变异产生较优解集,作为细菌觅食菌群的初始位置分布,整个菌群用a*表示,z(z)中路由个数s表示细菌种群大小,i=1,2,…,s;

第4、趋向性操作:

第4.1、细菌先朝某随机方向游动一步;如果该方向上的适应值比上一步所处位置的适应值低,则进行旋转,朝另外一个随机方向游动;如果该方向上的适应值比上一步所处位置的适应值高,则沿着该随机方向向前移动;如果该方向上的适应值比上一步所处的位置的适应度低,继续改向;如果达到最大尝试次数,则停止该细菌的趋向性操作,跳转到下一个细菌执行趋向性操作;

个体的每一步趋向性的旋转操作表示如下:

其中,j表示趋向性操作,c表示复制操作,的表示迁徙操作,表示菌群的适应值,表示按选定的方向游动的步长,为变向中生成的任意方向的向量,φ(i)表示进行方向调整后选定的单位步长向量;

如果旋转的适应值改善,则按照旋转的方向进行游动,直至适应值不再改善或达到设定的最大移动步数ns为止,其中ns为常数;基于细菌感应机制的适应度采用jcc表示:

其中,dattract为引力深度,wattract为引力宽度,公repellant为斥力高度,wrepellant为斥力宽度;为整个菌群中其他细菌的第m个分量,为细菌的第m个分量,d表示菌落的整个叫优化解集的节点个数;

引入细菌感知机制后,细菌的适应度必须叠加细菌的感知适应度jcc;第个细菌的适应值的计算公式为:

第5、复制性操作和迁徙操作:

第5.1、对每个细菌在生命周期内的适应度进行累加得到细菌健康度,按照细菌健康度进行排序,淘汰掉健康度获取能力差的半数细菌,对健康度获取能力较强的半数细菌进行再生;计算公式:

为细菌的健康度函数或能量函数,以此来衡量细菌所获得的能量;越大,

表示细菌越健康,觅食能力越强;将细菌健康度按从小到大的顺序排列,淘汰掉前sr=s/2个健康度值较小的细菌,复制后sr个健康度值较大的细菌,使细菌又生成sr个与原健康度值较大的母代细菌完全相同的子代细菌。

本方法提出的路由算法,应用到公安消防部队地质灾害抢险救援通信指挥,所形成的移动自组网技术中。对平均端到端时延,数据包递交率,以及拓扑控制开销进行测试。本测试结合仿真环境参数进行设置,随机选择自然环境500(m)×500(m),一个救援人员代表一个节点。

表1仿真参数

如图2,图3,图4所示,为在节点平均速度基本不变,不同数据包发送速率情况下,本方法提出的路由算法的网络性能。图5,图6,图7为相同数据发送效率,不同节点平均运动速度场景下,提出的路由算法对网络性能的测试。图8,图9,图10为在500(m)×500(m)的网络拓扑范围的测试分析,节点平均运动速度为20m/s,节点数据包生成率为10个/s。即在不同的节点数目情况下,对各个路由协议的节点间端到端时延,数据包递交率,网络拓扑控制开销进行测试。

测试得出的数据结果显示,本方法提出的路由算法在实际应用中与仿真结果基本一致。由于实际环境中有障碍物的遮挡以及节点移动速度不能完全一致等不可控因素,导致实际测试结果比仿真结果略差,网络开销以及网络延迟实际测试数据与仿真测试结果有微小差距,递交率也比仿真略低,但基本实现仿真效果。实际测试显示本方法提出的路由算法在实际应用中可行并取得良好效果。

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