蚁群算法详细讲解幻灯片.ppt
《蚁群算法详细讲解幻灯片.ppt》由会员分享,可在线阅读,更多相关《蚁群算法详细讲解幻灯片.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、蚁群算法详细讲解第1页,共81页,编辑于2022年,星期二2第2页,共81页,编辑于2022年,星期二3第3页,共81页,编辑于2022年,星期二1.1 蚁群优化算法概述n1.1.1 起源n1.1.2 应用领域n1.1.3 研究背景n1.1.4 研究现状n1.1.5 应用现状4第4页,共81页,编辑于2022年,星期二1.1.1 蚁群优化算法起源 20世纪50年代中期创立了仿生学,人们从生物进化的机理中受到启发。提出了许多用以解决复杂优化问题的新方法,如进化规划、进化策略、遗传算法等,这些算法成功地解决了一些实际问题。20世纪90年代意大利学者MDorigo,VManiezzo,AColorn
2、i等从生物进化的机制中受到启发,通过模拟自然界蚂蚁搜索路径的行为,提出来一种新型的模拟进化算法 蚁群算法,是群智能理论研究领域的一种主要算法。用该方法求解TSP问题、分配问题、job-shop调度问题,取得了较好的试验结果虽然研究时间不长,但是现在的研究显示出,蚁群算法在求解复杂优化问题(特别是离散优化问题)方面有一定优势,表明它是一种有发展前景的算法5第5页,共81页,编辑于2022年,星期二1.1.2 蚁群优化算法应用领域 这种方法能够被用于解决大多数优化问题或者能够转化为优化求解的问题。现在其应用领域已扩展到多目标优化、数据分类、数据聚类、模式识别、电信QoS管理、生物系统建模、流程规划
3、、信号处理、机器人控制、决策支持以及仿真和系统辩识等方面,群智能理论和方法为解决这类应用问题提供了新的途径。6第6页,共81页,编辑于2022年,星期二2.1.3 蚁群优化算法研究背景 1/3 群智能理论研究领域有两种主要的算法:蚁群算法(Ant Colony Optimization,ACO)和微粒群算法(Particle Swarm Optimization,PSO)。前者是对蚂蚁群落食物采集过程的模拟,已成功应用于许多离散优化问题。微粒群算法也是起源于对简单社会系统的模拟,最初是模拟鸟群觅食的过程,但后来发现它是一种很好的优化工具。7第7页,共81页,编辑于2022年,星期二1.1.3
4、蚁群优化算法研究背景 2/3与大多数基于梯度的应用优化算法不同,群智能依靠的是概率搜索算法。虽然概率搜索算法通常要采用较多的评价函数,但是与梯度方法及传统的演化算法相比,其优点还是显著的,主要表现在以下几个方面:1 无集中控制约束,不会因个别个体的故障影响整个问题 的求解,确保了系统具备更强的鲁棒性 2 以非直接的信息交流方式确保了系统的扩展性 3 并行分布式算法模型,可充分利用多处理器 4 对问题定义的连续性无特殊要求 5 算法实现简单 8第8页,共81页,编辑于2022年,星期二1.1.3 蚁群优化算法研究背景 3/3 群智能方法易于实现,算法中仅涉及各种基本的数学操作,其数据处理过程对C
5、PU和内存的要求也不高。而且,这种方法只需目标函数的输出值,而无需其梯度信息。已完成的群智能理论和应用方法研究证明群智能方法是一种能够有效解决大多数全局优化问题的新方法。更为重要是,群智能潜在的并行性和分布式特点为处理大量的以数据库形式存在的数据提供了技术保证。无论是从理论研究还是应用研究的角度分析,群智能理论及其应用研究都是具有重要学术意义和现实价值的。9第9页,共81页,编辑于2022年,星期二1.1.4 蚁群优化算法研究现状 1/7 90年代Dorigo最早提出了蚁群优化算法-蚂蚁系统(Ant System,AS)并将其应用于解决计算机算法学中经典的旅行商问题(TSP)。从蚂蚁系统开始,
6、基本的蚁群算法得到了不断的发展和完善,并在TSP以及许多实际优化问题求解中进一步得到了验证。这些AS改进版本的一个共同点就是增强了蚂蚁搜索过程中对最优解的探索能力,它们之间的差异仅在于搜索控制策略方面。而且,取得了最佳结果的ACO是通过引入局部搜索算法实现的,这实际上是一些结合了标准局域搜索算法的混合型概率搜索算法,有利于提高蚁群各级系统在优化问题中的求解质量。10第10页,共81页,编辑于2022年,星期二1.1.4蚁群优化算法研究现状 2/7 最初提出的AS有三种版本:Ant-density、Ant-quantity和Ant-cycle。在Ant-density和Ant-quantity中
7、蚂蚁在两个位置节点间每移动一次后即更新信息素,而在Ant-cycle中当所有的蚂蚁都完成了自己的行程后才对信息素进行更新,而且每个蚂蚁所释放的信息素被表达为反映相应行程质量的函数。通过与其它各种通用的启发式算法相比,在不大于75城市的TSP中,这三种基本算法的求解能力还是比较理想的,但是当问题规模扩展时,AS的解题能力大幅度下降。因此,其后的ACO研究工作主要都集中于AS性能的改进方面。较早的一种改进方法是精英策略(Elitist Strategy),其思想是在算法开始后即对所有已发现的最好路径给予额外的增强,并将随后与之对应的行程记为Tgb(全局最优行程),当进行信息素更新时,对这些行程予以
8、加权,同时将经过这些行程的蚂蚁记为“精英”,从而增大较好行程的选择机会。这种改进型算法能够以更快的速度获得更好的解。但是若选择的精英过多则算法会由于较早的收敛于局部次优解而导致搜索的过早停滞。11第11页,共81页,编辑于2022年,星期二1.1.4蚁群优化算法研究现状 3/7 为了进一步克服AS中暴露出的问题,提出了蚁群系统(Ant Colony System,ACS)。该系统的提出是以Ant-Q算法为基础的。Ant-Q将蚂蚁算法和一种增强型学习算法Q-learning有机的结合了起来。ACS与AS之间存在三方面的主要差异:首先,ACS采用了更为大胆的行为选择规则;其次,只增强属于全局最优解
9、的路径上的信息素。其中,01是信息素挥发参数,是从寻路开始到当前为止全局最优的路径长度。12第12页,共81页,编辑于2022年,星期二1.1.4蚁群优化算法研究现状 4/7 再次,还引入了负反馈机制,每当一只蚂蚁由一个节点移动到另一个节点时,该路径上的信息素都按照如下公式被相应的消除一部分,从而实现一种信息素的局部调整,以减小已选择过的路径再次被选择的概率。13第13页,共81页,编辑于2022年,星期二1.1.4蚁群优化算法研究现状 5/7 在对AS进行直接完善的方法中,MAX-MIN Ant System是一个典型代表。该算法修改了AS的信息素更新方式,每次迭代之后只有一只蚂蚁能够进行信
10、息素的更新以获取更好的解。为了避免搜索停滞,路径上的信息素浓度被限制在MAX,MIN 范围内,另外,信息素的初始值被设为其取值上限,这样有助于增加算法初始阶段的搜索能力。14第14页,共81页,编辑于2022年,星期二1.1.4蚁群优化算法研究现状 6/7 另一种对AS改进的算法是Rank-based Version AS。与“精英策略”相似,在此算法中总是更新更好进程上的信息素,选择的标准是其行程长度 决定的排序,且每个蚂蚁放置信息素的强度通过下式中的排序加权处理确定,其中,为每次迭代后放置信息素的蚂蚁总数。15第15页,共81页,编辑于2022年,星期二1.1.4蚁群优化算法研究现状 7/
11、7 这种算法求解TSP的能力与AS、精英策略AS、遗传算法和模拟退火算法进行了比较。在大型TSP问题中(最多包含132座城市),基于AS的算法都显示出了优于GA和SA的特性。而且在Rank-based AS和精英策略AS均优于基本AS的同时,前者还获得了比精英策略AS更好的解。16第16页,共81页,编辑于2022年,星期二1.1.5 蚁群优化算法应用现状 1/5 随着群智能理论和应用算法研究的不断发展,研究者已尝试着将其用于各种工程优化问题,并取得了意想不到的收获。多种研究表明,群智能在离散求解空间和连续求解空间中均表现出良好的搜索效果,并在组合优化问题中表现突出。蚁群优化算法并不是旅行商问
12、题的最佳解决方法,但是它却为解决组合优化问题提供了新思路,并很快被应用到其它组合优化问题中。比较典型的应用研究包括:网络路由优化、数据挖掘以及一些经典的组合优化问题。17第17页,共81页,编辑于2022年,星期二1.1.5 蚁群优化算法应用现状 2/5 蚁群算法在电信路由优化中已取得了一定的应用成果。HP公司和英国电信公司在90年代中后期都开展了这方面的研究,设计了蚁群路由算法(Ant Colony Routing,ACR)。每只蚂蚁就像蚁群优化算法中一样,根据它在网络上的经验与性能,动态更新路由表项。如果一只蚂蚁因为经过了网络中堵塞的路由而导致了比较大的延迟,那么就对该表项做较大的增强。同
13、时根据信息素挥发机制实现系统的信息更新,从而抛弃过期的路由信息。这样,在当前最优路由出现拥堵现象时,ACR算法就能迅速的搜寻另一条可替代的最优路径,从而提高网络的均衡性、负荷量和利用率。目前这方面的应用研究仍在升温,因为通信网络的分布式信息结构、非稳定随机动态特性以及网络状态的异步演化与ACO的算法本质和特性非常相似。18第18页,共81页,编辑于2022年,星期二1.1.5 蚁群优化算法应用现状 3/5 基于群智能的聚类算法起源于对蚁群蚁卵的分类研究。Lumer和Faieta将Deneubourg提出将蚁巢分类模型应用于数据聚类分析。其基本思想是将待聚类数据随机地散布到一个二维平面内,然后将
14、虚拟蚂蚁分布到这个空间内,并以随机方式移动,当一只蚂蚁遇到一个待聚类数据时即将之拾起并继续随机运动,若运动路径附近的数据与背负的数据相似性高于设置的标准则将其放置在该位置,然后继续移动,重复上述数据搬运过程。按照这样的方法可实现对相似数据的聚类。19第19页,共81页,编辑于2022年,星期二1.1.5 蚁群优化算法应用现状 4/5 ACO还在许多经典组合优化问题中获得了成功的应用,如二次规划问题(QAP)、机器人路径规划、作业流程规划、图着色(Graph Coloring)等问题。经过多年的发展,ACO已成为能够有效解决实际二次规划问题的几种重要算法之一。AS在作业流程计划(Job-shop
15、 Scheduling)问题中的应用实例已经出现,这说明了AS在此领域的应用潜力。利用MAX-MIN AS解决PAQ也取得了比较理想的效果,并通过实验中的计算数据证明采用该方法处理PAQ比较早的SA算法更好,且与禁忌搜索算法性能相当。利用ACO实现对生产流程和特料管理的综合优化,并通过与遗传、模拟退火和禁忌搜索算法的比较证明了ACO的工程应用价值。20第20页,共81页,编辑于2022年,星期二1.1.5 蚁群优化算法应用现状 5/5 许多研究者将ACO用于了武器攻击目标分配和优化问题、车辆运行路径规划、区域性无线电频率自动分配、Bayesian networks的训练和集合覆盖等应用优化问题
16、。Costa和Herz还提出了一种AS在规划问题方面的扩展应用图着色问题,并取得了可与其他启发式算法相比的效果。21第21页,共81页,编辑于2022年,星期二1.2 蚁群优化算法概念1.2.1 蚁群算法原理1.2.2 简化的蚂蚁寻食过程1.2.3 自然蚁群与人工蚁群算法1.2.4 蚁群算法与TSP问题1.2.5 初始的蚁群优化算法基于图的蚁群系统(GBAS)1.2.6 一般蚁群算法的框架22第22页,共81页,编辑于2022年,星期二1.2.1 蚁群算法原理 蚁群算法是对自然界蚂蚁的寻径方式进行模似而得出的一种仿生算法。蚂蚁在运动过程中,能够在它所经过的路径上留下一种称之为外激素(phero
17、mone)的物质进行信息传递,而且蚂蚁在运动过程中能够感知这种物质,并以此指导自己的运动方向,因此由大量蚂蚁组成的蚁群集体行为便表现出一种信息正反馈现象:某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大。为了说明蚁群算法的原理,先简要介绍一下蚂蚁搜寻食物的具体过程。在蚁群寻找食物时,它们总能找到一条从食物到巢穴之间的最优路径。这是因为蚂蚁在寻找路径时会在路径上释放出一种特殊的信息素。当它们碰到一个还没有走过的路口时就随机地挑选一条路径前行。与此同时释放出与路径长度有关的信息素。路径越长,释放的激索浓度越低.当后来的蚂蚁再次碰到这个路口的时候选择激素浓度较高路径概率就会相对较大。这样形成
18、一个正反馈。最优路径上的激索浓度越来越大而其它的路径上激素浓度却会随着时间的流逝而消减。最终整个蚁群会找出最优路径。23第23页,共81页,编辑于2022年,星期二1.2.2 简化的蚂蚁寻食过程 1/3蚂蚁从A点出发,速度相同,食物在D点,可能随机选择路线ABD或ACD。假设初始时每条分配路线一只蚂蚁,每个时间单位行走一步,本图为经过9个时间单位时的情形:走ABD的蚂蚁到达终点,而走ACD的蚂蚁刚好走到C点,为一半路程。24第24页,共81页,编辑于2022年,星期二1.2.2 简化的蚂蚁寻食过程 2/3本图为从开始算起,经过18个时间单位时的情形:走ABD的蚂蚁到达终点后得到食物又返回了起点
19、A,而走ACD的蚂蚁刚好走到D点。25第25页,共81页,编辑于2022年,星期二1.2.2 简化的蚂蚁寻食过程 3/3 假设蚂蚁每经过一处所留下的信息素为一个单位,则经过36个时间单位后,所有开始一起出发的蚂蚁都经过不同路径从D点取得了食物,此时ABD的路线往返了2趟,每一处的信息素为4个单位,而 ACD的路线往返了一趟,每一处的信息素为2个单位,其比值为2:1。寻找食物的过程继续进行,则按信息素的指导,蚁群在ABD路线上增派一只蚂蚁(共2只),而ACD路线上仍然为一只蚂蚁。再经过36个时间单位后,两条线路上的信息素单位积累为12和4,比值为3:1。若按以上规则继续,蚁群在ABD路线上再增派
20、一只蚂蚁(共3只),而ACD路线上仍然为一只蚂蚁。再经过36个时间单位后,两条线路上的信息素单位积累为24和6,比值为4:1。若继续进行,则按信息素的指导,最终所有的蚂蚁会放弃ACD路线,而都选择ABD路线。这也就是前面所提到的正反馈效应。26第26页,共81页,编辑于2022年,星期二1.2.3 自然蚁群与人工蚁群算法 基于以上蚁群寻找食物时的最优路径选择问题,可以构造人工蚁群,来解决最优化问题,如TSP问题。人工蚁群中把具有简单功能的工作单元看作蚂蚁。二者的相似之处在于都是优先选择信息素浓度大的路径。较短路径的信息素浓度高,所以能够最终被所有蚂蚁选择,也就是最终的优化结果。两者的区别在于人
21、工蚁群有一定的记忆能力,能够记忆已经访问过的节点。同时,人工蚁群再选择下一条路径的时候是按一定算法规律有意识地寻找最短路径,而不是盲目的。例如在TSP问题中,可以预先知道当前城市到下一个目的地的距离。27第27页,共81页,编辑于2022年,星期二1.2.4 蚁群算法与TSP问题 1/3TSP问题表示为一个N个城市的有向图G=(N,A),其中城市之间距离目标函数为 ,其中 为城市1,2,n的一个排列,。28第28页,共81页,编辑于2022年,星期二1.2.4 蚁群算法与TSP问题 2/3 TSP问题的人工蚁群算法中,假设m只蚂蚁在图的相邻节点间移动,从而协作异步地得到问题的解。每只蚂蚁的一步
22、转移概率由图中的每条边上的两类参数决定:1 信息素值 也称信息素痕迹。2 可见度,即先验值。信息素的更新方式有2种,一是挥发,也就是所有路径上的信息素以一定的比率进行减少,模拟自然蚁群的信息素随时间挥发的过程;二是增强,给评价值“好”(有蚂蚁走过)的边增加信息素。29第29页,共81页,编辑于2022年,星期二1.2.4 蚁群算法与TSP问题 3/3 蚂蚁向下一个目标的运动是通过一个随机原则来实现的,也就是运用当前所在节点存储的信息,计算出下一步可达节点的概率,并按此概率实现一步移动,逐此往复,越来越接近最优解。蚂蚁在寻找过程中,或者找到一个解后,会评估该解或解的一部分的优化程度,并把评价信息
23、保存在相关连接的信息素中。30第30页,共81页,编辑于2022年,星期二1.2.5 初始的蚁群优化算法基于图的蚁群系统(GBAS)1/12初始的蚁群算法是基于图的蚁群算法,graph-based ant system,简称为GBAS,是由Gutjahr W J在2000年的Future Generation Computing Systems提出的,课本的参考文献2。算法步骤如下:STEP 0 对n个城市的TSP问题,城市间的距离矩阵为 ,给TSP图中的每一条弧 赋信息素初值 ,假设m只蚂蚁在工作,所有蚂蚁都从同一城市 出发。当前最好解是。31第31页,共81页,编辑于2022年,星期二1.
24、2.5 初始的蚁群优化算法基于图的蚁群系统(GBAS)2/12STEP 1 (外循环)如果满足算法的停止规则,则停止计算并输出计算得到的最好解。否则使蚂蚁s从起点 出发,用 表示蚂蚁s行走的城市集合,初始 为空集,。STEP 2 (内循环)按蚂蚁 的顺序分别计算。当蚂蚁在城市i,若 完成第s只蚂蚁的计算。否则,若,则以概率,到达j,;若则到达重复STEP 2。32第32页,共81页,编辑于2022年,星期二1.2.5 初始的蚁群优化算法基于图的蚁群系统(GBAS)3/12STRP 3 对 ,若 ,按 中城市的顺序计算路径程度;若 ,路径长度置为一个无穷大值(即不可达)。比较m只蚂蚁中的路径长度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 详细 讲解 幻灯片
限制150内