蚁群算法的基本原理与改进.pptx
《蚁群算法的基本原理与改进.pptx》由会员分享,可在线阅读,更多相关《蚁群算法的基本原理与改进.pptx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计学1蚁群算法的基本原理与改进蚁群算法的基本原理与改进蚁群算法蚁群算法n n蚁群算法(ant colony alogrithm)是一种模拟进化算法。n n蚁群算法(又称为人工蚁群算法)是由意大利学者M.Dorigo,V.Mahiezzo,A.Colorni等人受到人们对自然界中真是蚁群集体行为的研究成果的启发而首先提出来的。这个算法的主要目的是在图中寻找优化路径的机率算法。n n蚁群算法最早是为了解决TSP问题(即旅行商问题)。n nTSP问题的要求:路径的限制是每个城市只能拜访一次;最后要回到原来出发的城市。求得的路径路程为所有路径之中的最小值。第1页/共22页n n概念原型各个蚂蚁在没有
2、事先告诉他们食物在什么地方的前提下开始寻找食物。当一只找到食物以后,它会向环境释放一种挥发性分泌物pheromone(称为信息素,该物质随着时间的推移会逐渐挥发消失,信息素浓度的大小表征路径的远近)来实现的,吸引其他的蚂蚁过来,这样越来越多的蚂蚁会找到食物。有些蚂蚁并没有象其它蚂蚁一样总重复同样的路,他们会另辟蹊径,如果另开辟的道路比原来的其他道路更短,那么,渐渐地,更多的蚂蚁被吸引到这条较短的路上来。最后,经过一段时间运行,就可能会出现一条最短的路径被大多数蚂蚁重复着。第2页/共22页n n基本原理蚁群算法是对自然界蚂蚁的寻径方式进行模似而得出的一种仿生算法。蚂蚁在运动过程中,能够在它所经过
3、的路径上留下一种称之为外激素(pheromone)的物质进行信息传递,而且蚂蚁在运动过程中能够感知这种物质,并以此指导自己的运动方向,因此由大量蚂蚁组成的蚁群集体行为便表现出一种信息正反馈现象:某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大。第3页/共22页n n假设以下条件:假设以下条件:n n每个时间单位有每个时间单位有3030只蚂蚁(只蚂蚁(A-A-BB)n n每个时间单位有每个时间单位有3030只蚂蚁(只蚂蚁(E-E-DD)n n蚂蚁过后留下的外激素为蚂蚁过后留下的外激素为1 1n n初始时刻,路径无信息存在且位初始时刻,路径无信息存在且位于于B B和和E E可以随机选择路径
4、可以随机选择路径n nHD=HB=1HD=HB=1n nCD=CB=0.5CD=CB=0.5n n图中的数字表示距离图中的数字表示距离第4页/共22页n n假设以下条件:假设以下条件:n n每个时间单位有每个时间单位有3030只蚂蚁(只蚂蚁(A-BA-B)n n每个时间单位有每个时间单位有3030只蚂蚁(只蚂蚁(E-DE-D)n n蚂蚁过后留下的外激素为蚂蚁过后留下的外激素为1 1n n初始时刻,路径无信息存在且位于初始时刻,路径无信息存在且位于B B和和E E可以随机选择路径可以随机选择路径n nHD=HB=1HD=HB=1n nCD=CB=0.5CD=CB=0.5n n备注:备注:n nD
5、-H D-C D-H D-C n nB-H B-CB-H B-Cn n图中数字表示蚂蚁的个数图中数字表示蚂蚁的个数第5页/共22页n n假设以下条件:假设以下条件:n n每个时间单位有每个时间单位有3030只蚂蚁(只蚂蚁(A-BA-B)n n每个时间单位有每个时间单位有3030只蚂蚁(只蚂蚁(E-DE-D)n n蚂蚁过后留下的外激素为蚂蚁过后留下的外激素为1 1n n初始时刻,路径无信息存在且位于初始时刻,路径无信息存在且位于B B和和E E可以随机选择路径可以随机选择路径n nHD=HB=1HD=HB=1n nCD=CB=0.5CD=CB=0.5n n备注:备注:n nD-H D-C D-H
6、 D-C n nB-H B-CB-H B-Cn n图中数字表示蚂蚁的个数图中数字表示蚂蚁的个数第6页/共22页n n下面以TSP为例说明基本蚁群算法模型。n n首先将m只蚂蚁随机放置在n个城市,位于城市i的第k只蚂蚁选择下一个城市j的概率为:第7页/共22页蚂蚁算法求解蚂蚁算法求解TSPTSP其中:其中:表示边(表示边(i i,j j)上的信息素浓度;)上的信息素浓度;是启发信息,是启发信息,d d是城市是城市i i和和j j之间的距离;之间的距离;和和 反映了信息素与启发信息的相对重要性;反映了信息素与启发信息的相对重要性;表示蚂蚁表示蚂蚁k k已经访问过的城市列表。已经访问过的城市列表。当
7、所有蚂蚁完成周游后,按以下公式进行信息素更新。当所有蚂蚁完成周游后,按以下公式进行信息素更新。第8页/共22页蚂蚁算法求解蚂蚁算法求解TSPTSPn n其中:为小于1的常数,表示信息的持久性。l其中:Q为常数;lk表示第k只蚂蚁在本次迭代中走过的路径,Lk为路径长度。第9页/共22页求解求解TSPTSP算法步骤算法步骤 初始化随机放置蚂蚁,为每只蚂蚁建立禁忌表初始化随机放置蚂蚁,为每只蚂蚁建立禁忌表tabutabuk k,将初始节点置入禁忌表中,将初始节点置入禁忌表中;迭代过程迭代过程k=1k=1while k=ItCount do(while k=ItCount do(执行迭代执行迭代)fo
8、r i=1 to m do (for i=1 to m do (对对mm只蚂蚁循环只蚂蚁循环)for j=1 to n-1 do (for j=1 to n-1 do (对对n n个城市循个城市循环环)根据式根据式(1)(1),采用轮盘赌方法在窗口外选择下一个城市,采用轮盘赌方法在窗口外选择下一个城市j;j;将将j j置入禁忌表置入禁忌表,蚂蚁转移到蚂蚁转移到j;j;end forend for end for end for 计算每只蚂蚁的路径长度计算每只蚂蚁的路径长度;根据式根据式(2)(2)更新所有蚂蚁路径上的信息量更新所有蚂蚁路径上的信息量;k=k+1;k=k+1;end whilee
9、nd while输出结果输出结果,结束算法结束算法.第10页/共22页基本蚁群算法流程基本蚁群算法流程1.在初始状态下,一群蚂蚁外出,此时没有信息素,那么各自会随机的选择一条路径。2.在下一个状态,每只蚂蚁到达了不同的点,从初始点到这些点之间留下了信息素,蚂蚁继续走,已经到达目标的蚂蚁开始返回,与此同时,下一批蚂蚁出动,它们都会按照各条路径上信息素的多少选择路线(selection),更倾向于选择信息素多的路径走(当然也有随机性)。3.又到了再下一个状态,刚刚没有蚂蚁经过的路线上的信息素不同程度的挥发掉了(evaporation),而刚刚经过了蚂蚁的路线信息素增强(reinforcement)
10、。然后又出动一批蚂蚁,重复第2个步骤。每个状态到下一个状态的变化称为一次迭代,在迭代多次过后,就会有某一条路径上的信息素明显多于其它路径,这通常就是一条最优路径。第11页/共22页蚁群算法蚁群算法采用了分布式正反馈并行计算机制,易于与其他方法结合,并具有较强的鲁棒性。(1)其原理是一种正反馈机制或称增强型学)其原理是一种正反馈机制或称增强型学习系统;习系统;它通过信息素的不断更新达到最终收敛于最优路径上;(2)它是一种通用型随机优化方法;)它是一种通用型随机优化方法;但人工蚂蚁决不是对实际蚂蚁的一种简单模拟,它融进了人类的智能;(3)它是一种分布式的优化方法;)它是一种分布式的优化方法;不仅适
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 基本原理 改进
限制150内