蚁群算法的基本原理与改进要点详解.ppt

蚁群算法的基本原理与改进要点详解.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:19108035856(电话支持时间:9:00-19:00)。
蚁群算法的基本原理与改进 蚁群算法 蚁群算法(ant colony alogrithm)是一种模拟进化算法。 蚁群算法(又称为人工蚁群算法)是由意大利学者M.Dorigo,V.Mahiezzo,A.Colorni等人受到人们对自然界中真是蚁群集体行为的研究成果的启发而首先提出来的。这个算法的主要目的是在图中寻找优化路径的机率算法。 蚁群算法最早是为了解决TSP问题(即旅行商问题)。 TSP问题的要求:?路径的限制是每个城市只能拜访一次;?最后要回到原来出发的城市。?求得的路径路程为所有路径之中的最小值。 概念原型 各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻找食物。 当一只找到食物以后,它会向环境释放一种挥发性分泌物pheromone (称为信息素,该物质随着时间的推移会逐渐挥发消失,信息素浓度的大小表征路径的远近)来实现的,吸引其他的蚂蚁过来,这样越来越多的蚂蚁会找到食物。 有些蚂蚁并没有象其它蚂蚁一样总重复同样的路,他们会另辟蹊径,如果另开辟的道路比原来的其他道路更短,那么,渐渐地,更多的蚂蚁被吸引到这条较短的路上来。 最后,经过一段时间运行,就可能会出现一条最短的路径被大多数蚂蚁重复着。 基本原理 蚁群算法是对自然界蚂蚁的寻径方式进行模似而得出的一种仿生算法。 蚂蚁在运动过程中,能够在它所经过的路径上留下一种称之为外激素(pheromone)的物质进行信息传递,而且蚂蚁在运动过程中能够感知这种物质,并以此指导自己的运动方向,因此由大量蚂蚁组成的蚁群集体行为便表现出一种信息正反馈现象:某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大。 下面以TSP为例说明基本蚁群算法模型。 首先将m只蚂蚁随机放置在n个城市,位于城市i的第k只蚂蚁选择下一个城市j的概率为: 蚂蚁算法求解TSP 蚂蚁算法求解TSP 其中:ρ为小于1的常数,表示信息的持久性。 求解TSP算法步骤 ⑴初始化 随机放置蚂蚁,为每只蚂蚁建立禁忌表tabuk,将初始节点置入禁忌表中; ⑵迭代过程 k=1 while k=<ItCount do (执行迭代) for i = 1 to m do (对m只蚂蚁循环) for j = 1 to n - 1 do (对n个城市循环)    根据式(1),采用轮盘赌方法在窗口外选择下一个城市j; 将j置入禁忌表,蚂蚁转移到j;   end for end for 计算每只蚂蚁的路径长度; 根据式(2)更新所有蚂蚁路径上的信息量; k = k + 1; end while ⑶输出结果,结束算法. 基本蚁群算法流程 1. 在初始状态下,一群蚂蚁外出,此时没有信息素,那么各自会随机的选择一条路径。 2. 在下一个状态,每只蚂蚁到达了不同的点,从初始点到这些点之间留下了信息素,蚂蚁继续走,已经到达目标的蚂蚁开始返回,与此同时,下一批蚂蚁出动,它们都会按照各条路径上信息素的多少选择路线(selection),更倾向于选择信息素多的路径走(当然也有随机性)。 3. 又到了再下一个状态,刚刚没有蚂蚁经过的路线上的信息素不同程度的挥发掉了(evaporation),而刚刚经过了蚂蚁的路线信息素增强(reinforcement)。然后又出动一批蚂蚁,重复第2个步骤。 每个状态到下一个状态的变化称为一次迭代,在迭代多次过后,就会有某一条路径上的信息素明显多于其它路径,这通常就是一条最优路径。 蚁群算法采用了分布式正反馈并行计算机制, 易于与其他方法结合, 并具有较强的鲁棒性。 (1)其原理是一种正反馈机制或称增强型学习系统;它通过信息素的不断更新达到最终收敛于最优路径上; (2)它是一种通用型随机优化方法;但人工蚂蚁决不是对实际蚂蚁的一种简单模拟,它融进了人类的智能; (3)它是一种分布式的优化方法;不仅适合目前的串行计算机,而且适合未来的并行计算机; (4)它是一种全局优化的方法;不仅可用于求解单目标优化问题,而且可用于求解多目标优化问题; (5)它是一种启发式算法;计算复杂性为 O(NC*m*n2),其中NC 是迭代次数,m 是蚂蚁数目,n 是目的节点数目。 下面是对蚁群算法的进行过程中采用的规则进行的一些说明。 范围 蚂蚁观察到的范围是一个方格世界,蚂蚁有一个参数为速度半径(一般是3),那么它能观察到的范围就是3*3个方格世界,并且能移动的距离也在这个范围之内。 环境 蚂蚁所在的环境是一个虚拟的世界,其中有障碍物,有别的蚂蚁,还有信息素,信息素有两种,一种是找到食物的蚂蚁洒下的食物信息素,一种是找到窝的蚂蚁洒下的窝的信息素。每个蚂蚁都仅仅能感知它范围内的环境信息。环境以一定的速率让信息素消失。 觅食规则 在每只蚂蚁能感

您可能关注的文档

文档评论(0)

w5544434 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

认证主体雷**

相关文档

相关课程推荐