- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种求解简单网络路由问题混合蚁群算法
一种求解简单网络路由问题混合蚁群算法 摘 要: 蚁群算法是一种新型的模拟进化算法,为求解复杂的组合优化问题提供了一种新的思路。该文提出了一种求解网络路由问题的混合蚁群算法,该算法根据概率取值的不同选取三种不同的状态转移规则,通过仿真实验,获得了较好的效果,并与禁忌搜索算法进行了对比,结果表明,混合蚁群算法比禁忌搜索算法运行的时间更短,具有更好的求解性能。 关键词: 网络路由问题 混合蚁群算法 计算机仿真 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(0q1)的值按如下规则之一选择策略选择边(i,j): 规则1:蚂蚁k依据启发式信息以贪婪方式选择边(i,j),即: 规则2:蚂蚁k依据信息素和启发式信息以贪婪方式选择边(i,j),即: 规则3:蚂蚁k依据轮盘赌策略选择边(i,j),位于节点i的蚂蚁选择节点j的概率根据式(3)计算。 蚁在运行过程中所积累的信息素和启发式信息在蚂蚁选择节点时的相对重要性。 α为信息启发式因子, 表示轨迹的相对重要性,反映了蚂蚁在运动过程中所积累的信息在蚂蚁运动时所起的作用, 其值越大, 蚂蚁越容易选择其他蚂蚁走过的路径;β为期望启发式因子, 表示启发式信息的相对重要性,反映了蚂蚁在运动过程中启发信息在蚂蚁选择路径中的受重视程度, 其值越大, 则该状态转移概率越接近于贪心规则。 (3)信息素更新:混合蚁群
文档评论(0)