0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过蚁群算法解决QoS组播路由问题

电子设计 来源:郭婷 作者:电子设计 2019-04-08 08:50 次阅读

随着网络应用越来越广泛,在传统的HTTP、FTP、E-mail等数据业务的基础上增加了各种实时和多媒体业务。要满足这些业务的需求,特别是要保证一些实时业务的带宽、时延等特殊需求,仅以目前Internet中"尽最大努力交付"的服务是难以完成的。因此,组播技术的研究成为这个领域的热点,同时也对于组播的服务质量提出了更高的要求,QoS组播的需求已成为Internet相关技术的研究热点。Qos组播路由技术是网络支持QoS保证的关键技术之一,因此,高效的QoS组播路由算法就显得至关重要。QoS(Quality of Service)服务质量,是网络的一种安全机制, 是用来解决网络延迟和阻塞等问题的一种技术。 在正常情况下,如果网络只用于特定的无时间限制的应用系统,并不需要QoS,比如Web应用,或E-mail设置等。但是对关键应用和多媒体应用就十分必要。当网络过载或拥塞时,QoS 能确保重要业务量不受延迟或丢弃,同时保证网络的高效运行。网络资源总是有限的,只要存在抢夺网络资源的情况,就会出现服务质量的要求。服务质量是相对网络业务而言的,在保证某类业务的服务质量的同时,可能就是在损害其它业务的服务质量。例如,在网络总带宽固定的情况下,如果某类业务占用的带宽越多,那么其他业务能使用的带宽就越少,可能会影响其他业务的使用。因此,网络管理者需要根据各种业务的特点来对网络资源进行合理的规划和分配,从而使网络资源得到高效利用。

遗传算法GA(Genetic Algorithm)的特点在于具有搜索能力、潜在的并行性及较强的鲁棒性,计算过程简单,能很好地解决开发最优解和探寻搜索空间的矛盾;蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。它由Marco Dorigo于1992年在他的博士论文中提出,其灵感于蚂蚁在寻找食物过程中发现路径的行为。蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质。针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值。各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻找食物。当一只找到食物以后,它会向环境释放一种信息素,吸引其他的蚂蚁过来,这样越来越多的蚂蚁会找到食物!有些蚂蚁并没有象其它蚂蚁一样总重复同样的路,他们会另辟蹊径,如果令开辟的道路比原来的其他道路更短,那么,渐渐,更多的蚂蚁被吸引到这条较短的路上来。最后,经过一段时间运行,可能会出现一条最短的路径被大多数蚂蚁重复着。

将遗传算法和蚁群算法用于QoS组播路由已经取得较好的效果,但是缺点也很明显。遗传算法对于系统中的反馈信息利用不够,在中后期往往做大量无谓的迭代,求最优解的效率降低;蚁群算法则由于初期蚂蚁的随机活动使得前期信息素的更新较慢、求解速度慢,由于在后期容易早熟,而陷入局部最优。

本文针对目前应用蚁群算法解决NP完全问题的研究现状,以基本蚁群算法为基础,提出一种遗传多蚁群融合算法(GAMAC_QoS)来解决QoS多约束组播路由问题,对多个约束QoS组播路由问题进行了研究。利用基本蚁群算法的分布式和全局搜索能力,使信息素积累和更新收敛于最优路径上。

通过蚁群算法解决QoS组播路由问题

通过蚁群算法解决QoS组播路由问题

(3)初始种群生成

采用随机方法从中选择若干个个体组成初始种群,首先删除不满足QoS约束条件的节点以及与之相连的链路,再删除不满足带宽要求的链路,得到一个新的精简后的网络拓扑。

(4)选择算子

采用个体最佳保留策略(最佳个体保留个数设置为2)与采用遗传算法中运用最广的轮盘赌选择机制执行选择功能。

(5)交叉算子

采用Davis顺序交叉方法,先进行常规的双点交叉,再进行维持原有相对访问顺序的巡回线路修改[5].具体交叉如下:

①随机在父串上选择一个交配区域,如两父串选定为:

old1=12|3456|789

old2=98|7654|321

②将old2的交配区域加到old1的前面,将old1的交配区域加到old2的前面:

old1'=7654|123456789

old2'=3456|987654321

③依次删除old1',old2'中与交配区相同的数码,得到最终的两子串:

new1=765412389

new2=345698721

(6)变异算子

采用逆转变异法逆转。如染色体(1-2-3-4-5-6)在区间2-3和区间5-6处发生断裂,断裂片段又以反向顺序插入,于是逆转之后的染色体变为(1-2-5-4-3-6)。这里的进化,是指逆转算子的单方向性,只有经逆转后,适应值有提高的才接受下来,否则逆转无效。

2.2 GAMAC_QoS中的多蚁群算法规则

GAMAC_QoS算法定义了三种类型的蚂蚁:

(1)全智能蚂蚁。蚂蚁按照传统蚁群算法选择规则选择下一节点,此蚂蚁称为全智能蚂蚁,简称为M1.

(2)非智能蚂蚁。蚂蚁不按照选择规则来选择路径,而是随机地选择下一节点,此蚂蚁称为非智能蚂蚁,简称为M2.引入非智能蚂蚁是为了在算法陷入停滞时扩大搜索空间。

(3)半智能蚂蚁。在选择下一节点时以δ概率按照全智能蚂蚁的选择策略选择下一节点,以1-δ概率按照非智能蚂蚁的选择策略选择下一节点,此蚂蚁称为半智能蚂蚁,简称为M3.考虑到算法在陷入停滞的时候,前期的部分次优解还是有价值的,因此引入半智能蚂蚁是最大程度地利用之前的次优解,增加搜索最优解的成功率。

算法开始之时,蚂蚁的初值全为智能蚂蚁,数目为M,执行蚁群算法。当算法进行到停滞状态且比当前的参考值差的时刻,全智能蚂蚁发生变化,一部分转变成非智能蚂蚁,一部分转变成半智能蚂蚁,余下部分保持全智能蚂蚁的性质不变,其中半智能蚂蚁由智能蚂蚁和非智能蚂蚁组成,引入参数δ(0<δ<1)来决定其组成比例。

(1)适应值函数与遗传算法的适应值函数相同。

(2)路径选择策略[6].全智能蚂蚁M1,其选择策略为:

通过蚁群算法解决QoS组播路由问题

对于非智能蚁群M2,选择前进策略是不考虑任何信息素的反馈信息,随机选择下一节点,其前进策略如下:

通过蚁群算法解决QoS组播路由问题

图2表示网络费用与迭代次数的关系,目的节点为20个,从图中可以看出,随着迭代次数的增加,该算法比基本蚁群算法具有更快的收敛性,最终组播树的费用也更低,与参考文献[7]算法相比收敛速度上相差无几,但是最终最优组播树的费用更低。

针对蚁群算法的特点进行了改进,将遗传算法和蚁群算法相融合,并结合多蚁群的行为,提出了GAMAC_QoS组播路由算法。通过仿真实验证明,该算法相比于基本蚁群算法和参考文献[7]算法,在多节点中寻找组播树,具有更好的寻优能力、可靠性更高,是一种解决QoS组播路由的有效算法。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    15223

    浏览量

    171186
  • QoS
    QoS
    +关注

    关注

    1

    文章

    133

    浏览量

    44510
  • 多媒体
    +关注

    关注

    0

    文章

    482

    浏览量

    36677
收藏 人收藏

    评论

    相关推荐

    NHLERE:应用算法的WSN路由算法

    【摘要】:针对WSN中节点能量有限及节点间链路随机损耗特点,提出一种基于算法的用于无限传感器网络的路由算法-NHLERE,利用
    发表于 04-24 10:05

    TSP问题算法通用MATLAB源程序

    算法是当前研究十分火热的一种智能算法,下面的算法
    发表于 11-07 13:35

    特定环境下无线传感器网络的路由算法研究 论文

    特定环境下无线传感器网络的路由算法研究
    发表于 08-11 18:48

    MATLAB算法程序汇集篇

    MATLAB算法程序汇集篇
    发表于 03-30 18:02

    有没有算法的matlab编程代码

    图像处理用的是算法或者是基于对数图像处理理论。。有木有这两种算法的实现代码。。有的话发到我邮箱求参考啊。996414785@qq.com谢谢诸位大神
    发表于 04-03 09:45

    大家来讨论一下用算法实现路径规划的硬件实现问题

    本帖最后由 gk320830 于 2015-3-8 06:44 编辑 大家来讨论一下用算法实现路径规划的硬件实现问题,不仅仅是用matlab做仿真算法,具体的硬件连接都可以再
    发表于 04-26 17:19

    LABview 通信问题

    求助各位大神,现在需要实现通信的发送功能,请问如何实现,路由器有特殊的要求么?软件就用UDP的发送?
    发表于 02-12 11:03

    zigbee协调器与路由之间的实验,求代码

    zigbee协调器与路由之间的实验,求代码作参考,我自己写的代码实现不了功能
    发表于 04-06 19:53

    请问谁做过算法选择图像特征,使识别准确率最高?

    请问谁做过算法选择图像特征,使识别准确率最高?有学习资料或者matlab代码可以让我学习一下吗
    发表于 02-17 17:20

    基于MPLS网络的选播QoS路由算法

    提出一种基于MPLS网络且保证QoS的选播路由算法。使用链路状态路由协议,找到一条从发出请求的客户到服务器方向上最小跳数的最优路径,该路径能满足选播服务带宽要求。使用度
    发表于 04-07 08:59 24次下载

    基于自适应蚁群算法QoS组播路由算法

    提出一种改进的自适应蚁群优化算法,在信息素更新策略中引入全局最优系数,研究多约束条件下的QoS组播路由问题。动态更新信息素能够确保自适应地改进全局搜索能力和收敛性
    发表于 04-18 09:57 17次下载

    基于免疫遗传算法QoS选播路由

    将免疫算法与传统遗传算法相结合,既保留了原算法较强的全局搜索能力,又避免了局部搜索性能差和早熟现象。在提出改进算法的基础上,对带时延约束的QoS
    发表于 04-23 09:27 11次下载

    基于混沌控制量的QoS组播路由算法

    针对具有多个不相关可加度量的QoS组播路由问题,提出基于混沌控制量的QoS组播路由算法。该算法
    发表于 04-23 10:39 23次下载

    结合资源预留的分布式QoS组播路由算法

    针对网络资源信息的动态变化对QoS 组播路由算法的巨大影响,该文提出了一种与资源预留结合的分布式组播路由算法DQMTR。DQMTR
    发表于 11-25 14:13 9次下载

    面向卫星网络的多约束QoS路由算法

    面向卫星网络的多约束QoS路由算法
    发表于 06-25 11:07 7次下载