蚁群算法求解TSP的基本思想(共10页).doc
《蚁群算法求解TSP的基本思想(共10页).doc》由会员分享,可在线阅读,更多相关《蚁群算法求解TSP的基本思想(共10页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上Ch9 蚁群算法9.1生物学知识1、蚁群算法(Ant Colony Algorithm ,ACA)是由意大利M. Dorigo等人于1990到2000发展起来的,模拟进化算法。模拟了自然界蚂蚁群体的觅食行为。2、蚁群社会在昆虫世界中,蚂蚁的组成是一种群居的蓼袭大家庭,称为蚁群。蚁群中除了亲缘上的互助关系外,成蚁划分为世袭制的蚁王和工蚁两个等级,蚁群的大小从几十个到几千万个,蚁群具有高度组织的社会性,彼此间的沟通不仅可以借助触觉的的联系,在大规模的协调行动上,借助外激素之类的生化信息介质。其中每个工蚁具有如下的职能:平时在巢穴附近作无规则行走;一旦发现食物,如果独自能搬
2、的就往回搬,否则就回巢穴搬兵;一路上它会留下外激至少的嗅迹,其强度与食物的品质和数量成正比;其他工蚁遇到嗅迹,就会循迹前进,也会有一定的走失率(选择其他路径),走失率与嗅迹的强度成反比。蚁群的行为表现出一种信息正反馈的现象;某一路径上走过的蚂蚁越多,则后来选择该路径的概率就大,蚂蚁个体间就是通过这种信息的交流达到搜索食物的目的。3、蚁群觅食过程意大利学者M. Dorigo是最早发现蚂蚁的觅食习性的,蚂蚁总能找到巢穴与食物源之间的最短路径。蚂蚁在寻找食物源后,会在其经过的路径上释放一种信息素,并能够感知其他蚂蚁释放的信息素。当某些路径上走过的蚂蚁越来越多时,留下的信息素也会越来越多,以致后蚂蚁选
3、择该路径的概率也越来越高,从而更增加了该路径的吸引强度,逐渐形成了一条它们自己事先并未意识到的最短路线。蚂蚁会以较大的概率优先选择信息素浓度较高的路径,并释放一定量的信息素,以增强该条路径的信息素的浓度,形成一个正反馈。路径上的信息浓度会随时间的推进,而不断挥发,从而不断降低,这似乎也是变异。9.2ACA算法的基本思想30(0.5,0)(0.5,0)(1,0)(1,0)ABCD30 1515(0.5,30)(0.5,30)(1,15)(1,15)ABCD30左图表示初始状态中,在结点A与C有30只蚂蚁,线上的数字(1,0)表示距离为1,信息素为0。此时每条边上的信息素均为0,故蚂蚁按随机行走,
4、A、C出发时,走两边的概率相等。单位时间后,A出发的蚂蚁,15只达到了B、15只经D到达C。C出发的蚂蚁,15只达到了,15只经D到达了A,如右上图所示。各边的信息素如右图所示,A-B有15只蚂蚁走过,留下的信息素是15个单位,C-B也是15只蚂蚁,留下的信息素也是15,此时到B的蚂蚁是15+15=30只。A-D-C的蚂蚁是15只,C-D-A的也是15只,故该条较短路线上的信息素为30个单位。蚂蚁再往前走:A点:由于A-B的信息素是15个单位,A-D是30单位,故A-D的蚂蚁数是A-B的2倍,因此A-B的蚂蚁5只,A-D是10只C点:C-B是5只,C-D是10只B点:B-A是15只,B-C是1
5、5只单位时间后:A点:10+15=25C点:10+15=25B点:5+5=10信息素:A-B为15+15+5=35,C-B为15+15+5=35,A-D=30+10+10=50,C-D为30+10+10=501515(0.5,30)(0.5,30)(1,15)(1,15)ABCD30 2525(0.5,50)(0.5,50)(1,35)(1,35)ABCD10再出发A点:A-B方向=25*35/85=10 A-D方向为15只。 两边各占0.41:0.59C点:C-B是10只,C-D是15只B点:B-A是5只,B-C是5只单位时间后:A点:5+15=20C点:5+15=20B点:10+10=20
6、信息素:A-B为35+10+5=50,C-B为35+5+10=50,A-D=50+15+15=80,C-D为50+15+15=802020(0.5,80)(0.5,80)(1,50)(1,50)ABCD20 2424(0.5,108)(0.5,108)(1,66)(1,66)ABCD12再出发 50/130=0.46 80/130=0.54A点:A-B方向=20*50/130=6 A-D方向为14只。C点:C-B是6只,C-D是14只B点:B-A是10只,B-C是10只单位时间后:A点:10+14=24C点:10+14=24B点:6+6=12信息素:A-B为50+6+10=66,C-B为50+
7、6+10=66,A-D=80+14+14=108,C-D为80+14+14=108两边浓度比为 66/174=0.38 108/174=0.629.3优缺点优点:(1)蚁群算法是一种分布式内在并行算法。单个蚂蚁的搜索过程是彼此独立的,易于局部最优,通过个体间不断的信息交流和传递有利于发现较好解。(2)蚁群算法是一种正反馈算法。路径上的信息素浓度较高,将吸引更多的蚂蚁沿这条路径运动,又使得信息素浓度增加,加快了算法的进化过程。(3)蚁群算法具有较强的自适应性,对其模型稍做修改,可应用于其他问题。(4)易于其他方法组合,以改善算法的效率。缺点: (1)需要较长时间搜索。主要是因为各蚂蚁的运动是随机
8、的,当群体规模稍大时,需要很长时间才能收敛。(2)易出现停滞现象,早熟现象。9.4蚁群算法的研究进展1、20世纪90年代 意大利Dorigo、Maniezzo等人提出该算法。2、1999年,Dorigo提出了蚁群优化(Ant Colony Optimization)的通用框架。3、2002年8月,出版蚁群优化算法的特刊。4、从1998年起,每隔二年在比利时的布鲁塞尔举行一次蚁群算法的国际会议。5、涉及到领域有生物学、物理学、工程学、计算机科学。6、Bichev和parmee提出了求解连续空间的蚁群算法模型。7、2004年李士勇等 蚁群算法的专著8、2005年段海滨蚁群算法原理及应用专著9、20
9、06年吴启迪 智能蚁群算法及应用9.5蚁群算法求解TSP的基本思想1、基本参数、信息素浓度公式、择路概率设蚂蚁的数量为m,城市的数量为n,城市i与城市j之间的距离为dij,t时刻城市i与城市j之间的信息素浓度为tij(t),初始时刻,各个城市间连接路径上的信息素浓度相同,不妨记为tij(0)=t0.蚂蚁k(k=1,2,.,m)根据各城市间连接路径上的信息素浓度,决定其下一个要访问的城市,设Pijk(t)表示t时刻,蚂蚁k从城市i到城市j的概率,其计算公式为如下:其中:hij(t)为启发式函数,hij(t)=1/dij,表示蚂蚁从城市i转移到城市j的期望程序allowk(k=1,2,m)表示蚂蚁
10、k待访问的城市的集合,开始时allowk为其他n-1城市,随着时间推进,其中的元素不断减少,直至为空,表示所有城市访问完,即遍历所有城市。a为信息素的重要程度因子,其值越大,转移中起的作用越大b为启发函数的重要程度因子,其值越大,表示启发函数在转移中的作用越大,即蚂蚁以较大的概率转移到距离短的城市。蚂蚁释放的信息素会随时间的推进而减少,设参数r(0r1)表示信息素的挥发度,当所有蚂蚁完成一次循环后,各个城市间连接路径上的信息素浓度,需要实时更新。tij(t+1)=(1-r)tij(t)+Dtij,Dtij=其中:Dtijk表示蚂蚁k在城市i与城市j的连接路径上,释放的信息素浓度Dtij表示所有
11、蚂蚁在城市i与城市j的连接路径上,释放的信息素浓度。2、Dtijk的计算方法Dorigo曾给出了3种不同的模型,分别如下:(1)ant cycle systemDtijk=其中:Q为常数,表示蚂蚁循环一次释放的信息素的总量dij为第k只蚂蚁经过路径的长度,Length一般选用该模型(2)ant quantity systemDtijk=其中:Q为常数,表示蚂蚁循环一次释放的信息素的总量dij为城市i到城市j的距离。(3)ant density systemDtijk=其中:Q为常数,表示蚂蚁循环一次释放的信息素的总量9.6蚁群算法解决TSP问题的基本步骤1、初始化参数蚂蚁数量m,信息素重要程度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 求解 TSP 基本 思想 10
限制150内