蚁群算法

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

蚁群算法模型的建立
寻找路径的抽象 把觅食过程抽象成算法中解的构造过程, 将信息素抽象为存在于图的边上的轨迹。 在每一节点上人工蚂蚁感知相邻节点边上 的信息素浓度。
蚁群算法模型的建立
信息素挥发的抽象 自然界中,蚂蚁留下的信息素会随着时间 的推移而连续不断的挥发。因此使算法中 的信息素挥发方式与蚂蚁觅食过程机理相 符,要使蚂蚁完成一个节点的移动后,经 过一个单位时间,进行一次信息素的挥发。
蚂蚁的生物学特征


蚂蚁的群体行为 寻找食物 任务分配 构造墓地
蚂蚁的生物学特征
寻找食物 蚂蚁寻找食物过程 中总会自动找到一 条最短路径。

蚁群算法起源
20世纪90年代意大利学者M.Dorigo, V.Maniezzo,A.Colorni等从生物进化的 机制中受到启发,通过模拟自然界蚂蚁搜索路径 的行为,提出来一种新型的模拟进化算法—— 蚁 群算法(Ant Colony Algorithm),是群智 能理论研究领域的一种主要算法。用该方法求解 TSP问题、分配问题、job-shop调度问题,取 得了较好的试验结果.虽然研究时间不长,但是 现在的研究显示出,蚁群算法在求解复杂优化问 题(特别是离散优化问题)方面有一定优势,表 明它是一种有发展前景的算法.
缺点

基本蚁群算法的分布式计算
生命系统是一个分布式系统 真实蚁群行为是分布式的 蚁群算法体现了群体行为的分布式特征
基本蚁群算法的改进



自适应的蚁群算法 多态蚁群算法 基于模式学习的蚁群算法 具有随机扰动的蚁群算法 带聚类处理的蚁群算法 基于云理论的蚁群算法 连续域蚁群算法的改进 等等
蚁群算法的应用

TSP问题 Job-Shop调度问题 网络路由问题 大规模集成电路综合布线问题 数据挖掘 图像处理 等等
简化蚂蚁的寻食过程
蚂蚁从A点出发,速度相同,食物在D点,可能随机选择路线 ABD或ACD。假设初始时每条分配路线一只蚂蚁,每个时间 单位行走一步,本图为经过9个时间单位时的情形:走ABD的 蚂蚁到达终点,而走ACD的蚂蚁刚好走到C点,为一半路程。
简化蚂蚁的寻食过程
本图为从开始算起,经过18个时间单位时的情形:走ABD的 蚂蚁到达终点后得到食物又返回了起点A,而走ACD的蚂蚁 刚好走到D点。
简化蚂蚁的寻食过程
假设蚂蚁每经过一处所留下的信息素为一个单位,则 经过36个时间单位后,所有开始一起出发的蚂蚁都经过 不同路径从D点取得了食物,此时ABD的路线往返了2趟, 每一处的信息素为4个单位,而 ACD的路线往返了一趟, 每一处的信息素为2个单位,其比值为2:1。 寻找食物的过程继续进行,则按信息素的指导,蚁 群在ABD路线上增派一只蚂蚁(共2只),而ACD路线 上仍然为一只蚂蚁。再经过36个时间单位后,两条线路 上的信息素单位积累为12和4,比值为3:1。 若按以上规则继续,蚁群在ABD路线上再增派一只 蚂蚁(共3只),而ACD路线上仍然为一只蚂蚁。再经过 36个时间单位后,两条线路上的信息素单位积累为24和 6,比值为4:1。 若继续进行,则按信息素的指导,最终所有的蚂蚁 会放弃ACD路线,而都选择ABD路线。这也就是前面所 提到的正反馈效应。
基本蚁群算法
蚂蚁k在运动过程中,根据个体路径上的信息 量决定其转移方向。这里用一个禁忌表tabuk (k=1,2,…,m)来记录蚂蚁k当前走过的城市。 在搜索过程中,蚂蚁根据各条路径上的信息量及 路径的启发信息来计算状态转移概率。
式1
基本蚁群算法
式1中的allowed 集合表示蚂蚁k下一步 允许选择的城市;α为信息启发因子;β为 期望启发式因子。η (t)为启发式函数, 其表达式为: η (t)=1/d 其中,d 表示相邻两个城市之间的距离。
蚁群算法的基本原理
为了说明蚁群算法的原理,先简要介绍一下蚂蚁 搜寻食物的具体过程。在蚁群寻找食物时,它们 总能找到一条从食物到巢穴之间的最优路径。这 是因为蚂蚁在寻找路径时会在路径上释放出一种 特殊的信息素。当它们碰到一个还没有走过的路 口时.就随机地挑选一条路径前行。与此同时释 放出与路径长度有关的信息素。路径越长,释放 的激索浓度越低.当后来的蚂蚁再次碰到这个路口 的时候.选择激素浓度较高路径概率就会相对较 大。这样形成一个正反馈。最优路径上的激索浓 度越来越大.而其它的路径上激素浓度却会随着 时间的流逝而消减。最终整个蚁群会找出最优路 径。
蚁群算法模型的建立
启发因子的引入 蚁群算法的自组织性,似的系统的演化需 要耗费较长的时间,而实际应用时对算法 运行时间的要求也是必不可少的。因此引 入一个启发因子,给蚁群算法一个初始的 引导,增加算法的时间有效性。
基本蚁群算法
TSP描述 TSP的简单形象描述是:给定n个城市, 有一个旅行商从某一城市出发,访问各城 市一次且仅有一次后再回到原出发城市, 要求找出一条最短的巡回路径。 TSP是NP完全问题。
基本蚁群算法
基本蚁群算法的数学模型 设bi(t)表示t时刻位于元素i的蚂蚁数目, τi(t)为t时刻路径(i,j)上的信息量,n表 示TSP规模,m为蚁群中蚂蚁的总数目,则 m=∑ bi(t)。初始时刻各条路径上信息量相 等,并设τi(0)=const 基本蚁群算法的寻优 是通过有向图g=(C,L,Γ)实现的。
k ij ij ij ij
基本蚁群算法
为了避免残留信息素过多影响启发信息, 在蚂蚁走完一步或者完成对城市的遍历后, 就需要对残留信息进行更新处理。 按如下规则进行调整
wenku.baidu.com
式中ρ表示信息素挥发系数
基本蚁群算法的实现
以TSP为例,算法实现步骤如下: ① 参数初始化。设置最大循环次数Ncmax ② 循环次数Nc←Nc+1 ③ 蚂蚁的禁忌表索引号k=1 ④ 蚂蚁数目k=k+1 ⑤ 蚂蚁个体根据状态转移概率公式计算的概率选择城市j并前进 ⑥ 修改禁忌表 ⑦ 若有城市未遍历完,即k<m,则跳转第四步,否则执行第八步 ⑧ 更新路径上的信息量 ⑨ 若满足结束条件,即循环次数达到或超过Ncmax,则结束并输出计 算结果,否则清空禁忌表并跳转到第二步。
基本蚁群算法的结构流程
基本蚁群算法的复杂度分析
时间复杂度 T(n)=O(Nc· m) n2· 空间复杂度 S(n)=O(n2 )+O(n· m)
基本蚁群算法的优缺点
优点


较强的鲁棒性 分布式计算 易于与其它方法结合 需要较长的计算时间,容易停滞 所有路径的信息素增量,会导致错误的引导 信息素的均匀分配策略未体现出路段的重要性
蚁群算法模型的建立
对蚂蚁个体的抽象 蚁群算法是对自然界真实蚂蚁觅食行为的 一种模拟,因此首先必须对真实蚂蚁进行 抽象,而不可能也没必要对蚂蚁个体进行 完全再现。把蚂蚁能够有效刻画出真实蚁 群中能为算法所借鉴的特征抽象出来,同 时兵器与建立算法模型无关的因素。
蚁群算法模型的建立
问题空间的描述 蚁群算法所求解的问题空间可用一个重要 的数学工具——图(graph)来描述。
蚁群算法
蚂蚁的生物学特征
蚂蚁又称“玄驹”、“蚍蜉”或“状元 子”,是一种既渺小而又平常的社会性昆 虫。生物学家通过对蚂蚁的长期观察研究 发现,每只蚂蚁的智能并不高,但它们却 能协同工作,集中食物,建筑蚁穴并抚养 后代,依靠群体能力发挥出超出个体的智 能。
蚂蚁的生物学特征
蚂蚁的社会形态 蚂蚁有复杂的社会体制,“蚂蚁”城市往往 有 5000万个成员。 蚂蚁有四种不同的蚁型:蚁后、雄蚁、工蚁 和兵蚁。 化学通信时蚂蚁采用的基本信息交流方式, 自然界中的蚂蚁会分泌一种化学刺激物—— 信息素(pheromone)。
蚁群算法的基本原理
蚁群算法是对自然界蚂蚁的寻径方式进行 模似而得出的一种仿生算法。蚂蚁在运动 过程中,能够在它所经过的路径上留下一 种称之为信息素(pheromone)的物质进 行信息传递,而且蚂蚁在运动过程中能够 感知这种物质,并以此指导自己的运动方 向,因此由大量蚂蚁组成的蚁群集体行为 便表现出一种信息正反馈现象:某一路径 上走过的蚂蚁越多,则后来者选择该路径 的概率就越大。
相关文档
最新文档