蚁群算法基本原理与改进

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

蚂蚁算法求解TSP
其中:ρ为小于1的常数,表示信息的持久性。
ij (t n) ij (t) ij
m
ij

k ij
(2)
k 1
Q

k ij


Lk
ij lk
(3)
0 otherwise
其 路中径:长度Q为。常数;lk表示第k只蚂蚁在本次迭代中走过的路径,Lk为
(4)它是一种全局优化的方法;不仅可用于求解单目标优化问题,而 且可用于求解多目标优化问题;
蚁群算法最早是为了解决TSP问题(即旅行商问题)。
TSP问题的要求:路径的限制是每个城市只能拜访一次;最后 要回到原来出发的城市。求得的路径路程为所有路径之中的最小 值。
概念原型
各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻 找食物。
当一只找到食物以后,它会向环境释放一种挥发性分泌物 pheromone (称为信息素,该物质随着时间的推移会逐渐挥发消失, 信息素浓度的大小表征路径的远近)来实现的,吸引其他的蚂蚁过 来,这样越来越多的蚂蚁会找到食物。
蚁群算法的基本原理与改进
蚁群算法
蚁群算法(ant colony alogrithm)是一种模拟进化算法。
蚁群算法(又称为人工蚁群算法)是由意大利学者M.Dorigo, V.Mahiezzo,A.Colorni等人受到人们对自然界中真是蚁群集体 行为的研究成果的启发而首先提出来的。这个算法的主要目的是在 图中寻找优化路径的机率算法。
3. 又到了再下一个状态,刚刚没有蚂蚁经过的路线上的信息素不同程 度的挥发掉了(evaporation),而刚刚经过了蚂蚁的路线信息素增 强(reinforcement)。然后又出动一批蚂蚁,重复第2个步骤。 每个状态到下一个状态的变化称为一次迭代,在迭代多次过后,就 会有某一条路径上的信息素明显多于其它路径,这通常就是一条最 优路径。
求解TSP算法步骤
⑴初始化 随机放置蚂蚁,为每只蚂蚁建立禁忌表tabuk,将初始节点置入禁忌表中; ⑵迭代过程 k=1 while k=<ItCount do (执行迭代) for i = 1 to m do (对m只蚂蚁循环) for j = 1 to n - 1 do (对n个城市循环)
根据式(1),采用轮盘赌方法在窗口外选择下一个城市j; 将j置入禁忌表,蚂蚁转移到j; end for end for 计算每只蚂蚁的路径长度; 根据式(2)更新所有蚂蚁路径上的信息量; k = k + 1; end while
(1)
stabuk
0 ,
otherwise
其中:
表示边(i,j)上的信息素浓度;
((ii,,
j) j)

1/
d
(i,
j)
是启发信息,d是城市i和j之间的距离;
α和β反映了信息素与启发信息的相对重要性;
tabuk 表示蚂蚁k已经访问过的城市列表。
当所有蚂蚁完成周游后,按以下公式进行信息素更新。
假设以下条件: 每个时间单位有30只蚂蚁(A->B) 每个时间单位有30只蚂蚁(E->D) 蚂蚁过后留下的外激素为1 初始时刻,路径无信息存在且位于B和
E可以随机选择路径 HD = HB = 1 CD = CB = 0.5 备注: D->H D->C B->H B->C 图中数字表示蚂蚁的个数
基本蚁群算法流程
1. 在初始状态下,一群蚂蚁外出,此时没有信息素,那么各自会随机 的选择一条路径。
2. 在下一个状态,每只蚂蚁到达了不同的点,从初始点到这些点之间 留下了信息素,蚂蚁继续走,已经到达目标的蚂蚁开始返回,与此 同时,下一批蚂蚁出动,它们都会按照各条路径上信息素的多少选 择路线(selection),更倾向于选择信息素多的路径走(当然也有 随机性)。
于B和E可以随机选择路径 HD = HB = 1 CD = CB = 0.5 图中的数字表示距离
假设以下条件: 每个时间单位有30只蚂蚁(A->B) 每个时间单位有30只蚂蚁(E->D) 蚂蚁过后留下的外激素为1 初始时刻,路径无信息存在且位于B和
E可以随机选择路径 HD = HB = 1 CD = CB = 0.5 备注: D->H D->C B->H B->C 图中数字表示蚂蚁的个数
下面以TSP为例说明基本蚁群算法模型。
首先将m只蚂蚁随机放置在n个城市,位于城市i的第k只蚂蚁选择下 一个城市j的概率为:
蚂蚁算法求解TSP

Pk (i,
j)


[源自文库 (i, j)] [(i, j)] [ (i, s)] [(i, s)] ,
if j tabuk
蚁群算法采用了分布式正反馈并行计算机制, 易于与其他方法结合, 并具有较强的鲁棒性。
(1)其原理是一种正反馈机制或称增强型学习系统;它通过信息素的 不断更新达到最终收敛于最优路径上;
(2)它是一种通用型随机优化方法;但人工蚂蚁决不是对实际蚂蚁的 一种简单模拟,它融进了人类的智能;
(3)它是一种分布式的优化方法;不仅适合目前的串行计算机,而且 适合未来的并行计算机;
蚂蚁在运动过程中,能够在它所经过的路径上留下一种称之为外激 素(pheromone)的物质进行信息传递,而且蚂蚁在运动过程中能够感 知这种物质,并以此指导自己的运动方向,因此由大量蚂蚁组成的 蚁群集体行为便表现出一种信息正反馈现象:某一路径上走过的蚂 蚁越多,则后来者选择该路径的概率就越大。
假设以下条件: 每个时间单位有30只蚂蚁(A->B) 每个时间单位有30只蚂蚁(E->D) 蚂蚁过后留下的外激素为1 初始时刻,路径无信息存在且位
有些蚂蚁并没有象其它蚂蚁一样总重复同样的路,他们会另辟 蹊径,如果另开辟的道路比原来的其他道路更短,那么,渐渐地, 更多的蚂蚁被吸引到这条较短的路上来。
最后,经过一段时间运行,就可能会出现一条最短的路径被大 多数蚂蚁重复着。
基本原理
蚁群算法是对自然界蚂蚁的寻径方式进行模似而得出的一种仿生算 法。
相关文档
最新文档