蚁群优化算法PPT
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
k ij k 1 m
其中 ij
Q , 如果蚂蚁k在本次循环中经过路径(i,j) k ij Lk 0, 否则
Q * , 如果边(i,j)是所找出的最优解的一部分 * ij L 0, 否则
17
带精英策略的蚂蚁系统
表示精英蚂蚁引起的路径(i, j)上的信息素量的增加
6
蚁群算法原理
人工蚂蚁的模型
7
蚁群算法原理
自然蚁群与人工蚁群
相似之处在于:都是优先选择信息素浓度大的路径。 两者的区别在于: (1)人工蚁群有一定的记忆能力,能够记忆已经 访问过的节点。 (2)人工蚁群选择路径时不是盲目的,而是按一 定规律有意识地寻找最短路径。例如在TSP问题中, 可以预先知道当前城市到下一个目的地的距离。
去
人工蜂群算法 细菌觅食算法 萤火虫算法 粒子群算法 人工鱼群算法 鸟群算法
2
蚁群算法的提出
Macro Dorigo
Gambardella
3
蚁群算法的发展
2001年至今
各种改进算法的提出,应用领域更广
1996年-2001年
引起学者关注,在应用领域得到拓宽
意大利学者 Dorigo1991年 Dorigo1991年 启发
ACO首次被系统的提出
自然界中真实蚁群集体行为
4
蚁群算法原理
如何找到最短路径 ?
• 信息素:信息素多的地方显然经过这里的蚂蚁多, 因而会有更多的蚂蚁聚集过来。
• 正反馈现象:某一路径上走过的蚂蚁越多,则后来 者选择该路径的概率就越大。
类比:
大肠杆菌在人体肠道内觅食的过程
5
蚁群算法原理
自然蚂蚁的智能特点
·
当 比较小时,搜索的全局性好,但收敛速度变慢; 当 比较大时,收敛速度比较快,但是容易陷入局部最优。
13
蚁群算法参数选择
因子 和 的选取
启发式因子 的大小则反映了在蚁群路径搜索中的随机性因素作 用的强度;
启发式因子 的大小反映了在蚁群路径搜索中确定性因素作用的 强度。
k ii
其中,Q为常数,表示蚂蚁循环一次所释放的信息素总量;L为第k只蚂蚁经 过路径的长度;d为城市间的距离。。
11
蚁群算法的主要特点
采用分布式控制 每个个体只能感知局部的信息 个体可以改变环境 具有自组织性 是一类概率型的全局搜索方法 优化过程不依赖于优化问题本身的严格数学性质 是一种基于多主体(Multi-Agent)的智能算法 具有潜在的并行性
Each ant choose the next city
Move to j and modify the tabu
i++
i>=city.N
N
Y
Calculate the distance each ant walks the loop
Update pheromone between cities
N
1.Ant-cycle
Q / Lk,第k只蚂蚁从城市i访问城市j k ii 0, 其他
k ii
Q / dij,第k只蚂蚁从城市i访问城市j 2.Ant-quantity 0, 其他
Q,第k只蚂蚁从城市i访问城市j 3.Ant-density 0, 其他
8
求解组合优化问题的蚁群算法
9
基本蚁群算法
蚂蚁k(k=1,2,…,m)根据各个城市间连接路径上的信 息素浓度决定其下一个访问城市,设 Pijk t 表示t时刻蚂蚁 k从城市i转移到城市j的概率,其计算公式为:
is (t )is (t ) , s allowk Pijk (t ) is (t )is (t ) xallowk 0, s allowk
(3)
其中,Q为常数;Lk 表示第k只蚂蚁在本次迭代中走过 的路径长度。
30
Initialization
Distribute the ants, Modify the tabu
Calculate the probability of moving between cities
Number of traverse city i=1
目的:使蚂蚁的搜索主要集中在当前循环为止所找出 的最好路径领域内。 全局更新在所有蚂蚁都完成它们的路径之后执行,用 下式对所建立的路径进行更新:
(r, s) (1 ) (r, s) (r, s)
1 L , (r , s ) gb 0, 如果(r,s) 全局最优路径 否则
Lnn 是由最近的邻域启发产生的一个路径长度 市的数量,
局部更新规则可以有效地避免蚂蚁收敛到同一路径
21
Max-Min Ant System( MMAS)
信息素轨迹更新原则
在MMAS中,只有一只蚂蚁用于在每次循环后更新信息 轨迹。经修改的轨迹更新原则如下:
ij (t 1) ij (t )
轨迹量
平滑机制有助于对搜索空间进行更有效的探索
24
Max-Min Ant System( MMAS)
25
蚁群算法的应用
26
蚁群算法的应用
TSP问题
问题描述:旅行商按一定的顺序访问n个城市,使得每 个城市都被访问且仅能被访问一次而使花费代价最小, 从图论的观点来看,就是找出一个最短的封闭回路。
20
蚁群系统
蚁群系统局部更新原则
类似于蚁密和蚁量模型中的更新规则
蚂蚁应用下列局部更新规则对它们所经过的边进行信 息素更新
(r , s) (1 ) (r, s) (r, s) 其中, 0 1
0 实验发现,Biblioteka Baidu
1 可以产生好的结果,其中n是城 n L nn
Meet the requirement of the solution
Y
output
31
实现过程
32
实现过程
33
实现过程
其中,S根据下列公式得:到
ij (t ) ij (t ) , j allowed k k is (t ) is (t ) P ij (t ) sallowed k otherwise 0,
19
蚁群系统
蚁群系统全局更新原则
只有全局最优的蚂蚁才被允许释放信息素。
TSP在许多工程领域具有广泛的应用价值,例如电路板 布线、机器人控制、交通路由等。 TSP的求解是NP-hard问题。随着城市数目的增多,问题 空间将呈指数级增长
27
蚁群系统在TSP问题中的应用
28
蚁群算法求解TSP问题
下面以TSP为例说明基本蚁群算法模型。
首先将m只蚂蚁随机放置在n个城市,位于城市i的第k 只蚂蚁选择下一个城市j的概率为:
29
蚁群算法求解TSP问题
当所有蚂蚁完成周游后,按以下公式进行信息素更新。
ij (t n) ij (t ) ij
ij
k 1 m k ij
(2)
其中,ρ 为小于1的常数,表示信息的持久性。
Q k ij Lk 0
ij l k otherwise
是精英蚂蚁的个数 L 是所找出的最优解的路径长度 特点:
可以使蚂蚁系统找出更优的解 找到这些解的时间更短
精英蚂蚁过多会导致搜索早熟收敛
18
蚁群系统
蚁群系统的状态转移规则
一只位于节点r的蚂蚁通过应用下式给出的规则选择 下一个将要移动到的城市s:
arg max {[ ( r , u )] [ ( r , u )] }, 如果q q0按先验知识选择路径 uallowedk s S , 否则
m in ij ( t ) m a x
m a x ij
(t )
t
ti
i 1
1 f ( s opt )
min 的选取要基于两点假设:1.最优解在搜索停滞发 生之前不久被找出。2.对解构造的主要影响是由信息素 轨迹的上限与下限之间的相对差异决定
23
Max-Min Ant System( MMAS)
bestij
bestij
1 f ( s best )
表示迭代最优解或全局最优解的值。
在蚁群算法中主要使用全局最优解,而在MMAS中则主 要使用迭代最优解。
22
Max-Min Ant System( MMAS)
信息素轨迹的限制
min MMAS对信息素轨迹的最小值和最大值分别施加了 和 max 的限制,从而使得对所有信息素轨迹 ,有
较强的鲁棒性
·
需要较长的搜索时间 容易出现停滞现
分布式计算 易于与其他方法结合
15
带精英策略的蚂蚁系统
带精英策略的蚂蚁系统(Ant System with elitist strategy,
ASelite)是最早的改进蚂蚁系统。
遗传算法中的精英策略
– 传统的遗传算法可能会导致最适应个体的遗传信息丢失 – 精英策略的思想是保留住一代中的最适应个体
12
蚁群算法参数选择
蚁群数量m的选择
子集越大信息正反馈的作用不明显,搜索的随机性增强,造成收 敛速度变慢; 反之,子集越小,搜索的随机性减弱,虽然收敛速度较快,但是 会使算法的全局性能降低,影响算法的稳定性。
信息素挥发度 的选取
信息素挥发度 的大小对蚁群算法的收敛性能影响极大;
信息素轨迹的平滑化
基本思想:通过增加选择有着低强度信息素轨迹量解 元素的概率以提高探索新解的能力
* ij (t ) ij (t ) ( max (t ) ij (t ))
* 其中,0 1, ij (t )和 ij (t )分别为平滑化之前和之后的信息素
信息更新公式为:
ij (t 1) (1 ) ij (t ) ij n ,0 1 k ij ii k 1
10
基本蚁群算法
针对蚂蚁释放信息素问题,M.Dorigo等人曾给出3中 不同的模型,分别为蚁周系统、蚁量系统和蚁密系统, 其计算公式如下:
总信息量Q的选取
总信息量Q越大,可以加强蚁群搜索时的正反馈性能,有助于算 法的快速收敛。
蚂蚁的初始分布
所有蚂蚁初始时刻放在同一个城市; 蚂蚁分布在不同的城市中。
14
蚁群算法时间复杂度及优缺点
M.Dorigo曾经对经典的TSP问题求解复杂度进 行过深入的研究,所得到的经验结果表明,算法 的时间复杂度为O(NC·n2·m),NC表示迭代次数, n表示城市数,m则表示参与搜索的蚂蚁数量。当 参与搜索的蚂蚁数量m大致与规模大小n相等时, 算法的时间复杂度变为O(NC·n3)
蚂蚁系统中的精英策略
– 每次循环之后给予最优解以额外的信息素量 – 这样的解被称为全局最优解(global-best solution) – 找出这个解的蚂蚁被称为精英蚂蚁(elitist ants)
16
带精英策略的蚂蚁系统
信息素根据下式进行更新
* ij (t 1) ij (t ) ij ij
蚁群优化算法
Ant Colony Optimization
算法介绍
• 群智能算法
群智能是一种由简单智能的个体通过某种形式的聚集协同而表现出智能行 为。它在没有集中控制,不提供全局模型的前提下寻找复杂的分布式问题求解 方案提供了基础。群智能算法通过模仿生物界的进化机理和群体协作行为而提 出的仿生类随机搜索算法。
[ (i, j )] [ (i, j )] , if j tabuk P k (i, j ) [ (i, s )] [ (i, s)] stabuk otherwise 0 ,
(1)
(i, j ) 1/ d (i, j ) 是 (i, j) 表示边(i,j)上的信息素浓度; 启发信息,d是城市i和j之间的距离;α 和β 反映了信息 tabuk 表示蚂蚁k已经访问过 素与启发信息的相对重要性; 的城市列表。
其中 ij
Q , 如果蚂蚁k在本次循环中经过路径(i,j) k ij Lk 0, 否则
Q * , 如果边(i,j)是所找出的最优解的一部分 * ij L 0, 否则
17
带精英策略的蚂蚁系统
表示精英蚂蚁引起的路径(i, j)上的信息素量的增加
6
蚁群算法原理
人工蚂蚁的模型
7
蚁群算法原理
自然蚁群与人工蚁群
相似之处在于:都是优先选择信息素浓度大的路径。 两者的区别在于: (1)人工蚁群有一定的记忆能力,能够记忆已经 访问过的节点。 (2)人工蚁群选择路径时不是盲目的,而是按一 定规律有意识地寻找最短路径。例如在TSP问题中, 可以预先知道当前城市到下一个目的地的距离。
去
人工蜂群算法 细菌觅食算法 萤火虫算法 粒子群算法 人工鱼群算法 鸟群算法
2
蚁群算法的提出
Macro Dorigo
Gambardella
3
蚁群算法的发展
2001年至今
各种改进算法的提出,应用领域更广
1996年-2001年
引起学者关注,在应用领域得到拓宽
意大利学者 Dorigo1991年 Dorigo1991年 启发
ACO首次被系统的提出
自然界中真实蚁群集体行为
4
蚁群算法原理
如何找到最短路径 ?
• 信息素:信息素多的地方显然经过这里的蚂蚁多, 因而会有更多的蚂蚁聚集过来。
• 正反馈现象:某一路径上走过的蚂蚁越多,则后来 者选择该路径的概率就越大。
类比:
大肠杆菌在人体肠道内觅食的过程
5
蚁群算法原理
自然蚂蚁的智能特点
·
当 比较小时,搜索的全局性好,但收敛速度变慢; 当 比较大时,收敛速度比较快,但是容易陷入局部最优。
13
蚁群算法参数选择
因子 和 的选取
启发式因子 的大小则反映了在蚁群路径搜索中的随机性因素作 用的强度;
启发式因子 的大小反映了在蚁群路径搜索中确定性因素作用的 强度。
k ii
其中,Q为常数,表示蚂蚁循环一次所释放的信息素总量;L为第k只蚂蚁经 过路径的长度;d为城市间的距离。。
11
蚁群算法的主要特点
采用分布式控制 每个个体只能感知局部的信息 个体可以改变环境 具有自组织性 是一类概率型的全局搜索方法 优化过程不依赖于优化问题本身的严格数学性质 是一种基于多主体(Multi-Agent)的智能算法 具有潜在的并行性
Each ant choose the next city
Move to j and modify the tabu
i++
i>=city.N
N
Y
Calculate the distance each ant walks the loop
Update pheromone between cities
N
1.Ant-cycle
Q / Lk,第k只蚂蚁从城市i访问城市j k ii 0, 其他
k ii
Q / dij,第k只蚂蚁从城市i访问城市j 2.Ant-quantity 0, 其他
Q,第k只蚂蚁从城市i访问城市j 3.Ant-density 0, 其他
8
求解组合优化问题的蚁群算法
9
基本蚁群算法
蚂蚁k(k=1,2,…,m)根据各个城市间连接路径上的信 息素浓度决定其下一个访问城市,设 Pijk t 表示t时刻蚂蚁 k从城市i转移到城市j的概率,其计算公式为:
is (t )is (t ) , s allowk Pijk (t ) is (t )is (t ) xallowk 0, s allowk
(3)
其中,Q为常数;Lk 表示第k只蚂蚁在本次迭代中走过 的路径长度。
30
Initialization
Distribute the ants, Modify the tabu
Calculate the probability of moving between cities
Number of traverse city i=1
目的:使蚂蚁的搜索主要集中在当前循环为止所找出 的最好路径领域内。 全局更新在所有蚂蚁都完成它们的路径之后执行,用 下式对所建立的路径进行更新:
(r, s) (1 ) (r, s) (r, s)
1 L , (r , s ) gb 0, 如果(r,s) 全局最优路径 否则
Lnn 是由最近的邻域启发产生的一个路径长度 市的数量,
局部更新规则可以有效地避免蚂蚁收敛到同一路径
21
Max-Min Ant System( MMAS)
信息素轨迹更新原则
在MMAS中,只有一只蚂蚁用于在每次循环后更新信息 轨迹。经修改的轨迹更新原则如下:
ij (t 1) ij (t )
轨迹量
平滑机制有助于对搜索空间进行更有效的探索
24
Max-Min Ant System( MMAS)
25
蚁群算法的应用
26
蚁群算法的应用
TSP问题
问题描述:旅行商按一定的顺序访问n个城市,使得每 个城市都被访问且仅能被访问一次而使花费代价最小, 从图论的观点来看,就是找出一个最短的封闭回路。
20
蚁群系统
蚁群系统局部更新原则
类似于蚁密和蚁量模型中的更新规则
蚂蚁应用下列局部更新规则对它们所经过的边进行信 息素更新
(r , s) (1 ) (r, s) (r, s) 其中, 0 1
0 实验发现,Biblioteka Baidu
1 可以产生好的结果,其中n是城 n L nn
Meet the requirement of the solution
Y
output
31
实现过程
32
实现过程
33
实现过程
其中,S根据下列公式得:到
ij (t ) ij (t ) , j allowed k k is (t ) is (t ) P ij (t ) sallowed k otherwise 0,
19
蚁群系统
蚁群系统全局更新原则
只有全局最优的蚂蚁才被允许释放信息素。
TSP在许多工程领域具有广泛的应用价值,例如电路板 布线、机器人控制、交通路由等。 TSP的求解是NP-hard问题。随着城市数目的增多,问题 空间将呈指数级增长
27
蚁群系统在TSP问题中的应用
28
蚁群算法求解TSP问题
下面以TSP为例说明基本蚁群算法模型。
首先将m只蚂蚁随机放置在n个城市,位于城市i的第k 只蚂蚁选择下一个城市j的概率为:
29
蚁群算法求解TSP问题
当所有蚂蚁完成周游后,按以下公式进行信息素更新。
ij (t n) ij (t ) ij
ij
k 1 m k ij
(2)
其中,ρ 为小于1的常数,表示信息的持久性。
Q k ij Lk 0
ij l k otherwise
是精英蚂蚁的个数 L 是所找出的最优解的路径长度 特点:
可以使蚂蚁系统找出更优的解 找到这些解的时间更短
精英蚂蚁过多会导致搜索早熟收敛
18
蚁群系统
蚁群系统的状态转移规则
一只位于节点r的蚂蚁通过应用下式给出的规则选择 下一个将要移动到的城市s:
arg max {[ ( r , u )] [ ( r , u )] }, 如果q q0按先验知识选择路径 uallowedk s S , 否则
m in ij ( t ) m a x
m a x ij
(t )
t
ti
i 1
1 f ( s opt )
min 的选取要基于两点假设:1.最优解在搜索停滞发 生之前不久被找出。2.对解构造的主要影响是由信息素 轨迹的上限与下限之间的相对差异决定
23
Max-Min Ant System( MMAS)
bestij
bestij
1 f ( s best )
表示迭代最优解或全局最优解的值。
在蚁群算法中主要使用全局最优解,而在MMAS中则主 要使用迭代最优解。
22
Max-Min Ant System( MMAS)
信息素轨迹的限制
min MMAS对信息素轨迹的最小值和最大值分别施加了 和 max 的限制,从而使得对所有信息素轨迹 ,有
较强的鲁棒性
·
需要较长的搜索时间 容易出现停滞现
分布式计算 易于与其他方法结合
15
带精英策略的蚂蚁系统
带精英策略的蚂蚁系统(Ant System with elitist strategy,
ASelite)是最早的改进蚂蚁系统。
遗传算法中的精英策略
– 传统的遗传算法可能会导致最适应个体的遗传信息丢失 – 精英策略的思想是保留住一代中的最适应个体
12
蚁群算法参数选择
蚁群数量m的选择
子集越大信息正反馈的作用不明显,搜索的随机性增强,造成收 敛速度变慢; 反之,子集越小,搜索的随机性减弱,虽然收敛速度较快,但是 会使算法的全局性能降低,影响算法的稳定性。
信息素挥发度 的选取
信息素挥发度 的大小对蚁群算法的收敛性能影响极大;
信息素轨迹的平滑化
基本思想:通过增加选择有着低强度信息素轨迹量解 元素的概率以提高探索新解的能力
* ij (t ) ij (t ) ( max (t ) ij (t ))
* 其中,0 1, ij (t )和 ij (t )分别为平滑化之前和之后的信息素
信息更新公式为:
ij (t 1) (1 ) ij (t ) ij n ,0 1 k ij ii k 1
10
基本蚁群算法
针对蚂蚁释放信息素问题,M.Dorigo等人曾给出3中 不同的模型,分别为蚁周系统、蚁量系统和蚁密系统, 其计算公式如下:
总信息量Q的选取
总信息量Q越大,可以加强蚁群搜索时的正反馈性能,有助于算 法的快速收敛。
蚂蚁的初始分布
所有蚂蚁初始时刻放在同一个城市; 蚂蚁分布在不同的城市中。
14
蚁群算法时间复杂度及优缺点
M.Dorigo曾经对经典的TSP问题求解复杂度进 行过深入的研究,所得到的经验结果表明,算法 的时间复杂度为O(NC·n2·m),NC表示迭代次数, n表示城市数,m则表示参与搜索的蚂蚁数量。当 参与搜索的蚂蚁数量m大致与规模大小n相等时, 算法的时间复杂度变为O(NC·n3)
蚂蚁系统中的精英策略
– 每次循环之后给予最优解以额外的信息素量 – 这样的解被称为全局最优解(global-best solution) – 找出这个解的蚂蚁被称为精英蚂蚁(elitist ants)
16
带精英策略的蚂蚁系统
信息素根据下式进行更新
* ij (t 1) ij (t ) ij ij
蚁群优化算法
Ant Colony Optimization
算法介绍
• 群智能算法
群智能是一种由简单智能的个体通过某种形式的聚集协同而表现出智能行 为。它在没有集中控制,不提供全局模型的前提下寻找复杂的分布式问题求解 方案提供了基础。群智能算法通过模仿生物界的进化机理和群体协作行为而提 出的仿生类随机搜索算法。
[ (i, j )] [ (i, j )] , if j tabuk P k (i, j ) [ (i, s )] [ (i, s)] stabuk otherwise 0 ,
(1)
(i, j ) 1/ d (i, j ) 是 (i, j) 表示边(i,j)上的信息素浓度; 启发信息,d是城市i和j之间的距离;α 和β 反映了信息 tabuk 表示蚂蚁k已经访问过 素与启发信息的相对重要性; 的城市列表。