蚁群优化算法
2.3 蚂蚁系统理论
AS算法(蚂蚁圈版本)对TSP的求解流程主要有两大步骤:路径构建和信息素更新
1.路径构建
定义5.1 AS中的随机比例规则:对每只蚂蚁k,路径记忆向量R K 按照访问 顺序记录了所有k已经经过的城市序号。设蚂蚁k当前所在的城市为i,则其选择 城市j作为下一个访问对象的概率为:
(i, j) (i, j) , j Jk i Pijk (i, j) (i, u) (i, u) uJ k i 其他 0,
两种构建方式,对于蚂蚁系统来说是等价的,因为他们都 没有明显地改变算法的行为特征。对于其他ACO算法而言 这两种方法就不等价了,例如:ACS算法。
3.1 精华蚂蚁系统
提出背景:
当城市的规模较大时,问题的复杂度呈指数级增长,仅靠AS系统 中这样一个基础单一的信息素更新机制引导搜索偏向,搜索效率有瓶 颈。能否用一张“额外手段”强化某些最可能成为最有路径的边,让 蚂蚁搜索的范围更快、更正确地收敛呢?
2.3 蚂蚁系统理论
2.信息素更新
初始化时: =m / C
0 nn
i, j (1 ) i, j k i, j
k 1
1 C k i, j k 0
m
i , j R k
否则
m是蚂蚁的个数, C nn是由贪婪算法构造的路径的长度。 是信息素的蒸发率,规定 0 1 通常设置为 =0.5 i, j 是第k只蚂蚁在它经过的边上释放的信息素量; Ck 表示路径的长度,它是 R 中所有边的长度和。
Q / Lk,第k只蚂蚁从城市i访问城市j k ii 0, 其他
2.蚂蚁数量
Q / dij,第k只蚂蚁从城市i访问城市j 0, 其他 3.蚂蚁密度
k ii
Q,第k只蚂蚁从城市i访问城市j k ii 0, 其他 其中,Q为常数,表示蚂蚁循环一次所释放的信息素总量; L为第k只蚂蚁经过路径的长度。d为城市间的距离。
2
信息素挥发因子较小,算法具有较高的全 局搜索能力,但是由于每个路径的信息素 浓度差距拉大较慢,算法收敛速度较慢。
3
=0.5 ;基于排列的蚂蚁系 对于AS和EAS, 统, =0.02 ;ACS, =0.1 ,算法 =0.1 ;MMAS, 的综合性能提高。
2.3 蚂蚁系统理论
参数设置
3.2 基于排列蚂蚁系统
提出背景:
在EAS提出后,有没有更好的一种信息素更新方式,它同样使 T 各边的信息浓度得到加强,且对其余各边的信息素更新机制亦有改善?
b b
基于排列的蚂蚁系统就是这样的一种改进版本,在每一轮所有蚂蚁 构建完路径后,将按照所得路径的长度进行排名,只有生成了至今 最优路径的蚂蚁和排名在前(w-1)的蚂蚁才允许释放信息素,蚂 蚁在边(i,j)上释放的信息素的权值由蚂蚁的排名决定。
2
蚂蚁数目过少时,算法的探索能力变差, 容易出现早熟现象。特别是当问题的规模 很大时,算法的全局寻优能力会十分糟糕
3
在用蚂蚁系统、精华蚂蚁系统、基于排列 的蚂蚁系统和最大最小蚂蚁系统求解TSP 时,m取值等于城市数目时有较好性能。
2.3 蚂蚁系统理论
参数设置
1
信 息 素 挥 发 因 子
信息素挥发因子较大,信息素挥发速率大 ,从未被蚂蚁选择过的边上信息素急剧减 少到接近0,降低算法的全局探索能力。
1.1 基本原理
(1)蚂蚁没有发育完全的视 A 觉感知系统,其在寻找食物的 过程中是如何选择路径的呢? (2)蚂蚁往往像军队般有纪 律、有秩序地搬运食物,它们 通过什么方式进行群体间的交 流协作呢?
信息素
信息素是一种化学物质,由蚂蚁自身释放,是实现蚁群内 间接通信的物质。蚂蚁随机选择路径,但是能感知当前地 面上的信息素浓度,并倾向于往信息素浓度高的方向前进。
k
k
2.3 蚂蚁系统理论
参数设置
参数 参数的意义
蚂蚁数目m
影响着算法的搜素能力和计算量
信息素挥发因子
影响蚂蚁个体之间相互影响的强弱,关系到算 法的全局搜索能力和收敛速度
初始信息素量 0
决定算法在初始化阶段的探索能力,影响算法 的收敛速度
2.3 蚂蚁系统理论
参数设置
1 蚂 蚁 数 目
蚂蚁数目过多,迭代的计算量大且被搜索 过的路径上信息素变化比较平均,此时全 局搜索能力增强,但收敛速度减慢
其中, J i 表示从城市i可以直接到达的且又不在蚂蚁访问过的城市序列 i, j 是一个启发式信息,通常由 i, j =1/ d 直接计算。 R 中的城市集合。 i, j 表示边 i, j 上的信息量
k
k ij
2.3 蚂蚁系统理论
1.路径构建
(i, j) (i, j) , j Jk i Pijk (i, j) (i, u) (i, u) uJ k i 其他 0,
1
初 始 信 息 素 量
初始信息素量太小,未被蚂蚁选择过的边 上信息素太少,蚂蚁很快就全部集中在一 条局部最优的路径上,算法易早熟。
2
初始信息素太大,信息素对搜索方向的引 导能力增长十分缓慢,算法收敛慢。
3
=(e+m) / C ; 对于AS =m / C ;EAS, AS , =0.5r(r-1) / C ; MMAS, =1/ C ;ACS, =1/ n C
(b)两条分支具有不同长度
路径探索
1.1 基本理论
双桥实验
30分钟后
蚁穴
食物源
1.实验最终结果:除了极少的 蚂蚁选择较短的分支以外, 整个群体几乎都困在较长的 分支上。 2.长分支上的信息素浓度高, 而信息素的蒸发速度过于缓 慢。
(c)30分钟后添加短分支
1.1基本理论
1
选择路径是一个概率随机过程,启发式 信息多以及信息浓度大的路径被选中概 率更大。
2.1 TSP问题
问题简述:
已知有 n 个城市的集合 C c , c ,L , c ,任意两个城市之间均有 d i, j 1,2,L , n 路径连接, 表示城市与之间的距离。旅行商问题就是需 要寻找这样的一中周游方案:周游路线从某个城市出发,经过每个城 市一次且仅一次,最终回到出发城市,使得周游的路线总长度最短。
双 桥 实 验 总 结
2
信息素会不断的蒸发。
3
路径探索也是必需的,否则容易陷入 局部最优。
1.1基本理论
蚁群觅食现象和蚁群优化算法的基本定义对照表
蚁群觅食现象 蚁群 觅食空间 信息素 蚁巢到食物的一条路径 找到的最短路 蚁群优化算法 搜索空间的一组有效解(种群规模m) 问题的搜索空间(问题的规模、解的维数n) 信息素浓度变量 一个有效解 问题的最优解
k 1
1 Ck k i, j 0 1 Cb b i, j 0
m
i , j R k
否则
i, j 在路径Tb上
否则
参数e作为 b i, j 的权值, Cb 是算法开始至今最优路 径的长度,其中搜索到至今最优路径用Tb 表示。
连续蚁群(CACO)2000年 超立方体AS(HC-ACO)2001年 连续正交蚁群(COAC)2008年
蚁群系统(ACS) 1997年
基于排列蚂蚁系统 AS 1997年
rank
1.2 研究进展
理论进展
总结 1.收敛性证明。一些性能优越的ACO算法(MMAS和ACS) 不管有没有使用局部搜素,都是值收敛的。 2.将ACO纳入了基于模型的搜索框架中。
精华蚂蚁系统是对基础AS的第一次改进,它在原AS信息 素更新原则上增加了一个对至今最优路径的强化手段。
蚁群优化算法
一 二
蚁群优化算法简介
蚂蚁系统
三
四
蚁群优化算法的改进版本
蚁群优化算法相关应用
3.1 精华蚂蚁系统
信息素的更新:
i, j (1 ) i, j k i, j e b i, j
3.2 基于排列蚂蚁系统
信息素的更新:
i, j (1 ) i, j k k i, j b i, j
将最大循环数设定为500、1000、5000,或者最 大的函数评估次数,等等。
2
也可以使用算法求解到一个可接受的解作为终止 条件。
3
当算法在很长一段迭代中没有得到任何改善时。
2.4 蚂蚁系统算法
构建方式
并行构建
所有蚂蚁都从当前城市移动到 下一个城市。
顺序构建
当一只蚂蚁完成一轮完整的构 建并返回到初始城市之后,下 一只蚂蚁才开始构建
蚁群优化算法
Ant Colony Optimization
蚁群优化算法
一 二
蚁群优化算法简介
蚂蚁系统
三
四
蚁群优化算法的改进版本
蚁群优化算法相关应用
1.1 基本原理
提 出
蚁群优化算法(ACO)由Dorigo(多里格) 等人于1991年提出,是模拟自然界真实蚂蚁 觅食过程的一种随机搜素算法。
性质
ACO是一种全局最优化搜索方法,解决典型组 合优化问题具有明显的优越性,具有鲁棒性 强、全局搜索、并行分布式计算、易于其他 算法结合的优点。
趋势
1.利用ACO算法去解决更为复杂的优化问题,例如: 动态问题、随机问题、多目标问题。 2、ACO算法的高效并行执行。 3.更理论化的理解和刻画ACO算法在求解问题时的行为。 4.与其他算法结合(粒子群算法)。
蚁群优化算法
一 二
蚁群优化算法简介
蚂蚁系统
三
四
蚁群优化算法的改进版本
蚁群优化算法相关应用