基于遗传算法的QoS路由优化算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于遗传算法的QoS路由优化算法

摘要:由于一些像远程视频会议之类的新服务要求更好的服务质量,多媒体通信路由算法需要使用多个QoS的参数。然而解决QoS路由问题、搜索两个无关参数的可行路径是一个NP完全问题。提出了一种基于遗传算法的QoS路由算法。仿真实验结果表明,该算法具有很好的性能并且为多约束QoS路由问题的求解提供了一种有效的途径。

关键词:QoS(服务质量);遗传算法;多约束;路由算法

0 引言

在分析目前已有算法局限性的基础上,本文提出了一种新的基于遗传算法的多约束优化QoS路由算法。通过仿真证明,该算法性能良好,实现简单,具有研究的前景,在满足时延和费用的约束条件下,使得消耗的网络资源尽可能少。

1 QoS路由问题算法

1.1 遗传算法

遗传算法是基于个体和自然的相互作用模拟遗传选择和自然淘汰的生物进化的计算模型,是一种新的全局优化搜索算法。该算法是具有“生成+检测”的迭代过程的搜索算法。它的基本

处理流程如图1所示。遗传算法是一种群体型操作,该操作以群体中所有个体为对象,以选择、交叉和变异3个主要操作算子构成遗传操作。这些个体有解决问题的基因。该算法利用遗传算子产生一系列的代。在种群只有最合适的个体可以生存下来并且产生后代,将它们的生物特性传送给后代。

1.2 GLBR和ARGA算法

在GLBR算法中,将基因按照顺序节点的形式放在一个大小不一的染色体中。当遗传操作进行随机性选择时,种群的下一代可能会出现不适合的个体。这样在两个相邻节点的通信路径可能不存在,需要进行一些复杂的遗传操作以便找到一条新的通信路径。并且由于种群个体大小不一,交叉运算较为复杂。

为简化GLBR算法的遗传操作,在ARGA算法中将网络表示成树结构,基因作为树的结点。用这种编码方法,每个染色体的长度相同并且在树结点完成遗传操作,于是搜索的路径总能存在。因此GLBR算法中没有必要去检查搜索路径的有效性。

图2所示的8个节点的网络描述了上述过程。其中节点A 和H分别是源节点和目的节点。所有的路径采用树结构表示,如图3。阴影部分是从节点C到H的相同路径。为减少染色体基因数目,图3的网络树结构简化为图4所示的树结构。在简化后的树结构中,每一个树结点作为一种基因,路径代表了染色体,并缩减了表示节点C到H的路径的两棵树。

1.3 ARGAQ算法

在ARGAQ算法中采用了延时和传输成功率两个QoS参数。延时表示一个节点到另一个节点传输数据包所用的时间。传输成功率表示正确传输数据包没有出现丢包的概率。

图5所示的网络中节点A是源节点,节点B是目的节点。节点A向B发送10个数据包,图5(a)和(b)的传输成功率是分别由公式1和公式2计算得到。

10×0.9×0.9×0.9×0.9=6.561(1)

10×1.0×1.0×0.6×1.0=6.000(2)

对比可得图5(a)的数据传输成功率较高,此时为最优路径。

图6所示的网络模型中,有延时和传输成功率两个参数,由公式3可以得到比值T。其中n表示路径中链接节点的数量。

T=∑n i=1DTi∏n i=1TSRi(3)

当节点A与节点D通信时,可以走两条路径:“A-B-D”或“A-C-D”。按照公式3可以得到以下两个式子。

T A-B-D=350+30075×50=6503750=0.1733(4)

T A-C-D=400+40090×95=8008550=0.0936(5)

尽管路径“A-B-D”的延时比“A-C-D”要短,但路径“A-C-D”的丢包率要要低一些,因此“A-C-D”为最优路径。这样需要参考两个QoS路由参数来寻找最优路径。

2 基于遗传算法的优化算法

2.1 多目标优化

该改进算法为多目标优化采用了多分组模型。当存在多个目标时,一个解在某个目标上是最好的,在另一个目标上可能是最差的。所以将全局领域划分成几个不同空间领域并且每个个体在各自空间中进化,若找到某个体满足最终条件标准,该个体就是最佳路径。若没有找到最优路径,就在各空间领域之间交换其中的最优个体,直到完成遗传次代。如图7所示,图中有4个不同目标函数独立并存于各自的空间领域中。

如图8所示,竖坐标表示了时延,横坐标表示通信费用。图中的点表示个体(或路径)。左上方的个体费用最低,右下方的个体时延最小。阴影部分的个体时延和费用达到最优值,被称为Pareto解。Pareto解附近的个体是通过不同领域互相交换解得到的。

2.2 QoS路由搜索引擎

路由搜索引擎(RSE)包括两个搜索引擎,即缓存搜索引擎(CSE)和树搜索引擎(TSE)。它们都是独立操作但共同合作来更新路由信息。当路由搜索引擎收到一个从客户发来的QoS路由请求,它将请求并行转发给缓存搜索引擎和树搜索引擎。缓存搜索引擎和树搜索引擎分别并发去搜索满足QoS要求的路径。缓存搜索引擎在缓存数据库中搜索路径(在缓存数据库中,目的节点和路由信息保存为数据项)。当缓存搜索引擎找到一条路径满足QoS的要求,这条路由信息被传送给路由搜索引擎,如果该路径不满足要求就作为新个体放入基因库中。当缓存搜索引擎搜索不到满足要求的路径时,就由树搜索引擎搜索路径再转发给路由搜索引擎。

2.3 搜索引擎和数据库更新

由于网络状态随时发生动态变化,数据库信息也需要及时更新。当树搜索引擎寻找到一条QoS路径,它就将该路径信息存放到缓存数据库中。对使用频繁的路由信息赋予更高的优先级,这样该路径就可以很快被缓存搜索引擎搜寻到。当缓存搜索引擎找到的路径不满足客户的QoS要求,该路径信息就当成一个新个体放入到树搜索引擎的基因库中并在遗传算法的选择操作中使用,如图9所示。

2.4 树搜索引擎操作

当树搜索引擎收到路由搜索引擎发来的寻找QoS路径的消

息后,它将树根结点作为源节点。在有相同路线时对树网络模型进行简化。在简化后的树网络中,基因用树的结点表示。染色体的基因里有相邻节点的信息。使用这种树模型,能够避免路由循环,这样算法不会在路由循环时浪费搜索时间。另外染色体比较短,遗传操作起来更简单。

基因编码后,就选择初始种群。使用等第选择模型选择两个个体来进行遗传操作。等第选择模型将个体按适应度进行排名。个体适应度取决于时延和费用,时延短、费用低的个体适应度高。由于需要得到快速回应,交叉操作采用简单的单点交叉。在变异操作中,基因在0到变异概率p这个范围内随机选择,其中p ≤1e,l为染色体的长度。在交叉变异后,使用精英模型将种群中适应度高

3 仿真实验

使用如图10的20个网络节点模型进行仿真。路由搜索引擎发出QoS要求和目的节点信息后,缓存搜索引擎和树搜索引擎并行去寻找路径。

在仿真实验中,假定客户要求QoS的时延低于60ms,费用低于100,图11为利用遗传算法搜索网络时延、费用随遗传代数变化的曲线图。从图中可以看出,该算法能够很快从局部解中摆脱,使用该改进遗传算法能快速有效地完成全局优化解。

相关文档
最新文档