智能算法之蚁群算法_PPT幻灯片
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算法背景
1992年,意大利学者M.Dorigo在他的博士论文中引 入蚁群算法,其灵感来源于蚂蚁在寻找食物过程中发现路 径的行为。通过对这种行为的模拟,提出来一种新型的模 拟进化算法—— 蚁群算法。目前,蚁群算法已经是群智 能理论研究领域的一种主要算法。
Macro Dorigo
A C
2
A C
3
蚁群算法原理
8
简化的蚂蚁寻食过程
假设蚂蚁每经过一处所留下的信息素为一个单位,则经过36 个时间单位后,所有开始一起出发的蚂蚁都经过不同路径从D点 取得了食物,此时ABD的路线往返了2趟,每一处的信息素为4个 单位,而 ACD的路线往返了一趟,每一处的信息素为2个单位, 其比值为2:1。
寻找食物的过程继续进行,则按信息素的指导,蚁群在ABD 路线上增派一只蚂蚁(共2只),而ACD路线上仍然为一只蚂蚁。 再经过36个时间单位后,两条线路上的信息素单位积累为12和4, 比值为3:1。
连续蚁群算法
从上面可以看出,蚁群算法比较显著的特点是: 整个算法过程更适用于离散对象问题。在算法求解 组合优化问题过程中,路径是离散和有限的路径, 蚂蚁的每一步选择都是在离散值中进行的。这一特 点使得将蚁群算法直接应用于一般常规的连续对象 优化问题存在一定的困难。
应用蚁群算法求解连续对象优化问题,目前的处理方 法大致为:
11
蚁群算法与TSP问题
TSP问题的人工蚁群算法中,假设m只蚂蚁 在图的相邻节点间移动,从而协作异步地得到 问题的解。每只蚂蚁的一步转移概率由图中的 每条边上的两类参数决定:1.信息素值,也称 信息素痕迹。2.可见度,即先验值。
信息素的更新方式有2种,一是挥发,也 就是所有路径上的信息素以一定的比率进行减 少,模拟自然蚁群的信息素随时间挥发的过程; 二是增强,给评价值“好”(有蚂蚁走过)的边 增加信息素。
表示轨迹的相对重要性
对每只蚂蚁按概率移到下一顶点 更新每个蚂蚁的个体禁忌表 信息量更新
表示能见度的相对重要性
达到最大循环次数
轨迹的持久性
ij 表示第K只蚂蚁在本次循环中留在路径ij上的输信出最息短路量径及其长度
结束
计算结果
10城市TSP问题
20城市TSP问题
Baidu Nhomakorabea算结果
30城市TSP问题
48城市TSP问题
若按以上规则继续,蚁群在ABD路线上再增派一只蚂蚁(共 3只),而ACD路线上仍然为一只蚂蚁。再经过36个时间单位后, 两条线路上的信息素单位积累为24和6,比值为4:1。
若继续进行,则按信息素的指导,最终所有的蚂蚁会放弃 ACD路线,而都选择ABD路线。这也就是前面所提到的正反馈效 应。
9
自然蚁群与人工蚁群算法
基于以上蚁群寻找食物时的最优路径选择问题,可以构造 人工蚁群,来解决最优化问题,如TSP问题。
人工蚁群中把具有简单功能的工作单元看作蚂蚁。二者的 相似之处在于都是优先选择信息素浓度大的路径。较短路径的 信息素浓度高,所以能够最终被所有蚂蚁选择,也就是最终的 优化结果。
两者的区别在于人工蚁群有一定的记忆能力,能够记忆已 经访问过的节点。同时,人工蚁群再选择下一条路径的时候是 按一定算法规律有意识地寻找最短路径,而不是盲目的。例如 在TSP问题中,可以预先知道当前城市到下一个目的地的距离。
10
蚁群算法与TSP问题
TSP问题表示为一个N个城市的有向图G=(N,A),
其中 N {1n ,A 2 } { ,,j( .|i ) .,ij. N ,}
城市之间距离 目标函数为
(d ij ) nn
n
f (w) d , il1il l1
其中 w (i1,i2, ,in为)城市1,2,…n的一个排列, in1 。i1
蚁群优化算法—参考书1
蚁群算法及其应用.李士勇.哈工大出版社 国内首部蚁群算法的专著,系统地阐述蚁群算 法的基本原理、基本蚁群算法及改进算法,蚁 群算法与遗传、免疫算法的融合,自适应蚁群 算法,并行蚁群算法,蚁群算法的收敛性与理 论模型及其在优化问题中的应用。本书可供人 工智能、计算机科学、信息科学、控制工程、 管理工程、交通工程、网络工程、智能优化算 法及智能自动化等领域的广大师生和科技人员 学习及参考。
1.将解空间的每一个分量分成许多小区间,这样整个解 空间被分成许多小多面体,将每个多面体看为一个节点, 然后用人工蚂蚁在这些节点之间行走最后找到最优解。
2.在解空间中随机生成一些蚂蚁,每个蚂蚁表示一个解, 并构成一个区域,根据蚂蚁的评价值,可将这些区域分成 优势区和劣势区,劣势区的蚂蚁会按一定概率原则向优势 区移动,直到所有蚂蚁都移动到优势区。这类处理方法我 们认为己经不是原本意义上的蚁群算法,其实质是模拟了 生态环境的一种宏观演化过程。
6
简化的蚂蚁寻食过程
蚂蚁从A点出发,速度相同,食物在D点,可能随机选
择路线ABD或ACD。假设初始时每条分配路线一只蚂蚁,
每个时间单位行走一步,本图为经过9个时间单位时
的情形:走ABD的蚂蚁到达终点,而走ACD的蚂蚁刚好
走到C点,为一半路程。
7
简化的蚂蚁寻食过程
本图为从开始算起,经过18个时间单位时的情形: 走ABD的蚂蚁到达终点后得到食物又返回了起点A, 而走ACD的蚂蚁刚好走到D点。
为了说明蚁群算法的原理,先简要介绍一下蚂蚁 搜寻食物的具体过程。在蚁群寻找食物时,它们总能 找到一条从食物到巢穴之间的最优路径。这是因为蚂 蚁在寻找路径时会在路径上释放出一种特殊的信息素。 当它们碰到一个还没有走过的路口时,就随机地挑选 一条路径前行,与此同时释放出与路径长度有关的信 息素。路径越长,释放的激索浓度越低,当后来的蚂 蚁再次碰到这个路口的时候,选择激素浓度较高路径 概率就会相对较大,这样形成一个正反馈。最优路径 上的激索浓度越来越大,而其它的路径上激素浓度却 会随着时间的流逝而消减,最终整个蚁群会找出最优 路径。
12
蚁群算法与TSP问题
蚂蚁向下一个目标的运动是通过一个随 机原则来实现的,也就是运用当前所在节点 存储的信息,计算出下一步可达节点的概率, 并按此概率实现一步移动,逐此往复,越来 越接近最优解。
蚂蚁在寻找过程中,或者找到一个解后, 会评估该解或解的一部分的优化程度,并把 评价信息保存在相关连接的信息素中。
13
蚁群算法的计算流程
开始
[ij(t)][ij]
k p (t) ij
jal l o w [iej(dt)][i j]
0
ifjallowed 初始化 otherwise Nc Nc +1
轨迹更新: i( jt n )i( jt) i( jt,t n )
Visibility: ij = 1/dij
1992年,意大利学者M.Dorigo在他的博士论文中引 入蚁群算法,其灵感来源于蚂蚁在寻找食物过程中发现路 径的行为。通过对这种行为的模拟,提出来一种新型的模 拟进化算法—— 蚁群算法。目前,蚁群算法已经是群智 能理论研究领域的一种主要算法。
Macro Dorigo
A C
2
A C
3
蚁群算法原理
8
简化的蚂蚁寻食过程
假设蚂蚁每经过一处所留下的信息素为一个单位,则经过36 个时间单位后,所有开始一起出发的蚂蚁都经过不同路径从D点 取得了食物,此时ABD的路线往返了2趟,每一处的信息素为4个 单位,而 ACD的路线往返了一趟,每一处的信息素为2个单位, 其比值为2:1。
寻找食物的过程继续进行,则按信息素的指导,蚁群在ABD 路线上增派一只蚂蚁(共2只),而ACD路线上仍然为一只蚂蚁。 再经过36个时间单位后,两条线路上的信息素单位积累为12和4, 比值为3:1。
连续蚁群算法
从上面可以看出,蚁群算法比较显著的特点是: 整个算法过程更适用于离散对象问题。在算法求解 组合优化问题过程中,路径是离散和有限的路径, 蚂蚁的每一步选择都是在离散值中进行的。这一特 点使得将蚁群算法直接应用于一般常规的连续对象 优化问题存在一定的困难。
应用蚁群算法求解连续对象优化问题,目前的处理方 法大致为:
11
蚁群算法与TSP问题
TSP问题的人工蚁群算法中,假设m只蚂蚁 在图的相邻节点间移动,从而协作异步地得到 问题的解。每只蚂蚁的一步转移概率由图中的 每条边上的两类参数决定:1.信息素值,也称 信息素痕迹。2.可见度,即先验值。
信息素的更新方式有2种,一是挥发,也 就是所有路径上的信息素以一定的比率进行减 少,模拟自然蚁群的信息素随时间挥发的过程; 二是增强,给评价值“好”(有蚂蚁走过)的边 增加信息素。
表示轨迹的相对重要性
对每只蚂蚁按概率移到下一顶点 更新每个蚂蚁的个体禁忌表 信息量更新
表示能见度的相对重要性
达到最大循环次数
轨迹的持久性
ij 表示第K只蚂蚁在本次循环中留在路径ij上的输信出最息短路量径及其长度
结束
计算结果
10城市TSP问题
20城市TSP问题
Baidu Nhomakorabea算结果
30城市TSP问题
48城市TSP问题
若按以上规则继续,蚁群在ABD路线上再增派一只蚂蚁(共 3只),而ACD路线上仍然为一只蚂蚁。再经过36个时间单位后, 两条线路上的信息素单位积累为24和6,比值为4:1。
若继续进行,则按信息素的指导,最终所有的蚂蚁会放弃 ACD路线,而都选择ABD路线。这也就是前面所提到的正反馈效 应。
9
自然蚁群与人工蚁群算法
基于以上蚁群寻找食物时的最优路径选择问题,可以构造 人工蚁群,来解决最优化问题,如TSP问题。
人工蚁群中把具有简单功能的工作单元看作蚂蚁。二者的 相似之处在于都是优先选择信息素浓度大的路径。较短路径的 信息素浓度高,所以能够最终被所有蚂蚁选择,也就是最终的 优化结果。
两者的区别在于人工蚁群有一定的记忆能力,能够记忆已 经访问过的节点。同时,人工蚁群再选择下一条路径的时候是 按一定算法规律有意识地寻找最短路径,而不是盲目的。例如 在TSP问题中,可以预先知道当前城市到下一个目的地的距离。
10
蚁群算法与TSP问题
TSP问题表示为一个N个城市的有向图G=(N,A),
其中 N {1n ,A 2 } { ,,j( .|i ) .,ij. N ,}
城市之间距离 目标函数为
(d ij ) nn
n
f (w) d , il1il l1
其中 w (i1,i2, ,in为)城市1,2,…n的一个排列, in1 。i1
蚁群优化算法—参考书1
蚁群算法及其应用.李士勇.哈工大出版社 国内首部蚁群算法的专著,系统地阐述蚁群算 法的基本原理、基本蚁群算法及改进算法,蚁 群算法与遗传、免疫算法的融合,自适应蚁群 算法,并行蚁群算法,蚁群算法的收敛性与理 论模型及其在优化问题中的应用。本书可供人 工智能、计算机科学、信息科学、控制工程、 管理工程、交通工程、网络工程、智能优化算 法及智能自动化等领域的广大师生和科技人员 学习及参考。
1.将解空间的每一个分量分成许多小区间,这样整个解 空间被分成许多小多面体,将每个多面体看为一个节点, 然后用人工蚂蚁在这些节点之间行走最后找到最优解。
2.在解空间中随机生成一些蚂蚁,每个蚂蚁表示一个解, 并构成一个区域,根据蚂蚁的评价值,可将这些区域分成 优势区和劣势区,劣势区的蚂蚁会按一定概率原则向优势 区移动,直到所有蚂蚁都移动到优势区。这类处理方法我 们认为己经不是原本意义上的蚁群算法,其实质是模拟了 生态环境的一种宏观演化过程。
6
简化的蚂蚁寻食过程
蚂蚁从A点出发,速度相同,食物在D点,可能随机选
择路线ABD或ACD。假设初始时每条分配路线一只蚂蚁,
每个时间单位行走一步,本图为经过9个时间单位时
的情形:走ABD的蚂蚁到达终点,而走ACD的蚂蚁刚好
走到C点,为一半路程。
7
简化的蚂蚁寻食过程
本图为从开始算起,经过18个时间单位时的情形: 走ABD的蚂蚁到达终点后得到食物又返回了起点A, 而走ACD的蚂蚁刚好走到D点。
为了说明蚁群算法的原理,先简要介绍一下蚂蚁 搜寻食物的具体过程。在蚁群寻找食物时,它们总能 找到一条从食物到巢穴之间的最优路径。这是因为蚂 蚁在寻找路径时会在路径上释放出一种特殊的信息素。 当它们碰到一个还没有走过的路口时,就随机地挑选 一条路径前行,与此同时释放出与路径长度有关的信 息素。路径越长,释放的激索浓度越低,当后来的蚂 蚁再次碰到这个路口的时候,选择激素浓度较高路径 概率就会相对较大,这样形成一个正反馈。最优路径 上的激索浓度越来越大,而其它的路径上激素浓度却 会随着时间的流逝而消减,最终整个蚁群会找出最优 路径。
12
蚁群算法与TSP问题
蚂蚁向下一个目标的运动是通过一个随 机原则来实现的,也就是运用当前所在节点 存储的信息,计算出下一步可达节点的概率, 并按此概率实现一步移动,逐此往复,越来 越接近最优解。
蚂蚁在寻找过程中,或者找到一个解后, 会评估该解或解的一部分的优化程度,并把 评价信息保存在相关连接的信息素中。
13
蚁群算法的计算流程
开始
[ij(t)][ij]
k p (t) ij
jal l o w [iej(dt)][i j]
0
ifjallowed 初始化 otherwise Nc Nc +1
轨迹更新: i( jt n )i( jt) i( jt,t n )
Visibility: ij = 1/dij