浅谈蚁群算法.pdf

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

1 蚁群算法的原理 没有视觉的蚂蚁在运动时会通过在路径上释放出一种特 殊的分泌物—— —信息素来寻找路径。[2]当它们碰到一个还没有 走过的路口时,就随机挑选一条路径前行,同时释放出与路径 长度有关的信息素。蚂蚁走的路径越长,则释放的信息量越小。
当后来的蚂蚁再次碰到这个路口的时候,选择信息量较大路径
142
望启发因子,表示能见度的相对重要性;η(ji t)为启发函数,其表 达式如下:η(ji t)=1/dij
式中 dij 表示相邻 2 个城市之间的距离。该启发函数表示 蚂蚁从元素 i 转移到元素 j 的期望程度。
经过 n 个时刻,蚂蚁完成一次循环,各路径上信息素量根

Σ 据下式调整 τ(ij t+n)=(1-p)τ(ij t)+△τ(ij t) △τ(ij t)= △τk(ij t) k=1 式中 p 表示信息挥发因子,(1-p)为信息轨迹的衰减系数,
三、蚁群算法与遗传算法、模拟退火算法的比较 遗传算法(GA)是一种基于生物自然选择与遗传机理的随 机搜索算法。它从一组随机产生的、称为种群(Population)的初 始解开始搜索进化。模拟退火算法(SA) 是基于物理中固体物质 的退火过程与一般组和优化问题之间的相似性。模拟退火算法 是一种通用的优化算法。 以 Oliver30 城市、Eil50 城市和 Eil75 城市 TSP 应用为例, 对蚁群算法、遗传算法和模拟退火算法进行收敛速度比较,得 到如下仿真结果。
{τk1,ηk1}对表示。信息 τk1 和可见度 ηk1 是通过最长进程时或者最 短完成时间等要求决定。蚂蚁遍历节点的顺序就是相应的解决 答案。在解决 10×10 和 10×15 的 JSP 问题中,蚂蚁算法的解 与最优解的误差在 10%之内。这是一个相当不错的结果。
3 VRP 问题 VRP 问题来源于交通运输。已知 M 辆车,每辆车的容量为 D,目的是找出最佳行车路线在满足某些约束条件下使得运输 成本最小。利用蚁群算法研究 VRP 结果表明,该方法优于模拟 退火和神经网络,稍逊于禁忌算法。 4 大规模集成电路综合布线问题 大规模集成电路中的综合布线可以采用蚁群算法的思想 来进行。在布线过程中,各个引脚对蚂蚁的引力可根据引力函 数来计算。各个线网 Agent 根据启发策略,象蚁群一样在开关 盒网格上爬行,所经之处便布上一条金属线,历经一个线网的 所有引脚之后,线网便布通了。给定一个开关盒布线问题,问题 的计算量是固定不变的,主要由算法的迭代次数决定,而迭代 次数由 Agents 的智能和开关盒问题本身的性质确定。蚁群算法 本身的并行性,使之比较适合于解决布线问题。 5 网络路由问题 电信网络中的路由是通过路由表进行的。在每个节点的路 由表中,对每个目的节点都列出了与该节点相连的节点,当有 数据包到达时,通过查询路由表可知道下一个将要到达的节 点。首先对路由表中的信息素强度进行初始化。在节点 x,以节 点 i 为目的地址,邻节点为 J 处的信息素强度为 τth=1/dth,dth 为 从 x 经节点 J 到节点 i 路径的最小费用值。然后周期性地释放 蚂蚁来进行路由,并修改相应的信息素的值。仿真结果表明,无 论呼叫是均匀分布还是集中分布,利用蚁群算法所得呼叫拒绝 率和平均路径长度均小于最小负载法结果;在呼叫符合集中分 布时,蚁群算法所得呼叫拒绝率低于最短路径法。 五、结论 蚁群算法是一种源于自然界中生物的新的仿生类模拟进 化算法,对求解复杂组合优化问题有如下的优势:①较强的鲁 棒性,对蚁群算法模型稍加改动,便可应用于其他问题。②分布 式计算,蚁群算法是一种基于种群的进化算法,具有并行性。③ 蚁群算法易于与其他启发式算法结合,从而改善算法的性能。 但是蚁群算法的研究才刚起步,不像其他启发式算法那样已有 系统的分析方法和坚实的数学基础。因此参数的选择依靠实验 和经验,且计算时间长,这些有待进一步研究。 “苦探索,历辛劳,寻优之径觅隐遥。蚁群算法奇葩绽,五洲 育苗更艳娇。”随着研究的深入,蚁群算法也将同其他模拟进化 算法一样,获得广泛的应用,今后这一新兴的仿生优化算法必 将更加欣欣向荣!
二、蚁群算法的原理及数学模型
移而逐渐消减,最终整个蚁群会找出最优路径。信息素在蚁群 寻找最优路径的过程中发挥了重要作用。
2 蚁群算法的数学模型 蚁群算法最初是在求解 TSP(旅行商问题)时提出的。蚂蚁 k(k=1,2,….,m) 在运动过程中,根据各条路径上的信息量及路 径的启发信息来计算状态转移概率。Pk(ji t)表示在 t 时刻蚂蚁 k 由元素(城市)i 转移到元素(城市)j 的状态转移概率:
在 Str0 技术的基础之上,我们也可 以进行微调,使文件体积变的更小。即在 上面的条件下,NULLSOUND 的循环次 数设置成 1 次,其他的保持不变。这是因 为在 Flash 中,如果时间上有个声音文 件设置成 Stream 方式,那么 Flash 在播 放完这个声音文件后会继续以 Stream 模式播放声音。也就是说,我们可以用这 样一个小的 NULLSOUND 声音文件作 为一个开关,使整个播放器用 Stream 模 式播放声音。这种 Stream 播放模式可以
式中 α 为信息启发因子,表示轨迹的相对重要性;β 为期
个文件放到 timeline 里面,然后设置为 Stream 方式,并设置循环次数以便声音 一直延长到 Flash 的结尾。我们只设置 这个 NULLSOUND 文件为 Stream 方式 的,其他声音用层来组织,都设置成 event 方式。这样,我们就可以把 Stream 声音的输出质量设置成足够低(ADPCM 5 kHz 2 bit)同时却不影响整个音乐的 音质,因为 event 方式的声音可以设置 高一些比如 ADPCM 11 kHz 4 bit。这 种方法也被称作 Str0 技术。
540
由上表可以看出,在同规模的测试问题上,三种算法收敛 到最优解的迭代次数相差很大,结果表明蚁群算法的收敛速度 最快。
四、蚁群算法的应用 蚁群算法作为一种新的群体职能启发是优化方法,自 M. Dorigo 等首次将其应用于 TSP 以来,国内外许多学者对其进行 了大量的研究工作,将其推广到了诸多优化领域,其中包括二 次 分 配 问 题(QAP)、车 间 任 务 调 度 问 题(JSP)、车 辆 路 线 问 题 (VRP)、大规模集成电路综合布线以及网络路由问题等。 1 QAP 问题 QAP 问题的目标函数可以用一个 n×n 的对称矩阵来描 述。蚁群算法是基于它和 TSP 问题这方面的相似性来解决问题 的。QAP 问题的目标函数矩阵 S 通过距离向量 D 和流向量 F 的组合组成,Sth=d1fh。蚂蚁根据可见度信息 ηth 来选择下一个节 点,其中 ηth=1/Sth。矩阵 S 的元素值用作启发因子。 2 JSP 问题 JSP 问题可以用一个加权图描述。每条边的权值用参数
参考文献 [1] 王太冲 宋映红 Flash MX 入门 与提高[M].北京:清华大学出版社 2002 [2]海珊 Flash MX 魔法再现[M]. 昆 明:云南人民出版社 2005 [3]姜晓刚 Flash 学习过程中的几个 问题[J]. 中国科技信息 2005(10)
141
INTELLIGENCE 科技天地
问题名称
ACS
GA
SA
Optimum
Oliver30
420
421
424
420
ຫໍສະໝຸດ Baidu
迭代次数 [1470]
[3200]
[24617]
Eil50 迭代次数
432 [2412]
428 [25000]
443 [68512]
428
Eil75 迭代次数
540 [4393]
545 [80000]
580 [173250]
on (keyPress "") { play(); } 同样道理,独立播放器里的弹出菜 单也应该在开始被禁用: fscommand ("showmenu", "false");
4.结束语 在制作 Flash 动画过程中,声音导 入的时候要注意是否为 Flash 允许的格 式,且要注意采样频率等技术参数是否 符合 Flash 技术参数要求。可以把所有 的声音设置成 Stream 模式,以便调整动 画和声音完全匹配。当确声音动画全部 匹配以后,再把所有声音设置成 event, 然后设置 Nullsound 为 |Stream 以缩小文 件体积。有条件的情况下,尽量分割各项 音乐元素,提取合并可以循环利用部分, 然后利用 Flash 作为混音器来使用,这 样将有效的减少输出文件的大小。
参考文献 [1] 段海滨《: 鹧鸪天·蚁群算法》.南航报.2005 [2] Meuleau N and Dorigo M; Ant colony optimization and stochastic gradient descent [M];Artif. Life; 2002 年 [3] 段海滨、王道波、于秀芬:《蚁群算法的研究现状及其展 望》[A].中国工程科学.2007(. 9)2 [4] 李士勇、陈永强、李研:《蚁群算法及其应用》。哈尔滨 : 哈尔滨工业大学出版社,2004
使用“Stop All Sound”动作来关闭。使用 这种方法,我们也可以在影片中灵活的 切换 Stream 模式或者是 event 模式,也就 是可以在恒定帧速率以及帧速率可变模 式中切换。这就是所谓的 Str00 技术。
Str00 技术的也是有缺陷的:假设用 户使用独立播放器来播放 Flash,那么如 果用户在播放时候敲回车键,那么 Flash 将停止所有的声音播放,即使再按回车 继续播放,其他声音都能正常播放,而 Stream 的声音将不能播放。因为 Stream 声音的关键帧是在最前面,这样的后果 就是播放的 Stream 模式被关闭了,也就 是恒定帧速率模式被关闭了。要避免这 个问题,可以安置一个隐形的按钮来捕 抓按键动作:
生学界蓬碧草。”[1]个体较小、简单的蚂蚁不辞辛劳的寻找着食 物,构建着自己的蚂蚁王国。就是他们这看似简单,其实有着高 度协调、分工、合作的行为,打开了仿生优化领域的新局面。
从蚂蚁群体寻找最短路径觅食行为受到启发,意大利学者 M.Dorigo 等人 1991 年提出了一种模拟自然界蚁群行为的模拟 进化算法—— —人工蚁群算法,简称蚁群算法(Ant Colony Algo- rithm,ACA)。
△τ(ij t) 表示本次循环中路径(i,j)上的信息素增量,△τk(ij t) 表 示第 k 只蚂蚁在本次循环中留在路径(i,j)上的信息量。
根据信息素更新策略的不同,M.Dorigo 曾提出 3 种不同的 基本蚁群算法模型,即 Ant-Cycle 模型、Ant-Quantity 模型及 Ant-Density, 其 差 别 在 于 △τkij (t) 求 法 的 不 同 。 其 中 Ant-Quantity 模型和 Ant-Density 模型利用的是局部信息;而 Ant-Cycle 模型利用的是整体信息,在求解 TSP 时性能较好,因 此通常采用 Ant-Cycle 模型作为蚁群算法的基本模型。
INTELLIGENCE 科技天地
浅谈蚁群算法
北方民族大学 电气信息工程学院 马莉莉
摘 要:本文介绍了一种新型模拟进化算法—— —蚁群算法。该方法通过模拟蚁群搜索食物的过程,达
到求解组合优化问题的目的。
关键字:蚁群算法 信息素 组合优化
一、引言
的概率相对较大,这样便形成了一个正反馈机制。最优路径上
“万物精灵奇纤巧,鞠躬尽瘁堪杰豪。觅食筑穴勤劳作,仿 的信息量越来越大,而其他路径上的信息量却会随着时间的推
相关文档
最新文档