• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 语文学习 > 正文

    a星算法 蚁群算法 一种求解简单网络路由问题的混合蚁群算法

    时间:2019-01-05 03:33:22 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘 要: 蚁群算法是一种新型的模拟进化算法,为求解复杂的组合优化问题提供了一种新的思路。该文提出了一种求解网络路由问题的混合蚁群算法,该算法根据概率取值的不同选取三种不同的状态转移规则,通过仿真实验,获得了较好的效果,并与禁忌搜索算法进行了对比,结果表明,混合蚁群算法比禁忌搜索算法运行的时间更短,具有更好的求解性能。
      关键词: 网络路由问题 混合蚁群算法 计算机仿真
      
      1.引言
      在网络设计中,我们经常会遇到这样一类问题:在由多个路由器组成的网络中,路由器之间的各个直接链路都具有各自的传输时延,求解从某一个路由器出发,到达另一个路由器的最短时延,这就是路由选择问题。从数学的角度可简化为:在由多个节点组成的网络中,节点与节点之间的链路具有各自的距离,求解一条从某一节点到达另一节点的最短距离的路径[1]。
      利用传统的方法(如Dijkstra算法)来解决该问题往往会随着网络节点数的增加,收敛速度明显变慢,为此人们不断地研究出了一些新的算法。文献[2]提出利用拉格朗日松驰因子法与次梯度寻优法来找到最优解的范围和可行解,但算法复杂,计算和编程工作量大。文献[3]将其近似为一个二次型优化问题,利用一种具有全局收敛性质的神经网络给予解决。文献[4,5]分别利用遗传算法、禁忌搜索算法解决这一问题。
      本文提出了一种建立在蚁群算法基础上的新的路由择算法――根据概率取值的不同选取不同的状态转移规则,通过适当调整参数得出满足要求的解。仿真结果表明,这是一种有效地求解网络路由问题的算法。
      2.基本蚁群算法
      Dorigo首先提出了蚁群算法。蚁群算法是模仿真实的蚁群行为而提出的一种模拟进化算法。蚂蚁个体之间是通过一种称之为信息素(Pheromone)的物质进行信息传递,从而相互协作、完成复杂任务的。蚂蚁在运动过程中,能够在它所经过的路径上留下信息素,其他蚂蚁在运动过程中能够感知这种物质的存在及其强度,并以此指导自己的运动方向,蚂蚁倾向于朝着该物质强度高的方向移动。因此,由大量蚂蚁组成的蚁群的集体行为便表现出一种信息正反馈现象:某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大。蚂蚁个体之间就是通过这种信息素的交流,搜索到一条从蚁巢到食物源的可能的较短路径。
      蚁群算法的步骤可简要地表述为:步骤1:设置所有参数,信息素痕迹初始化;步骤2:每只蚂蚁根据状态转移规则建立一个完整的解,状态转移规则主要取决于信息素和启发式信息;步骤3:更新信息素。这三个过程不断重复,直到满足终止条件。
      实际上,蚁群算法目前已成功地应用到不同的连续和组合优化问题,比如旅行商问题(Traveling Salesman Problem, TSP)[6]、连续函数优化[7]、网格分割问题[8]等。
      3.混合蚁群算法求解网络路由问题
      开始时,所有的个蚂蚁都集中在起点S处。蚂蚁i从S点出发,按照选择策略,从和S相关联的边的集合中,选择一条边;然后从这条边的另一节点a开始,从和a相关联的边的集合中,选择另一条边。以此类推,直到搜索到终点D,于是,蚂蚁i得到一个从S到D的解。每当蚂蚁选择完一条边后,就马上更新边上的信息量(局部更新)。蚂蚁i搜索完后,蚂蚁j从S出发,按照和蚂蚁i相同的方法,搜索出一条从S到D的路径,得到一个解。直到所有的m个蚂蚁都进行完搜索,得到m个解(包括重复的)。以m个解为基础,采用局部搜索算法,进行局部搜索,得到局部最优解。根据局部最优解全局计算信息增量(全局更新),全局更新后,继续迭代直到满足停止条件,停止条件为最大迭代次数。在所求得的所有局部最优解中,值最小的解为所求的全局最优解,即最短路径的距离值。用基本的蚁群算法求解最短路径问题的主要实现步骤如下。
      (1)信息初始化:算法开始运行时,赋予每条边上相等数量的信息量。
      (2)选择策略:位于第i个节点的蚂蚁k,根据概率q(0 本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

    推荐访问:求解 路由 算法 混合

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章