蚁群算法PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
k 1
基本蚁群算法
针对蚂蚁释放信息是问题,M.Dorigo等人曾给出3中不同的模型, 分别为蚁周系统、蚁量系统和蚁密系统,其计算公式如下:
1.蚁周系统模型
k ii
Q 0,
/ Lk,第k只蚂蚁从城市i访问城市j 其他
2.蚁量系统模型
k ii
Q / dij,第k只蚂蚁从城市i访问城市j
0,
其他
3.蚁密系统模型
max (1 n Pbest )
(avg 1) n Pbest
信息素轨迹的初始化
在第一次循环后所有信息素轨迹与max (1) 相一致 通过选择对这种类型的轨迹初始化来增加在算法的
第一次循环期间对新解的探索
当将信息素轨迹初始化为 max 时,选择概率将增加
得更加缓慢 实验表明,将初始值设为 (1) max可以改善最大-
信息素轨迹的限制
在 决一于个 m选in和择点m上ax 选择相应解元素的概率Pdec直接取
Pdec
max
max (avg 1) min
在每个选择点上蚂蚁需在avg=n/2个解元素中选择
蚂蚁构造最优解,需作n次正确的决策
P P n
dec
best
min
max (1 Pdec )
(avg 1)Pdec
3.最大-最小蚂蚁系统
蚁群算法将蚂蚁的搜索行为集中到最优解的附近可以提高解的质 量和收敛速度,从而改进算法的性能。但这种搜索方式会使早熟 收敛行为更容易发生。 MMAS能将这种搜索方式和一种能够有效避 免早熟收敛的机制结合在一起,从而使算法获得最优的性能
基本蚁群算法
蚂蚁k(k=1,2,…,m)根据各个城市间连接路径上的信息素浓度决
边作为移动方向
蚁群系统全局更新规则
只有全局最优的蚂蚁才被允许释放信息素 目的:使蚂蚁的搜索主要集中在当前循环为止所找
出的最好路径的领域内 全局更新在所有蚂蚁都完成它们的路径之后执行,
使用下式对所建立的路径进行更新
(r, s) (1) (r, s) (r, s)
(r,
s)
1 Lgb
k ii
Q,第k只蚂蚁从城市i访问城市j
0,
其他
蚁群系统
蚁群系统(Ant Colony System, ACS)是由 Dorigo和Gambardella在1996年提出的
蚁群系统做了三个方面的改进:
状态转移规则为更好更合理地利用新路径和利用关于问 题的先验知识提供了方法
全局更新规则只应用于最优的蚂蚁路径上
信息素轨迹的限制
MMAS对信息素轨迹的最小值和最大值分别施加
了 min 和 max 的限制,从而使得对所有信息素轨
迹ij (t),有
min ij (t ) max
MMAS收敛:在每个选择点上,其中一个解元素
上的轨迹量为 max,而所有其他可选择的解元素上
的轨迹量为 min。
若MMAS收敛,通过始终选择信息素量最大的解 元素所构造的解将与算法找出的最优解相一致
最大-最小蚂蚁系统
MMAS和AS主要有三个方面不同:
为了充分利用循环最优解和到目前为止找出的最优 解,在每次循环之后,只有一只蚂蚁进行信息素更 新。这只蚂蚁可能是找出当前循环中最优解的蚂蚁, 也可能是找出从实验开始以来最优解的蚂蚁
为避免搜索的停滞,在每个解的元素上的的信息素 轨迹量的值域范围被限制在 [ min , max ] 区间内
将信息素轨迹初始化为 max
信息素轨迹更新
在MMAS中,只有一只蚂蚁用于在每次循环后更新 信息轨迹
经修改的轨迹更新规则如下:
ij (t 1) ij (t) bestij
bestij 1 f (sbest )
f (sbest ) 表示迭代最优解或全局最优解的值 在蚁群算法中主要使用全局最优解,而在MMAS中
在建立问题解决方案的过程中,应用局部信息素更新规 则
蚁群系统状态转移规则
一只位于节点r的蚂蚁通过应用下式给出的规则选 择下一个将要移动到的城市s
s
arg
max {[
uallowedk
(r, u)]
[(r, u)]
}, 如果q
q0按先验知识选择路径
S , 否则
其中,S根据下列公式得到
Pijk (t)
ij
(t
)
ij
(t
)
is
(t
)
is
sallowedk
(t)
,
j allowedk
0,
otherwise
蚁群系统状态转移规则
q是在[0,1]区间均匀分布的随机数 q0的大小决定了利用先验知识与探索新路径
之间的相对重要性。 上述状态转移规则被称为伪随机比例规则 特点:倾向于选择短的且有着大量信息素的
蚂蚁如何找到最短路径
信息素:信息素多的地方显然经过这里的蚂蚁多, 因而会有更多的蚂蚁聚集过来。
正反馈现象:某一路径上走过的蚂蚁越多,则后来 者选择该路径的概率就越大。
蚁群算法的基本思想
当蚂蚁沿着一条路到达终点以后会马上返回来,这样,短的路蚂 蚁来回一次的时间就短,这也意味着重复的频率就快,因而在单 位时间里走过的蚂蚁数目就多,洒下的信息素自然也会多,自然 会有更多的蚂蚁被吸引过来,从而洒下更多的信息素……;而长的 路正相反,因此,越来越多地蚂蚁聚集到较短的路径上来,最短 的路径就近似找到了。
,
0,
如果(r,s) 全局最优路径 否则
蚁群系统全局更新规则
为信息素挥发参数,0< <1
Lgb为到目前为止找出的全局最优路径
全局更新规则的另一个类型称为迭代最优
区别:使用 Lib代替Lgb,Lib 为当前迭代(循环)中的最优路径 长度
这两种类型对蚁群系统性能的影响差别很小,全局最优 的性能要稍微好一些
,
if j tabuk
(1)
stabuk
0 ,
otherwise
其中: (i, j) 表示边(i,j)上的信息素浓度; (i, j) 1/ d(i, j) 是启发信息,d是城市i和j之间的距离; α和β反映了信息素与启发信息的相对重要性; tabuk 表示蚂蚁k已经访问过的城市列表。
20城市TSP问题
蚁群系统在TSP问题中的应用
30城市TSP问题
48城市TSP问题
TSP问题的数学描述
TSP问题表示为一个N个城市的有向图G=(N,A),其中
N {1,2,...,n} A {(i, j) | i, j N}
城市之间距离
(d ij ) nn
目标函数为
n
f (w)
d ilil1
最小蚂蚁系统的性能
信息素轨迹的平滑化
基本思想:通过增加选择有着低强度信息素轨迹量 解元素的概率以提高探索新解的能力
*ቤተ መጻሕፍቲ ባይዱij
(t)
ij
(t)
(
max
(t)
ij
(t
))
其中,0
1,
ij
(t
)和
* ij
(t)分别为平滑化之前和之后的信息素
轨迹量
平滑机制有助于对搜索空间进行更有效的探索
TSP问题
旅行商问题(TSP,traveling salesman problem )1960年首先提出。
我国最早研究蚁群算法的是东北大学的张纪会博士 和徐心和教授。
意义
蚁群算法
是一种很有发展 前景的优化算法
蚁群算法是一种基于 种群的启发式搜索算 法 。蚁群算法广泛应 用于求解TSP问题, Job-Shop调度问题, 二次指派问题,背包 问题等。
有学者通过对比实 验发现,在组合优 化问题中,蚁群算 法的优化性能要好 于遗传算法等算法 。
l 1
其中, w (i1, i2 ,, in )
,为城市1,2,…n的
一个排列, in1 i1 。
蚁群算法求解TSP问题
下面以TSP为例说明基本蚁群算法模型。
首先将m只蚂蚁随机放置在n个城市,位于城市i的第k只蚂蚁选择 下一个城市j的概率为:
Pk
(i,
j)
[ (i, j)] [(i, j)] [ (i, s)] [(i, s)]
尽管蚁群优化的严格理论基础尚未奠定,国内外的有关研究仍 停留在实验探索阶段,但从当前的应用效果来看,这种新型的寻 优思想无疑是具有十分光明的前景更多深入细致的工作还有待于 进一步展开。
什么是蚁群算法
蚁群算法(ant colony optimization, ACO),又 称蚂蚁算法,是一种用来在图中寻找优化路径的机 率型算法。它由Marco Dorigo于1992年在他的博 士论文中提出,其灵感来源于蚂蚁在寻找食物过程 中发现路径的行为。
长度
局部更新规则可以有效地避免蚂蚁收敛到同一路径
最大-最小蚂蚁系统
蚁群算法将蚂蚁的搜索行为集中到最优解的 附近可以提高解的质量和收敛速度,从而改 进算法的性能。但这种搜索方式会使早熟收 敛行为更容易发生
最大-最小蚂蚁系统(Max-Min Ant System, MMAS)能将这种搜索方式和一种能够有效避 免早熟收敛的机制结合在一起,从而使算法 获得最优的性能
蚁群系统局部更新规则
类似于蚁密和蚁量模型中的更新规则
蚂蚁应用下列局部更新规则对它们所经过的边进行 激素更新
(r, s) (1 ) (r, s) (r, s)
其中,为一个参数,0 1
实验发现,0 市的数量,Lnn
1
是n 由Lnn最可近以的产邻生域好启的发结产果生,的其一中个n路是径城
定其下一个访问城市,设Pijk(t)表示t时刻蚂蚁k从城市i转移到城市 j的概率,其计算公式为:
Pijk
(t
)
is
(t
)is
(t
)
, s allowk
is
(t
)is
(t
)
xallowk
0, s allowk
信息更新公式为:
ij
(t
ij
1) (1
n
k ii
)ij
(t)
ij
,0
国内外研究现状
对蚁群算法的研究虽然刚刚起步,但初步的研究结果已显示出该 算法在求解复杂优化问题(特别是离散优化问题)方面的优越性。 蚁群算法正在受到越来越多的人的研究和注意,应用范围已由当 初单一的TSP领域渗透到了多个应用领域。
从当前可以检索到的文献情况看,研究和应用蚁群优化算法的 学者主要集中在比利时,意大利,英国,法国和德国等欧洲国家。 日本和美国在这两年也开始启动对蚁群算法的研究。目前,蚁群 优化算法在启发式方法范畴内已逐渐成为一个独立的分支。
背景
从自然界中蚁群的的觅食行为中受启发,M Dorigo 于20世纪90年代处提出了蚁群系统。针对该算法的 不足,一些学者提出了许多改进的蚁群优化算法, 如蚁群系统,最大-最小蚂蚁系统,最优保留蚁群 系统等。近年来,一些学者提出了蚁群优化元启发 式这一求解复杂问题的统一框架,这一框架为蚁群 优化算法的理论研究和设计提供了技术上的保障。
则主要使用迭代最优解
信息素轨迹的限制
不管是选择迭代最优还是全局最优蚂蚁来进 行信息素更新,都可能导致搜索的停滞。
停滞现象发生的原因:在每个选择点上一个 选择的信息素轨迹量明显高于其他的选择。
避免停滞状态发生的方法:影响用来选择下 一解元素的概率,它直接依赖于信息素轨迹 和启发信息。通过限制信息素轨迹的影响, 可以很容易地避免各信息素轨迹之间的差异 过大。
基本蚁群算法以及改进算法
1.基本蚁群算法
蚂蚁系统是最早的蚁群优化算法。蚂蚁算法在解决一些小规模的 TSP问题时的表现尚可令人满意。但随着问题规模的扩大,蚂蚁 系统很难在可接受的循环次数内找出最优解。
2.蚁群系统
蚁群系统做了三个方面的改进:状态转移规则为更好更合理地利用 新路径和利用关于问题的先验知识提供了方法;全局更新规则只应 用于最优的蚂蚁路径上;在建立问题解决方案的过程中,应用局部 信息素更新规则。
问题描述: 一商人去n个城市销货,所有城市走一遍再回到 起点,使所走路程最短。
TSP在许多工程领域具有广泛的应用价值 例如电路板布线、VLSI芯片设计、机器人控制、交 通路由等。
TSP的求解是NP-hard问题。随着城市数目的增多, 问题空间将呈指数级增长。
蚁群系统在TSP问题中的应用
10城市TSP问题
信息素轨迹的限制
max 的选取
t
maxij (t )
ti
i 1
1 f (sopt )
其中,f(sopt )为对于一个具体问题的最优解
渐进的最大值估计通过使用f(sgb)代替f(sopt )来实现
min的选取要基于两点假设
最优解在搜索停滞发生之前不久被找出
对解构造的主要影响是由信息素轨迹的上限与下限之间 的相对差异决定
蚁群算法及其应用
一
算法的背景与意义
二
国内外研究现状
三
研究内容与方法
四
蚁群算法的应用
五
预期结果
背景
2001年至今
各种改进算法的提出,应用领域更广
1996年-2001年
意大利学者 Dorigo1991年
引起学者关注,在应用领域得到拓宽
ACO首次被系统的提出
启发
自然界中真实蚁群集体行为
Macro Dorigo