智能算法之蚁群算法

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