蚁群算法概述ACO
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在众多NP-难度的组合优化问题的应用中,当蚁群优化算法与局部搜索相结合时,算法表现出来的性能最好,局部搜索算法局部地优化蚂蚁构建的解,这些经局部优化的解将在信息更新步骤中使用。在ACO算法中使用局部搜索算法,两者能够相互补充。两者的结合可以有效地提高蚂蚁构建的解得质量。
蚁群算法收敛速度慢、易陷入局部最优。蚁群算法中初始信息素匮乏。蚁群算法一般需要较长的搜索时间,其复杂度可以反映这一点;而且该方法容易出现停滞现象,即搜索进行到一定程度后,所有个体发现的解完全一致,不能对解空间进一步进行搜索,不利于发现更好的解。(群体智能算法的主要特点是个体之间可以交互信息,从而提高全局搜索能力,但同时陷入局部最优是群体智能算法都可能存在的问题。所以现在遗传和蚁群的文章中,有提利用其全局能力强去解决问题的,也有提易陷入局部最优的,从而去改进的)。下面是几篇综述文章中的说法。段海滨是南航毕业的博士,现在北航,写了本蚁群算法的书,蚁群算法他在国内算是做的比较多的。
虽然算法具有分布式并行机制、易于与其他算法相结合、具有鲁棒性等优点,但搜索时间长、易陷入局部最优是其突出缺点[段海滨,王道波,朱家强.蚁群算法理论及应用研究进展[J].控制与决策,2004,19(12):1321—1326,134]
近年来,国内外学者在蚁群算法的模型改进和应用方面做了大量的工作,其共同目的是在合理时间复杂度的限制条件下,尽可能提高蚁群算法在一定空间复杂度下的寻优能力,从而改善蚁群算法的全局收敛性,并拓宽蚁群算法的应用领域[段海滨.蚁群算法原理及其应用[M].北京:科学出版社,2005]
目前对蚁群算法的研究,不仅有算法意义上的研究,还有从仿真模型角度的研究,并且不断有学者提出对蚁群算法的改进方案:有的将蚁群算法与遗传算法相结合,有的给蚁群系统加入变异特征,还有的提出所谓最大最小蚁群算法(MMAS) . 应当指出,现阶段对蚁群算法的研究还只是停留在仿真阶段,尚未能提出一个完善的理论分析,对它的有效性也没有给出严格的数学解释. 但是,从以前模糊控制所碰到的情
况看,理论上的不完善并不妨碍应用,有时应用还会超前于理论,并推动理论研究,蚁群算法也是如此.( 忻斌健, 汪镭, 吴启迪,蚁群算法的研究现状和应用及
蚂蚁智能体的硬件实现,同济大学学报,,2002,30(1).)
蚁群与其他算法的融合策略:
(1)针对蚁群算法初始信息素匮乏的缺点,采用其他算法生成初始信息素分布,利用蚁群算法求精确解,从而提高时间效率和求解精度。(使用的其他算法的求解结果以什么规则转换成蚁群算法的信息素初值,需要通过多次实验)
(2)将其他算法(如遗传算法)引入到蚁群算法系统的每次迭代过程中。以蚁群系统每一代形成的解作为其他算法的初始种群,然后经过其他算法的多次迭代,试图寻找更好的解,从而加快蚁群系统的收敛速度,提高求解速率。
(3)蚁群算法中α,β的选取往往是通过经验来取得的,而选取不当时会造成算法的性能大大降低,因此可以利用其他算法对蚁群系统参数α,β进行训练。
(4)对于蚁群算法出现过早收敛于非全局最优解以及时间过长的缺点,可以通过使用蚁群算法进行搜索,然后用其他算法对蚁群算法得到的有效路由路径,通过选择、交叉、变异等优化
过程,产生性能更优的下一代群体。
(5)PSO算法由于局部寻优能力较差,因此可以在搜索过程中融入确定性局部搜索算法。
禁忌搜索(TS)算法具有强大的全局优化性能,但其局部搜索性能易受分散性的影响; 由于TS算法具有灵活的记忆功能和藐视准则,并且在搜索过程中可以接受劣解,所以具有较强的“爬山”能力,搜索时能够跳出局部最优解,转向解空间的其他区域,从而增强获得全局最优的能力。蚁群最优(ACO)算法的正反馈机制使其具有强大的局部搜索性能,但其全局优化性能的优劣在很大程度上与蒸发系数的选择有关,如选择得不合适易使算法陷于局部最优。禁忌搜索算法是针对局部邻域搜索在优化过程中容易陷人局部极小解而无法保证全局优化的问题而提出的。它是一种确定性的局部极小突变策略。基本思想是,在搜索过程中标记搜索到的局部最优解的对象,并在进一步的搜索过程中尽量避开这些对象,从而保证有不同的有效搜索路径。首先在解空间范围内选取某个初始值,根据解空间的大小来决定其邻域的大小以及邻域元素,在找到某个较优解时作一定的标记,同时采用一定的特赦规则,以释放某些被禁忌的解。特赦规则在函数目标较小的情况下可以迅速使当前解向最终解靠拢。(我在07年那个会议论文和多目标文章中,也都是在遗传陷入局部最优时,使用禁忌搜索使一部分个体跳出其邻域,群体多样性增强),如果准备采用两阶段的算法结合法时,我觉得可以先用蚁群,可能陷入局部最优,在用禁忌搜索对其结果进一步搜索,禁忌搜索时可以从多个初始解(蚁群得到的较优解)出发。禁忌搜索算法是邻域搜索的改进,具有很好的局部能力。
另外在求解某些大规模问题时,ACO可能会遇到蚂蚁在构建解的过程中,邻域很大,大范围的邻域意味着蚂蚁将要面临的可能移动选择比较多,使得算法的计算时间大幅度增加,可以采用禁忌搜索的候选列表方法,禁忌一些移动选择,从而设计更有效率的候选列表策略。
近年来,国内外学者在蚁群算法的模型改进和应用方面做了大量的工作,其共同目的是在合理时间复杂度的限制条件下,尽可能提高蚁群算法在一定空间复杂度下的寻优能力,从而改善蚁群算法的全局收敛性,并拓宽蚁群算法的应用领域[1]。蚁群算法是一种概率搜索算法,从数学上对其正确性与可靠性进行证明比确定性算法困难。自w.J.Gutjahr最先从有向图论的角度对一种改进蚁群算法的收敛性进行理论证明至今,人们在其收敛性研究方面已经取得了相当丰富的理论研究成果,但是这些理论成果基本上都是针对一些改进蚁群算法的理论分析,例如w.J.Gutjahr[2 3]对一类GBAS,GBAS/tdev及GBAS/tdlb算法的收敛性进行了证明,T.Sttlezle和M.Dorigo[4]对ACO(gb,r.min)算法的收敛性进行了理论证明,孙焘等对一类简单蚁群算法的收敛性作了初步研究[5],丁建立等对一种遗传(蚁群算法的收敛性进行了Markov理论分析[7],Y.H.Hou等[7]基于不动点理论对一类GACA的收敛性进行
了初步研究,等等,这些证明并没有把对蚁群算法的理论分析统一到一个共同的框架内.