蚁群算法及其应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
17
5
5/32
1.3蚁群算法的实现
设将M只蚂蚁放入到N个随机选择的城市,每只蚂蚁每一步的行动是根 据一定的依据选择下一个它还没有访问的城市或者一个循环,蚂蚁选择下
一个城市的主要依据是:
ij ( t ) ---t时刻连接城市i和j的路径上残留信息的浓度,由算法本身提供的
信息, ---由城市i转移到城市j的起始信息,该起始信息是由要解决的
N
k 所有可能的目标城市,即还没有访问的城市,为了避免对
i
同一城市的多次访问,每制蚂蚁都保存一个列表tabu(k),用于
记录到目前为止已经访问的---t时刻蚂蚁k由i城市到j城市的概率。
为了避免残留信息过多引起的残留信息淹没启发信息的问题在
每个蚂蚁完成对所有n个城市的访问后(即一个循环),必须对残
0否 则 Q
第 k只 蚂 蚁 在 t到 t1时 间 段 之 间 留 下 的 信 息 素式2.5
ij
0
否 则
17
10
10/32
其区别在于式1.5两种模型中利用的是局部信息, 而式2.4利用的是整体信息,在求解TSP问题时ant cycle system性能较好。因而我们采用式1.4作为
基本模型。基本蚁群算法中参数,可以用实验方法
留下的残留信息浓度。
ant-quantity算法对于前一种算法:
L k Q
ij
k
式2.3
17
8
8/32
如果蚂蚁k在t到(t+n)时间中选择了路径(i,j)。Q为常量, 表
示蚂蚁k在本次循环中所选择路径的总长度.如果没有选择该路
径。则
k(t) 0 ij
而后两种算法与前一种算法的区别在于,后两种算法中每走一
问题给出的即
为城市i到城市j的先验值,于是,t时刻位于城市
i的蚂蚁k选择城市j为目标城市的概率是:
(t)
ij
allowed k
P ij
nallowedk
(t)
ij
(t)
in
, j (t)
in
k
0
否则
式2.1
17
6
6/32
假如
N j k i
其中
-----残留信息的相对重要程度。
-----期望值的相对重要程度。
蚁群算法及其应用
17
1
1/32
主要内容
1. 蚁群算法 2. 多种改进算法在混流装配线调度中的应用 3. 实验过程 4. 展望与结论
17
2
2/32
1.蚁群算法 1-1蚁群算法概述
food Dorigo
蚁群算法(Ant Colony Algorithm)是由意大 利学者Dorigo M,Colorni A等人于20世纪 90年代初期通过模拟自然界中蚂蚁集体寻 径的行为而提出的一种基于种群的启发式 仿生进化算法。
步(即从时间t 到(t+1))都要更新残留信息的浓度,而非等到所
有蚂蚁完成对所有n个城市的访问以后,同时2.3式的取法也有
所不同,在ant-density算法中,
k ij
Q
;而在ant—quantity
算中法 ,从中城,市i到ij 城Q d市ij j(的d蚂i j 蚁表在示路i和径j的上距残离留)的;在信a息nt浓—度de为n一sit个y算与法路
留信息进行更新处理,对旧的信息进行削弱,同时,必须将最
新的蚂蚁访问路径的信息加入 i , j ,
17
7
7/32
m
(t+n)= (t) k
ij
ij
ij
k1
式2.2
-------残留信息的保留部分。 1- -----残留信息被削弱的部分,为了防止信息的无限累积,必须小于
1。
k ij
------蚂蚁k在时间段t到(t+n)时间内的访问过程中。在i到j的路径上
17
12
12/32
(t 1 ) (t) ( 1 ) (t)
i,j
i,j
i,j
式2.6
L i,j(t) 0Qk若 第 k只 蚂 蚁 在 本 次 其 循 他 环 中 经 过 ij
nest 图1 蚁群寻径模拟
17
3
3/32
蚁群算法流 程图结构
17
4
4/32
1-2 蚁群算法的研究现状
算法优化过程: 蚁群系统 蚁群优化是由蚁群系统演
变而成的一种NP-hard问 题的通用启发式解法 最大-最小蚂蚁系统 混合蚂蚁系统 快速蚂蚁系统等
应用领域: TSP问题 机械设计领域 工业控制领域等
在ant- cycle system模型中,
L ij Q k,第 k只 蚂 蚁 在 t到 t1 时 间 段 之 间 留 下 的 信 息 素
0
否 则
式2.4
在ant -density system 和ant- quantity system, ij 分别为:
Q
d ij
ij 第 k只 蚂 蚁 在 t到 t1时 间 段 之 间 留 下 的 信 息 素
径无关的常量Q。而在ant-quantity算法中,以 为城市i到
城市j的距离,残留信息浓度为 Q ,即残留信息浓度会因为
城市距离的减小而增大。
d ij
17
9
9/32
M.Dorigo 曾给出3种不同模型,分别称之为ant -cycle system,ant- quantity system,ant -density system,它们的 差别在于表达式 的不同。
确定其最优组合。停止条件可以用固定进化代数或
者当进化趋势不明显时便停止计算。由算法复杂度
分析理论可知,该算法复杂度为O( n nc表示循环次数。
c
.n
3 ),其中,
结果ant—cycle算法的效果最好,这是因为它用的
是全局信息—— Q
部信息——
Q
d ij
和
L
Qk
;而其余两种算法用的是局 。这种更新方法很好地保证
(3)当完成了一次循环后,根据整个路径长度来释放相应浓度的 信息素,并更新走过的路径上的信息素浓度.t表示在搜索周期 的第t代,连接弧(i,j)上的信息素大小。
与实际蚁群不同,搜索蚁群算法具有记忆功能,每个蚂蚁个 体可以记忆自己所走过的城市.随着时间的推移,以前留下的信 息素逐渐消逝,用参数1-表示信息消逝程度,经过n个城市的 搜索,蚂蚁完成一次循环,各路径上信息量要作调整:
了残留信息不至于无限累积。
17
11
11/32
给定一个有n个城市的TSP问题,人工蚂蚁的数量为m,每个人工 蚂蚁的行为符合下列规律:
(1)根据路径上的信息素浓度,以相应的概率来选取下一步路径。
(2)不再选取自己本次循环已经走过的路径为下一步路径,用一 个数据结构(tabulist)来控制这一点。