一种改进蚁群算法求解最短路径的应用_朱绍伟

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

( 4) 信息素更新策略[8 : ~10] 当蚂蚁遍历完所 有 的
城市,即完成了一次循环时,根据式( 5) 对路径上的信
息素进行更新:
τij ( t + 1) = ( 1 - ρ) τij ( t) + Δτij ( t)
( 5)
{∑ Δτij( t) =
n k =1
ε dij
若蚂蚁 k 经过边( i,j)
寻找全局最优解; 最后,根据每次迭代的全局最优解,
得到最终的全局最优解。用改进的蚁群算法求解最短
路径问题的主要实现步骤如下: ( 1) 信息素初始化 : [6,10] 算法开始运行时,赋予每
条边上的信息素浓度都为 τmax 。 ( 2) 为避免蚂蚁一开始就失去解的多样性,给出
第 k 只蚂蚁按以下概率从位置 i 转换到位置 j :
早熟和局部搜索收敛性。为了解决蚁群算法的局部 性,提高全局搜索能力,文中将新的信息素更新策略[4] 和局部搜索算法[5]整 合 在 一 起,并 且 在 搜 索 过 程 中 加 入了随机选择概率[2],进一步增强了全局搜索能力。
当问题规模较大时,由于信息素挥发系数的存在,
在搜索过程中那些很少被蚂蚁经过的路径上的信息素 浓度将会趋于 0[6],降低了算法在这些路径上的搜索
之间的路径上的信息 素 浓 度,模 拟 实 际 蚂 蚁 的 分 泌 物
的浓度;
[τmax ,τmin]表示信息素浓度的范围大小;
p
k ij

t)
表示在时刻 t 蚂蚁 k 由城市 i 转移到城市 j 的概率; 局部
更新是每当蚂蚁选择完一条边后,就马上更新边上的
信息量; 全局更新是根据局部最优解全局计算信息量
摘 要:蚁群算法是一种新型的启发式模拟进化算法,为求解各种复杂的组合问题提供了一种新的思路。虽然蚂蚁个体
没有智能,但群体蚂蚁可以通过信息素( pheromone) 进行互相交流进而协调工作。自从 Marco Dorigo 根据蚂蚁觅食的过
程,首次提出了蚁群算法并且应用于求解最短路径问题以来,针对蚁群算法的研究一直都没有停止。通过对信息素更新
一个点形成一条边; 以此类推,直到将所有的城市全部
都搜索且仅搜索一次,于是,蚂蚁 i 得到一个 TSP 问题
的解。当 n 只蚂蚁全部遍历完成后,就得到了 n 个解
( 包括可能的重复解) [9]。以这 n 个初始解为基础,首
先采用局部搜索策略,进行局部搜索,得到局部最优解
集合; 然后,根据局部最优解集合进行全局搜索策略,
pk ij

t)
{∑ =
τ
α ij

t)
η
β ij

t)
τ (α
r∈Tablek ir
t)
η
β ir

t)
,j ∈
Tablek
( 3)
0,否则
{ pk ij

t)
=
rand( ) ,j ∈ allowTablek
0,其它
( 4)
式中: Tablek 存 放 所 有 结 点 i 的 邻 结 点 集 合; allowTablek 为禁忌表,存放尚未被访问的邻结点的集合; ηij ( t) 为 启 发 函 数 表 示 蚂 蚁 的 先 验 知 识; α、β 表 示 τij ( t) 、ηij ( t) 对蚂蚁选择路径所起的影响程度。
的所有解的集合中,值最小的作为当前迭代次数的全
局最优解。当所有迭代运行完成或达到结束条件时,
·204·
计算机技术与发展
第 21 卷
将最小的值作为最终的全局最优解输出。
增量; 最优解即计算各个解的最短路径的距离最小值; 停止条件为最大迭代次数或长时间陷入停滞状态[8] 。
开始时,将 n 只蚂蚁放在 n 个不同的城市处。蚂蚁
i 从源点 S 出发,遵循选择策略,从与 S 点相邻的点的集
合中,选择一个点形成一条边; 然后,再从这条边的另
一个结点 a 处开始,从与 a 相邻的点的集合中,选择另
能力; 反之,当某条路径中信息素浓度过大时,这些路
径被再次选择的概 率 增 大,进 一 步 增 加 了 这 些 路 径 上
的信息素浓度,这 也 影 响 了 算 法 的 全 局 搜 索 能 力。 考 虑到 Max - Min Ant System( MMAS) [7]算法通过设置信
息素的浓度在一定 的 范 围 内 变 化,有 效 地 解 决 了 此 问
( 3) 基于局部搜索算法( 2 - OPT) [5],结合遗传算
法的变异[11]思 想,提 出 了 一 个 具 有 变 异 特 征[6,7,12] 的
局部搜索算法。设蚂蚁 k 搜索的路径为: a0 ,a1,a2 ,…, am。ai ( 0 ≤ i ≤ m) 分别表示城市结点。假设变异概率 pb,在 N 次循环过程中,产生 N 个( 0,1) 内均匀分布的 随机数 y( N) 。若第 j( 1 ≤ j ≤ N) 个循环数 y( j) < pb, 则第 aj 个结点发生变异。以此来尽可能地遍历所有 解,增强局部搜索的能力,求出局部最优解。
第7 期
朱绍伟等: 一种改进蚁群算法求解最短路径的应用
·203·
蚁群算法 是 模 拟 蚁 群 行 为 的 一 种 启 发 式 优 化 算 法,主要 包 括 两 个 部 分: 选 择 策 略 和 信 息 素 更 新 策 略[1,2]。算法中,人工蚂蚁不但能够模拟真实蚂蚁的觅 食行为,而且人工蚂蚁具有一定的智能,能够存储走过 的结点,并且通过计 算 结 点 间 的 距 离 获 得 一 定 的 先 验 知识。蚁群算 法 的 正 反 馈、多 样 性、分 布 式[1,3,4] 优 点 对寻找最短路径有独特的作用。
2 改进的求解最短路径蚁群算法的实现
蚂蚁在寻找最短路径的过程中往往选择信息量较
大的路径,但当许多蚂蚁同时选中一条路径时,该路径
上的信息素浓度就 会 迅 速 提 高,吸 引 更 多 的 蚂 蚁 经 过
这条路径,从而使得大多数蚂蚁集中到某一条路径上,
产生堵塞和停滞现 象,表 现 出 蚁 群 算 法 解 决 问 题 时 的
Abstract: Ant colony algorithm is a novel heuristic simulated evolutionary algorithm,provides a new idea for solving complex problems of combination. Although there is no intelligent individual ant,but groups of ants can be pheromones ( pheromone) for further coordination of the exchange. Since the ants foraging Marco Dorigo under the process of the ant colony algorithm was first proposed and applied to solve the shortest path problem,for the ant colony algorithm has not stopped. Based on the pheromone updating strategy,local search algorithm,the probability of randomly selected three areas to improve,improve the algorithm's global search ability and convergence of optimal. Experimental results show that the improved algorithm has better performance. Key words: ants algorithm; pheromone; shortest path; local search
{j =
依式( 3)
的概率
p
k ij

t)
选择 j,r y( k)
( 1)
依式( 4)
的概率
Hale Waihona Puke Baidu
p
k ij

t)
选择 j,r <
y( k)
k
y( k) = a b
( 2)
上式中,r 是( 0,1) 中均匀分布的随机数; k = 1,
2,…,N,N 为最大迭代次数; 0 < a < 1,b ≥ 1 。
( 6)
0 若蚂蚁 k 没有经过边( i,j)
式中: ρ 为挥发因子; ε 为一常量; τij ( t + 1) 为( t + 1) 时刻边( i,j) 之间的信息素浓度; Δτij ( t) 为蚂蚁在 t 时刻经过边( i,j) 时留下的信息素浓度。
( 5) 求全局最优解: 当完成一次迭代时,所求解出
题,所以在该文中,改进的蚁群算法将信息素浓度也设
置在一定的范围内,增加各个结点被选择的概率,提高
全局搜索能力。
现以 TSP 问题为例说明蚁群算法的模型: 设有 m
个城市,n 只蚂蚁; dij ( i,j = 1,2,…,m) 表示城市 i 和
城市 j 之间的距离; τij( t) 表示在时刻 t 城市 i 和城市 j
收稿日期:2010 - 12 - 31;修回日期:2011 - 04 - 05 基金项目:国家自然科学基金项目( 60970004 ) ; 山东省研究生教育 创新计划资助项目( SDYY10059) 作者简介:朱绍伟( 1985 - ) ,男,山东泰安人,硕士研究生,研究方向 为算法优化、网络路由算法; 徐夫田,研究员,硕士生导师,研究方向 为金融与财务信息系统。
0引言
最短路径问题可简称为 TSP 问题,即旅行商问题, 是一类已被证明具有 NPC 计算复杂性的组合优化问 题,它的提法是: 给定 N 个城市,旅行商从某一城市出 发,访问各城市一次且仅有一次后返回原出发城市,要 求找出一条最短路径。
蚁群算法是模拟蚁群行为的一种随机搜索优化算 法 。文中为了解决普通蚁群算法容易产生的停滞和 收敛速度慢等问题,提出了一种改进的蚁群算法,通过 增加随机因子和局部搜索算法增强全局和局部搜索能
ZHU Shao - wei,XU Fu - tian,TENG Zhao - ming
( Shandong Provincial Key Laboratory for Distributed Computer Software Novel Technology, College of Information Science and Engineering,Shandong Normal University,Jinan 250014,China)
第 21 卷 第 7 期 2011 年 7 月
计算机技术与发展
COMPUTER TECHNOLOGY AND DEVELOPMENT
Vol. 21 No. 7 July 2011
一种改进蚁群算法求解最短路径的应用
朱绍伟,徐夫田,滕兆明
( 山东师范大学 信息科学与工程学院 山东省分布式计算机软件新技术重点实验室,山东 济南 250014)
力并且在运行过程中自适应地调整挥发因子来动态改 变路径上的信息素浓度,从而有效解决普通蚁群算法 容易陷入局部最优解和收敛速度慢等现象。实验结果 证明改进的蚁群算 法 具 有 良 好 的 全 局 搜 索 能 力 ,并 且 有较好的收敛性和稳定性。
1 蚁群算法的基本原理
蚂蚁算法系统是模拟自然界中蚂蚁觅食过程构建 的启发式人工系统。在自然界中,单个蚂蚁不具有智 能,但是蚂蚁群体却能发现食物与蚁穴之间最短的距 离。经过研究发现,蚂蚁在寻找食物的过程总会分泌 一种化学物质—信息素( pheromone) 。蚂蚁个体之间 就是通过这种化学物质互相传递信息的。蚂蚁在寻食 过程中,能够在它经过的路径上释放该种物质,而且在 运动过程中能够感 知 这 种 物 质 的 浓 度 ,在 运 动 中 倾 向 于浓度高的地方移动,以此指导自己的运动方向。
策略、局部搜索算法、随机选择概率三个方面的改进,提高算法的全局最优搜索能力和收敛性。实验结果表明,改进算法
有较好的性能。
关键词:蚁群算法; 信息素; 最短路径; 局部搜索
中图分类号:TP391. 9
文献标识码:A
文章编号:1673 - 629X( 2011) 07 - 0202 - 04
Application of Improvement Ants Algorithm in Solving Shortest Path
相关文档
最新文档