赞
踩
- 蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。
- 它能够求出从原点出发,经过若干个给定的需求点,最终返回原点的最短路径。这也就是著名的旅行商问题(Traveling Saleman Problem,TSP)。
- 蚁群算法是一种模拟进化算法
- 应用进展以蚁群算法为代表的蚁群智能已成为当今分布式人工智能研究的一个热点,许多源于蜂群和蚁群模型设计的算法己越来越多地被应用于企业的运转模式的研究。
- 多年来世界各地研究工作者对蚁群算法进行了精心研究和应用开发,该算法现已被大量应用于数据分析、机器人协作问题求解、电力、通信、水利、采矿、化工、建筑、交通等领域。
- 蚁群优化算法最初用于解决TSP问题,经过多年的发展,已经陆续渗透到其他领域中,比如图着色问题、大规模集成电路设计、通讯网络中的路由问题以及负载平衡问题、车辆调度问题等。蚁群算法在若干领域己获得成功的应用,其中最成功的是在组合优化问题中的应用
蚂蚁在行走过程中会释放一种称为“信息素”的物质,用来标识自己的行走路径。
在寻找食物的过程中,根据信息素的浓度选择行走的方向,并最终到达食物所在的地方。
信息素会随着时间的推移而逐渐挥发。
例:下图为蚂蚁觅食过程图,现有两只蚂蚁均在A点,食物在B点。途中从A到B有两条路径(即A->B和A->C->B),假设两只蚂蚁速度相同,两只蚂蚁释放的信息素浓度相同,且图中三角形为等边三角形。那么在t0时刻,蚂蚁1沿ACB出发,蚂蚁2沿AB出发。当到t1时刻后,蚂蚁1到达C点,蚂蚁2到达B点(食物)。此时AC路径和AB路径的信息素浓度相同,且蚂蚁1将继续从C到B爬行,蚂蚁2则从B到A返回。当到t2时刻后,蚂蚁1到达B点(食物),蚂蚁2到达A点。此时发现AB路径的信息素浓度是BC路段的2倍,因此当蚂蚁1想要返回A点后,它不会再选择沿BCA原路返回,而是选择信息素浓度高的BA路径返回。这样持续下去,AB路径上的信息素浓度会越来越高,后面的蚂蚁都会选择AB路径来获取食物,从而找到了获取食物的最短路径。
初始化(各个参数): 在计算之初需要对相关的参数进行初始化,如蚂蚁数量m、信息素因子α、启发函数因子β、信息素挥发因子ρ、信息素常数Q、最大迭代次数t等等。
构建解空间: 将各个蚂蚁随机地放置于不同的出发点,对每个蚂蚁k(k=1,2,……,m),计算其下一个待访问的城市,直到所有蚂蚁访问完所有的城市。
更新信息素: 计算各个蚂蚁经过的路径长度L,记录当前迭代次数中的最优解(最短路径)。同时,对各个城市连接路径上的信息素浓度进行更新。
判断是否终止: 若迭代次数小于最大迭代次数则迭代次数加一,清空蚂蚁经过路径的记录表,并返回步骤二;否则终止计算,输出最优解。
下图是蚁群算法的整体流程图:
参数名称 | 参数意义 | 参数设置过大 | 参数设置过小 |
---|---|---|---|
蚂蚁数量m | 蚂蚁数量一般设置为目标数的1.5倍较为稳妥 | 每条路径上信息素趋于平均,正反馈作用减弱,从而导致收敛速度减 | 可能导致一些从未搜索过的路径信息素浓度减小为0,导致过早收敛,解的全局最优性降低 |
信息素常量Q | 信息素常量根据经验一般取值在[10,1000] | 会使蚁群的搜索范围减小容易过早的收敛,使种群陷入局部最优 | 每条路径上信息含量差别较小,容易陷入混沌状态 |
最大迭代次数t | 最大迭代次数一般取[100,500],建议取200 | 运算时间过长 | 可选路径较少,使种群陷入局部最优。 |
信息素因子ɑ | 反映了蚂蚁运动过程中路径上积累的信息素的量在指导蚁群搜索中的相对重要程度。取值范围通常在[1, 4]之间。 | 蚂蚁选择以前已经走过的路可能性较大,容易使随机搜索性减弱 | 蚁群易陷入纯粹的随机搜索,使种群陷入局部最优 |
启发函数因子 声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/441379 推荐阅读 相关标签 Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。 |