351 likes | 800 Views
蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30. 大纲. 1、蚁群算法简介 2、蚁群算法原理 3、自然蚁群与人工蚁群算法 4、旅行推销员( TSP )问题 5 、蚁群算法求解旅行推销员问题 6 、蚁群算法的优缺点. 1、蚁群算法简介. 蚁群算法起源. 蚁群优化(ANT COLONY OPTIMIZATION,ACO)是20世纪90年代初由意大利学者M.DORIGO等通过模拟蚂蚁的行为而提出的一种随机优化技术。最初用于求解旅行商问题,现在已经成功用于许多组合优化问题。. Macro Dorigo. 2.
E N D
大纲 1、蚁群算法简介 2、蚁群算法原理 3、自然蚁群与人工蚁群算法 4、旅行推销员(TSP)问题 5、蚁群算法求解旅行推销员问题 6、蚁群算法的优缺点
1、蚁群算法简介 蚁群算法起源 • 蚁群优化(ANT COLONY OPTIMIZATION,ACO)是20世纪90年代初由意大利学者M.DORIGO等通过模拟蚂蚁的行为而提出的一种随机优化技术。最初用于求解旅行商问题,现在已经成功用于许多组合优化问题。 Macro Dorigo 2
2、蚁群算法原理 • 在经过路径上释放一种特殊的信息素——费洛蒙; • 路径越长,费洛蒙浓度越低; • 费洛蒙浓度愈强,该路线被蚂蚁选择的机率愈大; • 若一段时间不再有蚂蚁经过该路径并贡献费洛蒙时,其费洛蒙浓度便会降低; • 最优路径上的激素浓度越来越大,最终找出最优路径。
2.1 简化的蚂蚁寻食过程 9个时间单位,走ABD的蚂蚁到达终点,走ACD的蚂蚁刚好走到C点。 18个时间单位,走ABD的蚂蚁到达终点后得到食物又返回了起点A,而走ACD的蚂蚁刚好走到D点。 36个时间单位后,ABD的路线往返了2趟,而 ACD的路线往返了一趟,两条路线费洛蒙单位比值为2:1。 按费洛蒙的指导,蚁群在ABD路线上增派一只蚂蚁(共2只),而ACD路线上仍然为一只蚂蚁。再经过36个时间单位后,两条线路上的费洛蒙单位积累为12和4,比值为3:1。
4、旅行推销员(TSP)问题 旅行推销员问题(Traveling Salesman Problem;TSP),该推销员需拜访八个城市,各城市的相对位置及彼此之间的距离(单位:公里)分别如下所示。这位推销员从城市1出发,必须拜访每个城市且仅能拜访一次,然后再回到城市1,此推销员的最佳路径为何?
5、蚁群算法求解旅行推销员问题 开发: 蚂蚁参考过去所经历的较佳路径,以获得更好的解 探索: 蚂蚁欲发现未曾尝试过的解,以避免陷入区域最佳解 控制开发与探索之相对比例的参数 状态转移法则:在开发和探索之间提供了一个平衡机制 第i只蚂蚁初次迭代的解: 迭代n的最佳解: 目前整体最佳解: 节点排序集合
5、蚁群算法基本概念 贪婪法则:ACO的蚂蚁不同于真实蚂蚁之处在于其并非全盲;除了拥有费落蒙引导外,亦可经由贪婪法则给予一个较为适当的搜寻方向。 区域费洛蒙更新:某只蚂蚁完成一个可行解后,依据此蚂蚁的路径实时更新其费洛蒙浓度,目的是避免让其他蚂蚁陷入区域最佳解。 全局费洛蒙更新:仅记录该迭代蚁群中表现最好的蚂蚁,并对其解进行费洛蒙更新,增加其行经路径的费洛蒙浓度,以给未来的蚁群适当的引导。
反复步骤: 1.建构阶段。依据以下状态转移法则一次决定一个节点,以逐步建立第n次迭代的第i只蚂蚁的解 ——节点r至u的费洛蒙量 ——节点r至u的贪婪法则的结果(TSP问题中为距离倒数) ——该只蚂蚁走至节点r时,尚未拜访城市集合 ——决定费洛蒙量与贪婪法则之相对重要性参数 S ——随机变量,一般使用罗盘法搭配以下机率分配产生
随机数, 第一只蚂蚁从城市1出发 • ,依 寻找下一城市 • , 取ru节点间距离的倒数, • 计算得 为最大值,选择城市8 • 随机数q=0.302、0.493,继续选择城市4及2
随机数,依转移法则找寻S如下 产生一个随机数,使用罗盘法则得知该随机数落于城市5的机率范围内(S = 5),因此选取城市5作为下一个拜访城市。依此类推,并将其所建构之初始解进行区域费洛蒙更新。五只蚂蚁之初始解如下表所示。
2.区域费洛蒙更新:更新第i只蚂蚁所经路径费洛蒙量如下:2.区域费洛蒙更新:更新第i只蚂蚁所经路径费洛蒙量如下: 费洛蒙蒸发比例 3.区域搜寻:寻找最佳邻近解。若,则 • 4.重复步骤1至3以建构每只蚂蚁的解。
将各蚂蚁进行邻近搜寻,此范例使用随机两点换法,产生一个邻近可行解搜寻比现行解表现较佳的途径,直到达到最大邻近解搜寻次数(n=10)为止。五只蚂蚁之较佳的邻近解如下表所示将各蚂蚁进行邻近搜寻,此范例使用随机两点换法,产生一个邻近可行解搜寻比现行解表现较佳的途径,直到达到最大邻近解搜寻次数(n=10)为止。五只蚂蚁之较佳的邻近解如下表所示
5.全局费洛蒙更新。找寻第n次迭代中表最佳的蚂蚁解,并根据以下全局费洛蒙更新机制,更新该蚂蚁行经路径所有节点间的费洛蒙浓度:5.全局费洛蒙更新。找寻第n次迭代中表最佳的蚂蚁解,并根据以下全局费洛蒙更新机制,更新该蚂蚁行经路径所有节点间的费洛蒙浓度: 为整体表现最佳解之目标值(这里为该迭代中全局最小总距离和倒数) 由上表可知,第五只蚂蚁表现最佳,其路径为1-2-4-8-6-3-7-5-1,因此增加路段的费洛蒙量。
结束步骤:若迭代数已达默认值,则停止程序。否则令结束步骤:若迭代数已达默认值,则停止程序。否则令 并回到返回步骤。本题中n=60。搜寻过程如下表:
n=20 n=60
6、蚁群算法的优缺点 • 优点 • ACO与粒子群算法(PSO)的想法皆来自于生物界个体与群集生活之社交行为。 • 属多点(多只蚂蚁)搜寻,而非单点搜寻。 • 拥有正向回馈,对表现较好的解增加其费洛蒙浓度;拥有负项回馈,对表现较差的解降低其费洛蒙浓度。 • 倾向于选择费洛蒙浓度较高的路径,能透过费落蒙传达讯息。 • 同时藉由费洛蒙量及经验法则,引导下一迭代蚁群的搜寻方向 • 缺点 • 容易陷入局部最优 • 搜索时间较长