蚁群算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LOGO
蚁群算法
目录
1 2 3
4
蚁群算法概述 蚁群算法分析 蚁群算法应用 实例仿真
蚁群算法概述——概念
20世纪50年代中期创立了仿生学,人们从生物进化的机 理中受到启发。提出了许多用以解决复杂优化问题的新 方法,如进化规划、进化策略、遗传算法等,这些算法 成功地解决了一些实际问题。 蚁群算法(ant colony optimization, ACO )又称为 蚂蚁算法, 是对自然界蚂蚁的寻径方式进行模似而得 出的一种仿生算法。
蚁群算法概述——发展历史
• 1998年,Dorigo发起了第一次蚁群算法的专题会议 • 1998年,Stützle提出初步的并行实现 • 1999年,Bonabeau, Dorigo和Theraulaz的出版了一本书,主要 关于人工蚂蚁 • 2000年,未来计算机系统杂志上发表了蚂蚁算法特刊 • 2000年,调度的最早期的应用程序,调度了序列和约束的满意 度 • 2000年,Gutjahr提供了一个蚁群算法收敛的第一个证据 • 2001年,COA算法首次被使用(Eurobios和AntOptima) • 2001年,IREDA和他的同事们发表了第一个多对象算法 • 2002年,调度设计的首次应用,贝叶斯网络 • 2002年,比安奇和她的同事提出了随机问题的最早算法 • 2004年,Zlochin和Dorigo表明,有些算法等价于随机梯度下降 ,交叉熵和估计分布算法 • 2005年,首次在蛋白质折叠问题上的应用。
蚁群算法概述——蚂蚁觅食过程
• 蚂蚁搜寻食物的具体过程。在蚁群寻找食物时,它们总能找到一条从 食物到巢穴之间的最优路径。在最开始觅食时如下图1,蚂蚁随机选 择一条路径开始觅食;但随着时间的改变,所有的蚂蚁都会选择较短 的路线,如下图2所示。
蚁穴
食物
蚁穴
食物
图1
图2
蚁群算法分析——觅食原理
蚂蚁是怎么判断出 哪条路径最短的呢?
蚁群算法应用——蚂蚁系统具体步骤
• 以Ant-Cycle模型为例,总结一下蚂蚁系统的具 体操作步骤:
1. 初始化,首先设定相关参数:需遍历城市数n、蚂蚁数m 、初始时各路径信息素 、m只蚂蚁遍历(循 环)次数的最大值Nmax、信息素挥发系数 以及α 、 β 、Q等。建立禁忌列表Jk,并保证此时列表中没有任 何城市。 2. 将m个蚂蚁随机放在各个城市上,每个城市至多分布一 个蚂蚁,并将m修改禁忌表Jk 。
蚁群算法概述——发展历史
• 1959年,Pierre-Paul Grassé发明了Stigmergy理论来解释白蚁建 设巢的行为; • 1983年,Deneubourg和他的同事们研究了蚂蚁的集体行为; • 1988年,Moyson Manderick写了一篇蚂蚁自组织的文章 • 1989年,Goss, Aron, Deneubourg和Pasteels关于阿根廷蚂蚁的 集体行为的研究,给蚁群优化算法的思想提供了灵感; • 1989年,Ebling和他的同事落实了觅食行为的模型 • 1991年,M. Dorigo在他的博士论文中提出了蚂蚁系统(文章于 1992年发表)。一份从论文中提取的技术报告五年后出版,由V. Maniezzo和A.Colorni合著; • 1996年,蚂蚁系统的文章出版; • 1996年,Hoos与Stützle发明了最大最小蚂蚁系统; • 1997年,Dorigo和Gambardella发布了蚁群系统; • 1997年,Schoonderwoerd和他的同事们开发了对电信网络的首 次应用;
蚁群算法应用——TSP问题概述
• TSP问题描述:一商人去n个城市销货,所有城市走一遍 再回到起点,使所走路程最短。 用蚁周系统(Ant-Cycle)解决 TSP问题时 ,参与路径搜 寻的每只蚂蚁都具有下列特征:
(1)其选择城市的概率是城市之间的距离和连接支路上所包含的 当前信息素余量的函数; (2)为了强制蚂蚁进行合法的周游 ,直到一次周游完成时 ,才允许 蚂蚁游走已访问的城市; (3)当完成一次周游 ,每只蚂蚁在每条访问过的支路上留下信息 素。
蚁群算法应用——TSP问题符号说明
• ij :能见度为1/dij • :城市i到城市j路径的信息素 • :m个蚂蚁都选择了下一个城市后,所有选 择 ij 路径的蚂蚁留下的信息素和 ijk (t ) :第k只蚂蚁在路径ij上留下的信息素 • • Jk:第k个蚂蚁在当前时刻已走过的城市 • Lk(t):第k只蚂蚁在t时刻经过所有城市构成路径 长度 • Q:蚂蚁循环一次在经过的路径上所释放的信息 素总量
蚁群算法应用——蚂蚁系统具体步骤
3. 所有蚂蚁根据概率转换公式和选择下一城市, 并将该元素(城市)移动到该蚂蚁个体的禁忌表 中。 4. 所有蚂蚁遍历完n个城市后在所经过的路径上根 据信息更新公式更新所有所有信息素,并记录 本次迭代过程重点最优路径和最优路径长度。 5. 清空禁忌列表Jk,重复步骤3和4,直到每一个蚂 蚁都完成Nmax次遍历所有城市,最后输出的路径 为最优路径。
蚁群算法概述——突出成果
1991年,M. Dorigo在他的博士 论文中提出了蚂蚁系统(文章 于1992年发表)。
M.Dorigo
从论文中提取的技术报告五年 后出版,由V. Maniezzo和 A.Colorni合著;
• 20世纪90年代意大利学者M.Dorigo,V.Maniezzo, A.Colorni等人从生物进化的机制中受到启发,通过模 拟自然界蚂蚁搜索路径的行为,提出来一种新型的模 拟进化算法— 蚁群算法,是群智能理论研究领域的一 种主要算法。
蚁群算法分析——觅食原理
A D
蚁穴
B
食物
C
图3
• 蚂蚁从A点出发,速度相同,食物在D点,可能随机选择路线ABD或 ACD。假设初始时每条分配路线一只蚂蚁,每个时间单位行走一步, 本图为经过9个时间单位时的情形:走ABD的蚂蚁到达终点,而走 ACD的蚂蚁刚好走到C点,为一半路程。
蚁群算法分析——觅食原理
蚁群算法应用——算法模型与TSP问题
与其他两种模型相比: • Ant-Cycle模型在路径上信息素的更新机制利 用的是整体信息 • 这种机制会让段路径上对应的信息量逐渐增 大 • 充分体现了算法中全局范围内较短路径的生 存能力 • 加强了信息正反馈性能 • 提高了系统搜索收敛的速度 在解决TSP问题时性能较好,故通常成AntCycle模型为蚂蚁系统的基本模型。
蚁群算法应用——TSP问题公式
k ij (t 1) (1 ) ij (t ) ij (t ) • 信息素更新公式: k 1 m
如果t时刻蚂蚁k由城市i选择了城市j
否则 注:三个模型的信息素更新方式不同,上式Ant-Cycle模型的信息素 更新公式。 • 蚂蚁k选择下一个要走的城市必须要依据概率转换公式 ,那么选择 下一个城市j,所依据的概率转换公式为:
令t=1,N=N+1 令k=0,t=t+1 令k=k+1
第k个蚂蚁根据公式选择下一个 城市,并更新禁忌表
N是否等于Nmax Y 输出最优路径T+和最优路径长度L+
结束
图4 Ant-Cycle模型解决TSP问题流程图
实例仿真
• 以TSP问题中周游中国31个城市为例,用蚂蚁系统计算最优(小)路 径和最优路径长度。
图5 MATLAB编程绘制中国31个城市最优访问路线图

蚁群算法应用——TSP问题符号说明
• • • • • • • • • • • n:城市数量 m:蚂蚁数量(在TSP中,通常m≤n) i:某个城市 j:某个城市 k:某个蚂蚁 dij:城市i和城市j的距离 t:时间刻度 :信息素挥发系数(0≤ ≤1) w:最优路径的排列 α表示信息素的重要性 β表示能见度的重要性
蚁群算法分析——算法模型
• Dorigo经过深入研究,针对信息素的更新策略有给出了三种模型,它 们分别是: 蚁量系统(Ant-Quantity) 蚁密系统(Ant-Density) 蚁周系统(Ant-Cycle) Ant-Quantity和Ant-Density模型都是利用局部信息,即蚂蚁选完下一 路径后立即更新该路径上的信息素,两者的区别仅仅在于更新的 信息素量有所不同。 Ant-Cycle模型是所有蚂蚁选择完下一个路径后,整体更新所有路径 上的信息素,并且每只蚂蚁经过的路径所更新的信息素是相同的 。
通过设立虚拟信息素(Virtual Pheromone)来实现信息正反馈, 为寻找更优解打基础。 通过引入信息素挥发机制(Evaporation)实现负反馈,以避免正 反馈出现早熟现象(Stagnation)。
注:信息素按照一定的时间间隔挥发,时间间隔太短会出现早熟现 象,时间间隔太短个体间的协作会受到抑制,所以要合理制定时 间间隔。
蚁群算法分析——觅食原理
• 这是因为蚂蚁在寻找路径时会在路径上都存在着释放信息素( pheromone)和受信息素引导的现象。 • 当它们碰到一个还没有走过的路口时,就随机地挑选一条路径前行。 与此同时释放出与路径长度有关的信息素,路径越长,释放的激索浓 度越低。 • 蚂蚁碰到走过的路口的时候,选择激素浓度较高路径概率就会相对较 大。这样形成一个正反馈。最优路径上的激索浓度越来越大。而其它 的路径上激素浓度却会随着时间的流逝而消减,最终整个蚁群会找出 最优路径。

蚁群算法应用——蚂蚁系统流程图
开始 设置参数各个参数,并计算各个城市之间 的距离,生成距离矩阵D,生存禁忌列表及 存储最优路径和最优路径长度的矩阵T+和L+ N K是否等于m Y N t是否等于n Y 根据公式更新信息素 记录当前最优路径T+和最优路径 长度L+禁忌表清零 N
将m个蚂蚁随机分布到n个城市,并将蚂蚁 所在的位置存储到禁忌表中,并令N=0
蚁群算法概述——研究意义
• 蚁群优化算法是继模拟退火算法、遗传算法、禁 忌搜索算法等优化算法之后有一种应用于组合优 化问题的启发式随机搜索算法。
• 特点:不仅能进行智能搜索、全局优化,而且具有稳健性 (鲁棒性)、正反馈性、分布式计算、易与其他算法结合 等特点。 • 意义:用该方法求解TSP问题、分配问题、job-shop调度 问题,取得了较好的试验结果。虽然研究时间不长,但是 现在的研究显示出,蚁群算法在求解复杂优化问题(特别 是离散优化问题)方面有一定优势,表明它是一种有发展 前景的算法。
[ ij (t )] [ij ] k pij (t ) [ il (t )] [il ] k lJ 0
k j arg max( pij (t ))
jJk jJk
注:α、β、 、m、Q 等参数的设定直接影响蚂蚁算法的结果,所有 要合理制定它们的值。
2.
3.
若继续进行,则按信息素的指导,最终所有的蚂 蚁会放弃ACD路线,而都选择ABD路线。这也就 是前面所提到的正反馈效应。
蚁群算法分析——算法模型
• 经过研究者反复改进,建立模型的基本思想是: 以正反馈(Positive Feedback)为基础,通过对 较好的潜在解的增强,来实现对最优解的搜索。
1. 假设蚂蚁每经过一点留下的信息素为一个单位,经过36个 时间单位后,所有开始一起出发的蚂蚁都经过不同路径从D 点取得了食物,此时:ABD的路线往返了2趟,每一处的信 息素为4个单位; ACD的路线往返了1趟,每一处的信息素 为2个单位;比值为2:1。
寻找食物的过程继续进行,则按信息素的指导,蚁群在 ABD路线上增派一只蚂蚁(共2只),而ACD路线上仍然为 一只蚂蚁。再经过36个时间单位后,两条线路上的信息素 单位积累为12和4,比值为3:1。
蚁群算法概述——应用领域
这种方法能够被用于解决大多数优化问题或者能够转化为优化求解 的问题。现在其应用领域已扩展到: 多目标优化、 数据分类、 数据聚类、 模式识别、 电信QoS管理、 生物系统建模、 流程规划、 信号处理、 机器人控制、 决策支持 仿真和系统辩识 等方面,群智能理论和方法为解决这类应用问题提供了新的途径。
相关文档
最新文档