蚁群算法简述和实现_第1页
蚁群算法简述和实现_第2页
蚁群算法简述和实现_第3页
蚁群算法简述和实现_第4页
蚁群算法简述和实现_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、WORD格式可编辑蚁群算法简述及实现1蚁群算法的原理分析蚁群算法是受自然界中真实蚁群算法的集体觅食行为的启发而发展起来的一种基于群 体的模拟进化算法,属于随机搜索算法,所以它更恰当的名字应该叫“人工蚁群算法”,我们 一般简称为蚁群算法。M.Dorigo等人充分的利用了蚁群搜索食物的过程与著名的TSP问题的相似性,通过人工模拟蚁群搜索食物的行为来求解TSP问题。蚂蚁这种社会性动物,虽然个体行为及其简单,但是由这些简单个体所组成的群体却表 现出及其复杂的行为特征。这是因为蚂蚁在寻找食物时,能在其经过的路径上释放一种叫做信息素白物质,使得一定范围内的其他蚂蚁能够感觉到这种物质,且倾向于朝着该物质强度

2、高的方向移动。蚁群的集体行为表现为一种正反馈现象,蚁群这种选择路径的行为过程称之为自催化行为。由于其原理是一种正反馈机制,因此也可以把蚁群的行为理解成所谓的增强型学习系统 (Reinforcement Learning System) 。引用M.Dorigo所举的例子来说明蚁群发现最短路径的原理和机制,见图1所示。假设D和H之间、B和H之间以及B和D之间(通过C)的距离为1,C位于D和B的中央(见图1 (a)。 现在我们考虑在等间隔等离散世界时间点(t=0,1,2)的蚁群系统情况。假设每单位时间有30只蚂蚁从A到B,另三十只蚂蚁从 E到D,其行走速度都为1( 一个单位时间所走距离为 1),在行

3、走时,一只蚂蚁可在时刻t留下浓度为1的信息素。为简单起见,设信息素在时间区 间(t+1 , t+2)的中点(t+1.5)时刻瞬时完全挥发。在t=0时刻无任何信息素,但分别有30只蚂蚁在B、30只蚂蚁在D等待出发。它们选择走哪一条路径是完全随机的,因此在两个节点上蚁群可各自一分为二,走两个方向。但在t=1时刻,从A到B的30只蚂蚁在通向H的路径 上(见图1 (b)发现一条浓度为15的信息素,这是由15只从B走向H的先行蚂蚁留下来的; 而在通向C的路径上它们可以发现一条浓度为30的信息素路径,这是由15只走向BC的路径的蚂蚁所留下的气息与 15只从D经C到达B留下的气息之和(图1 (c)。这时,选

4、择路径的 概率就有了偏差,向C走的蚂蚁数将是向 H走的蚂蚁数的2倍。对于从E到D来的蚂蚁也是 如此。II收60。火工I、H孰15Hif(b)图1蚁群路径搜索实例奴砂15KirEk1效和30Tift 10J: b这个过程一直会持续到所有的蚂蚁最终都选择了最短的路径为止。这样,我们就可以理解蚁群算法的基本思想:如果在给定点,一只蚂蚁要在不同的路径中专业知识分享WORD格式可编辑选才i ,那么,那些被先行蚂蚁大量选择的路径(也就是信息素留存较浓的路径)被选中的概率就更大,较多的信息素意味着较短的路径,也就意味着较好的问题回答。2人工蚁群算法描述蚁群算法可以看作为一种基于解空间参数化概率分布模型(Pa

5、rameterized Probabilistic Model)的搜索算法框架 (Model-based search algorithms)。在蚁群算法中, 解空间参数化概率,模型的参数就是信息素,因而这种参数化概率分布模型就是信息素模型。 在基于模型的搜索算法框架中,可行解通过在一个解空间参数化概率分布模型上的搜索产生此模型的参数用以前产生的解来更新,使得在新模型上的搜索能够集中在高质量的解搜索空 间内。这种方法的有效性建立在高质量的解总是包含好的解构成元素的假设前提下。通过学习这种解构成元素对解的质量的影响有助于找到一种机制,并通过解构成元素的最佳组合来构造出高质量的解。一般来说,一个记

6、忆模型的搜索算法通常使用以下两步迭代来解决优化 问题:1)可行解通过在解空间参数化概率分布模型上的搜索产生。2)用搜索产生的解来更新参数化概率模型,即更新解空间参数化概率分布的参数,使得在新模型上的参数搜索能够集中在高质量的解搜索空间内。在蚁群算法中,基于信息素的解空间参数化概率模型(信息素模型)以解构造图的形式给出。在解构造图上,定义了一种作为随机搜索机制的人工蚁群,蚂蚁通过一种分布在解构造图上被称为信息素的局部信息的指引,在解构造图上移动,从而逐步的构造出问题的可行。信息 素与解构造图上的节点或弧相关联,作为解空间参数化概率分布模型的参数。由于TSP问题可以直接的映射为解构造图(城市为节点

7、,城市间的路径为弧,信息素分布在弧上),加之TSP问题也是个NP难题,所以,蚁群算法的大部分应用都集中在TSP问题上。一般而言,用于求解TSP问题、生产调度问题等优化问题的蚁群算法都遵循下面的统一算法 框架。算法1:求解组合优化问题的蚁群算法设置参数,初始化信息素踪迹While(不满足条件时)dofor蚁群中的每只蚂蚁for每个解构造步(直到构造出完整的可行解)1)蚂蚁按照信息素及启发式信息的指引构造一步问题的解;2)进行信息素局部更新。(可选) endforendfor1)以某些已获得的解为起点进行邻域(局部)搜索;(可选)2)根据某些已获得的解的质量进行全局信息素更新。 endwhilee

8、nd在算法1中,蚂蚁逐步的构造问题的可行解,在一步解的构造过程中,蚂蚁以概率方式选择信息素强且启发式因子高的弧到达下一个节点,直到不能继续移动为止。此时蚂蚁所走过的路径对应求解问题的一个可行解。局部信息素更新针对蚂蚁当前走过的一步路径上的信息 素进行,全局信息素更新是在所有蚂蚁找到可行解之后,根据发现解的质量或当前算法找到 的最好解对路径上的信息素进行更新。3蚁群算法与其他搜索算法比较专业知识分享WORD格式可编辑蚁群算法与进化算法比较近年来,遗传算法(GA)、进化规划(Evolutionary Planning) 、进化策略(Evolutionary Strategies)在理论和应用上发展

9、迅速、效果显著并逐渐走向了融合,形成了一种新颖的模拟 进化的计算理论,统称为进化计算(Evolutionary Computation) 。因此我们可以用进化计算 作为代表与蚁群算法进行比较 ,从另一个角度来认识蚁群算法 ,加深对蚁群算法的理解。蚁群算法与进化计算的相似之处有两点:首先,两种算法均采用群体表示问题的解;其次,新群体通过包含在群体中与问题相关的知识来生成。两者的主要区别在于进化计算中所有问题的的知识都包含在当前群体中,而蚁群算法中代表过去所学的知识保存在信息素的踪迹中。蚁群算法与模拟退火算法比较从模拟退火算法的搜索策略可以看出蚁群算法和模拟退火算法(SA)从本质上来讲是一致的。S

10、A对某个“固体的” 一个微观状态i计算其能量E的过程与蚂蚁的一次“周游” 一样 ,都是对解空间的一次采样;“退火”与“分泌信息素”都是利用积累信息来增强对子空间的 搜索;而a Metropolis 准则”和“随机状态转移规则”类似 ,都是使算法能够跳出局部最优,在一定范围内接受恶化解,搜索新的子空间。因此,SA已经非常成熟的收敛性研究对分析设置蚂蚁规模参数和信息素分布策略对最终解质量的影响有很大的借鉴意义。对于SA的收敛性分析一般分两种情况,齐次Markov链和非齐次Markov链。齐次Markov链的分析结果告诉我们,在任意温度t,SA都达到平衡分布 的情况下,当t-0时,SA将收敛于全局最

11、优。也就是说,在任意温度t,SA都要遍历整个解空间。那么,如果我们保留sA采样后的当前全局最优解,则即使在任何温度t,SA都会收敛于全 局最优。换句话说,对于蚁群算法,如果蚂蚁数量(规模)足够多,能够保证对解空间的遍历,那么即使不用信息素,也能保证全局收敛。不过这种方法显然就是一种盲目随机搜索,没有任何实际的应用价值。对于非其次 Markov链的SA,即在某个固定温度t,采样次数有限,而t将无限趋近于0 的情况下,结论告诉我们当控制参数序列满足一定条件时,SA才收敛于整体最优解集。其更直接的表述方式是:控制参数t的衰减量与在温度t下的采样数之间存在一种均衡:t的衰减量越大,则在温度艺下的采样数

12、就必须越多;反之,若t的衰减量缓慢,则在每个温度下 SA只需进行少量采样。那么。从蚁群算法的角度可以看到 :因为蚂蚁的规模实际上影响的只是信息素更新的频 率,所以当规模设置较大时,每次更新信息素时,可以以较快的速度拉大不同状态上的信息素 差距;当规模较小时,每次只对信息素进行少量更新 ,以免算法早熟。由此可见,对蚁群算法的参数设置可以直接利用SA中对“冷却进度表”的研究成果。此外,既然两者在本质上一致,那么SA的一些改进和变异可以直接用在蚁群算法上以改 进其性能。蚁群算法与神经网络比较由许多并发、局部交互的单元(人工蚂蚁)组成的蚁群,可以看成是一种“连接”系统。连接系统最具代表性的例子是神经网

13、络(Neural Network, 简称NN)。从结本上看,蚁群算法与通常的神经网络具有类似的并行机制。蚂蚁访问过的每一个状态i对应于神经网络中的神经元i,与问题相关的状态i的邻域结构与神经元i中的突触连接相对应。蚂蚁本身可 以看成是通过神经网络的并发输入信号,以修改突触与神经元之间的连接强度。信号经过随机转换函数的局部反传,使用的突触越多,两个神经元之间的连接越强。蚁群算法中的学习规专业知识分享WORD格式可编辑则可以解释为一种后天性的规则,即质量较好的解包含连接信号的强度高于质量较差的解。4基本蚁群算法及其实现引言蚁群在觅食过程中总能找到蚁巢和食物源之间的最短路径。受蚂蚁的这种行为启发,意

14、大利学者M.Dorigo、V.Maniezzo以及A.Colorni首先提出了一种新型的随机搜索模拟进化 算法一蚂蚁系统(Ant System,简称As)。AS算法是第一个蚁群算法的模型,被称为基本蚁群算法。AS算法首先被用来求解 TSP问题,并取得了巨大成功。实验结果显示AS算法具有很强的发现较好解的能力,但同时也存在一些缺点,如收敛速度较慢、易出现停滞现象等等。 针 对AS算法的不足之处,许多学者对其进行了深入的研究,提出了一些改进的蚁群算法,如带精英策略的蚂蚁系统(Ant System With elitist strategy,简称 ASlgt、蚁群系统(AntColorni Syst

15、em,简称 ACS)、基于优化排序的蚂蚁系统(Rank-Based Version of Ant System,简称ASank)、最大-最小蚂蚁系统(Max-Min Ant System, 简称MMA砚及最优-最差蚂蚁系统 (Best-Worst Ant System, 简称 BWAS等等。蚂蚁系统的模型描述为了说明蚂蚁系统的模型,首先引入TSP问题。一般地来说,旅行商问题(Traveling Salesman Problem, 简称TSP问题)可以描述如下: 设C=。,c2,c n为n个城市的集合,L= L巧5、cCC 是c中元素两两连接的集合,G=(C,L)是一个图,已知各城市之间的距离,

16、TSP问题的求解目的是从 G中找出长度最短的 Hamiltonian 圈,即找出对 C=c ,c2,c n中n个城市访问且只访问一次的最短的一条封闭 曲线。TSP问题分为对称型和非对称型。在对称型TSP问题中,有du =d ,。,c C C1,2 ,n, dj是l ij的长度;在非对称型TSP问题中,至少存在一对0 , cj C C,使dij w打。为了模拟实际蚂蚁的行为,我们首先引入如下记号: n蚁群中蚂蚁的数量;b (t) t时刻位于城市i的蚂蚁数,m= 1 ();dij 一两城市i和j之间的距离;t ij 一边(i,j)的能见度,反映由城市i转移到城市j的启发程度,这个量在蚂蚁的运行中

17、不改变;ij (t) t时刻边(i,j)上的信息素量;”一本次迭代中边ij上的信息素增量;(t)一在t时刻蚂蚁k从城市i转移到城市j的概率; 每只蚂蚁都具有以下特性:(1)完成一次循环后,蚂蚁在其访问过的每条边上留下相应的信息素;(2)蚂蚁依据概率选择下一个将要访问的城市,这个概率是两城市间距离及连接两个城市的边上信息量的函数;(3)为了满足问题的约束条件,在完成一次循环之前,不允许蚂蚁选择己经访问过的城市 该过程由蚂蚁的禁忌表来控制。设tabuk为蚂蚁k的禁忌表,则蚂蚁在经过城市i以后,就将城市i加入到自己的禁忌表 tabuk、中,表示下次不能再选择城市 i。用tabuk(s)表示禁忌表 中

18、第s个元素,也即蚂蚁走过的第 s个城市。于是AS算法可以表述如下:在算法的初始时刻,将m只蚂蚁随机的放到 n座城市,同时, 将每只蚂蚁的禁忌表的第一个元素设置为当前它所在的城市。初始时刻,各条路径上的信息专业知识分享WORD格式可编辑素量相等,设ij (0) =C(C为一较小的常数)。然后每只蚂蚁按照各条路径上的信息素量和启,蚂蚁系统所用的状态转移规则称为随机 的转移概率 (t)为:(4.1)发式信息(两城市间的距离)独立的选择下一座城市 比例规则。在t时刻,蚂蚁k在城市i选择城市j()()(),0,其中,allowed k =1,2,,ntabuk表示蚂蚁下一步允许选择的城市。列表tabuk记录了蚂蚁k当前走过的城市。当所有n座城市都加入到tabuk中时,蚂蚁k便完成了一次周游,此时 蚂蚁k所走过的路径便是 TSP问题的一个可行解。式(4.1)中的 中j通常取城市i和城市j 之间距离的倒数。”和3分别表示信息素和启发式因子的相对重要程度。当所有蚂蚁完成 一次周游以后,各路径上的信息素根据下式更新。(4.2)1(4.3)其中(0 (t) do以概率

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论