蚁群算法教材课程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Lk 表示第 k 只蚂蚁环游一周的路径长度, Q 为常数。
2. 蚁群算法基本原理
ij (t) , ij (t) , pikj (t) 的 表 达 形 式 可 以 不 同 , 要 根 据 具 体 问 题 而 定 。 DorigoM 曾 给出三 种不同 模型, 分别称为 ant-cycle s yste m, ant-quantity
m
ij
k ij
k 1
k ij
表示第
k
只蚂蚁在本次循环中留在路径
ij
上的信息量, ij
表示本次循
环中路径 ij 上的信息量增量,
表示轨迹的持久性,1 理解为轨迹衰减度。随着时间的推移,以前留
下的信息逐渐消失,用参数1 表示信息消逝程度。
k ij
Q
Lk
,若第k只蚂蚁在本次循环中经过ij
0, 否则
蚁群算法求解旅行商问题:
n
设 Bi(t)(i=1,…,n)是在 t 时刻城市 i 的蚂蚁数,设 m bi (t) 为全部蚂 i 1
蚁数,每个简单蚂蚁具有以下特征: ⑴它根据以城市距离和连接边上外激素的数量为变量的概率函数选
择下一个城市(设ij (t) 为 t 时刻边 e(i, j) 上的外激素的强度)。 ⑵规定蚂蚁走合法路线,除非周游完成,不允许转到已访问城市,有
2. 蚁群算法基本原理
像蚂蚁这类群居昆虫,虽没有知觉,却能找到有蚁穴到食物源 的最短路径,为什么?
蚂蚁个体之间是利用信息素(pheromone)作为介质来相互交流、 合作的。蚂蚁在运动过程中,能够在它所经过的路径上留下该物质, 并指导自己的运动方法,蚂蚁倾向于朝着该物质强度高的方向移动。 因此,有大量蚂蚁组成的蚁群的集体行为表现出一种信息正反馈现 象:某条路上经过的蚂蚁越多,则后者选择该路径的概率越大。
2. 蚁群算法基本原理
蚁群算法不需要任何先验知识,最初只是随机选择搜索路 径,随着对解空间的“了解”,搜索变得有规律,并逐渐逼近 直至最终达到全局最优解。蚁群算法对搜索空间的“了解”机 制主要包括三个方面:
⑴蚂蚁的记忆。 ⑵蚂蚁利用信息素(pheromone)进行相互通信。 ⑶蚂蚁的集群活动。
2. 蚁群算法基本原理
3. 蚁群算法优缺点
蚁群算法优点:
(1)较强的鲁棒性:对蚁群算法模型稍加修改,便可以应用于其它问题。 (2)分布式计算:该算法是一种基于种群的拟生态系统算法,具有本质并行 性,易于并行实现。 (3)易于与其他方法结合:该算法很容易与多种启发式算法结合,以改善算 法的性能。 (4)蚁群算法是一种本质上并行的算法。每只蚂蚁搜索的过程彼此独立,仅 通过信息激素进行通信。它在问题空间的多点同时开始进行独立的解搜索,不 仅增加了算法的可靠性,也使得算法具有较强的全局搜索能力。
化过程作动态调整。ij 表示边弧 (i, j) 的能见度,用某种启发式算法算出,一般
取ij 1 dij , dij 表示城市 i 与城市 j 之间的距离。 表示轨迹的相对重要性,
表示能见度的相对重要性。
2. 蚁群算法基本原理
经过 n 个时刻,蚂蚁完成一次循环,各路径上信息量要根据以下式做调整:
ij (t n) gij (t) ij
k ij
Q,若第k只蚂蚁在时刻t和t+1之间经过ij 0, 否则
它们的区别在于:后两种模型中,利用的是局部信息,而前者利用的是整
体信息,在求解 TSP 问题时,性能较好,因而通常采用它为基本模型。
2. 蚁群算法基本原理
解旅行商问题的蚁群算法的基本步骤:
步骤 1: nc 0 (nc 为迭代步数或搜索次数);各 ij 和 ij 的初始化;将 m 个蚂蚁置于 n 个顶点上;
2. 蚁群算法基本原理
蚂蚁群体的路径搜索原理和机制示例:
假定障碍物的周围有两条 道路可以从蚂蚁的巢穴到达食 物源(如图 1.1):Nest-ABD-Food 和 Nest-ACD-Food,分别具有长 度 4 和 6。蚂蚁在单位时间内可 移动到一个单位长度的距离。开 始时所有道路上都未留下任何 信息素。
Food
1
1
D
B
Obstacle
1
AБайду номын сангаас
1
Nest
2 C
2
图1.1 蚁群系统示意图
2. 蚁群算法基本原理
在 t=8 时刻,前 5 只蚂蚁将返回巢穴, 而 AC、DC、BD 上各有 5 只蚂蚁;
在 t=9 时刻,前 5 只蚂蚁又回到 A 并且 再次面对往左还是往右的选择;
这时,AB 上的轨迹数是 20 而 AC 上是 15,因此将有较为多数的蚂蚁选择往左,从 而增强了该路线的信息素。随着该过程的继 续,两条道路上的信息素数量的差距将越来 越大,直至绝大多数蚂蚁都选择了最短的路 线。正是由于一条道路要比另一条道路短, 因此,在相同的时间区间内,短的路线会有 更多的机会被选择。
1. 引言
在二十世纪九十年代初期,意大利学者 M.Dorigo,V.Maniezzo, A.Colorni 等从蚂蚁觅食的自然现象中发现,蚂蚁在觅食过程中留下 一种外激素(又叫信息激素),以便在回巢时不至于迷路,而且方便找 到回巢的最好路径。由此 M.Dorigo 等人首先提出来一种新的启发式 优化算法,又叫蚁群系统(Ant Colony System),这种算法是目前国内 外启发式算法中的研究热点和前沿课题,被成功地运用于旅行商问题 的求解,蚁群算法在求解复杂优化问题方面具有很大的优越性和广阔 的前景。
sys te m 和
ant-de ns ity
sys te m, 它们的差别在于 计算
k ij
的公式不同。
在 ant-quantity s yste m 模 型 中,
k ij
Q
dij
, 若第k只蚂蚁在时刻t和t +1之间经过ij
0, 否则
在 ant-de ns ity sys te m 模 型中,
3. 蚁群算法优缺点
基本蚁群算法的缺点:
(1)需要较长的计算时间,容易出现停滞现象。 (2)所有通过路段的搜索路径对应的候选解均会对该路段带来信息素的增量。 而实际上,候选解并非都是最好解,这样计算信息素的增量会导致错误的引导信 息,从而造成大量的无效搜索,使系统出现停滞现象。 (3)采用了信息素均匀分配策略,即对已搜索路径中的所有路段采用同样的信 息素增量,与路段的重要性无关,没有考虑当连续空间优化问题转换到有向图搜 索问题时,信息素分配给可行解带来的尺度变化对于连续解空间搜索效率的影 响。
步骤 2:将各蚂蚁的初始出发点置于当前解集中:对每个蚂蚁 k(k=1,2,…,m), 按概率 pikj 移至 下一顶点力将顶 点 j 置于当前解 集;
步 骤 3:计 算各蚂蚁的路径 长度 Lk (k=1,2,…,m);记录当前的最好解; 步骤 4:按更新方程修改轨迹强度; 步骤 5:对各边弧(i,j),置 ij 0 , nc nc 1; 步骤 6:若 nc<预定的迭代次数且无退化行为(即找到的都是相同解)则转 步骤 2; 步骤 7:输出目前最好解。
Food
1
1
D
B
Obstacle
1
A
1
Nest
2 C
2
图1.1 蚁群系统示意图
2. 蚁群算法基本原理
蚁群算法是一种随机搜索算法,与其他模型进化算法一样, 通过候选解组成的群体的进化过程来寻求最优解,该过程包括两 个阶段:适应阶段和协助阶段。
⑴在适应阶段,各候选解根据积累的信息不断调整自身结构; ⑵在协助阶段,候选解之间通过信息交流,以期望产生性能更 好的解。
禁忌表控制(设 tabuk 表示第 k 个蚂蚁的禁忌表,tabuk (s) 表示禁忌表中第 s 个元素)。
⑶它完成周游后,蚂蚁在它每一条访问的边上留下外激素。
2. 蚁群算法基本原理
初始时刻,各条路径上的信息量相等,设ij (0) C (C 为常数)。蚂蚁 k
(k=1,2,…,m)在运动过程中,根据各条路径上信息量决定转移方向,用 pikj (t) 表 示在 t 时刻蚂蚁 k 由城市 i 转移到城市 j 的概率,
Pijk
(t)
ij
(t
)
ij
is
(t
)
sallowedk
(t) is
(t)
,
j allowedk
0, otherwise
其中, allowedk {0,1,K , n 1} tabuk 用 来表示蚂蚁 k 下一步 允许选择的
城市,tabuk (k 1, 2,L , m) 用以记录蚂蚁 k 当前所走过的城市,集合tabuk 随着进