蚁群算法(ACO)简要介绍

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
蚁群算法(ACO)介绍
李杰林
ACO算法起源
20世纪90年代意大利学者M.Dorigo, V.Maniezzo,A.Colorni等从生物进化的机制中 受到启发,通过模拟自然界蚂蚁搜索路径的行为, 提出来一种新型的模拟进化算法——蚁群算法, 是群智能理论研究领域的一种主要算法。用该方 法求解TSP问题、分配问题、job-shop调度问题, 取得了较好的试验结果。虽然研究时间不长,但 是现在的研究显示出,蚁群算法在求解复杂优化 问题(特别是离散优化问题)方面有一定优势, 表明它是一种有发展前景的算法。
算法原理
算ห้องสมุดไป่ตู้原理
基于以上蚁群寻找食物时的最优路径选择问题, 可以构造人工蚁群,来解决最优化问题。 人工蚁群中把具有简单功能的工作单元看作蚂蚁。 二者的相似之处在于都是优先选择信息素浓度大的路径。 较短路径的信息素浓度高,所以能够最终被所有蚂蚁选 择,也就是最终的优化结果。 两者的区别在于人工蚁群有一定的记忆能力,能 够记忆已经访问过的节点。同时,人工蚁群再选择下一 条路径的时候是按一定算法规律有意识地寻找最短路径, 而不是盲目的。例如在TSP问题中,可以预先知道当前 城市到下一个目的地的距离。
城市之间距离
目标函数为 其中 w
(d ij ) nn
f ( w) d il 1i, l
l 1 n
(i1 , i2 ,, in )
为城市1,2,…n的一个排列,
in1 i1
算法示例
蚂蚁k(k=1,2,…,m)根据各个城市间连接路径上的信 息素浓度决定其下一个访问城市,设 Pijk (t )表示t时刻蚂蚁k 从城市i转移到城市j的概率,其计算公式为:
is (t )is (t ) , s allowk Pijk (t ) is (t )is (t ) xallowk 0, s allowk
信息更新公式为:
ij (t 1) (1 ) ij (t ) ij n ,0 1 k ij ii k 1
算法原理
自然蚁群
蚁群 觅食空间 信息素 蚁巢到食物的路径
人工蚁群
一组有效解(种群规模N) 问题的搜索空间(维数D) 信息素浓度变量 一个有效解
最短路程
问题最优解
算法示例
TSP问题表示为一个N个城市的有向图G=(N,A), 其中 N {1,2,..., n} A {(i , j) | i, j N}
k ii
3.蚁密系统模型
Q,第k只蚂蚁从城市i访问城市j k ii 0, 其他
其中,Q为常数,表示蚂蚁循环一次所释放的信息素总量;L为第k只蚂蚁经 过路径的长度。d为城市间的距离。
算法应用举例
算法应用举例
算法应用举例
算法应用举例
算法应用举例
算法应用举例
算法原理
蚁群算法是对自然界蚂蚁的寻径方式进行模似 而得出的一种仿生算法。蚂蚁在运动过程中,能够 在它所经过的路径上留下一种称之为外激素 (pheromone)的物质进行信息传递,而且蚂蚁在运动 过程中能够感知这种物质,并以此指导自己的运动 方向,因此由大量蚂蚁组成的蚁群集体行为便表现 出一种信息正反馈现象:某一路径上走过的蚂蚁越 多,则后来者选择该路径的概率就越大。
针对蚂蚁释放信息是问题,M.Dorigo等人曾给出3中不同的 模型,分别为蚁周系统、蚁量系统和蚁密系统,其计算公 式如下:
1.蚁周系统模型
Q / Lk,第k只蚂蚁从城市i访问城市j 0, 其他
k ii
2.蚁量系统模型
Q / dij,第k只蚂蚁从城市i访问城市j 0, 其他
相关文档
最新文档