蚁群算法应用

合集下载

蚁群算法及案例分析精选全文

蚁群算法及案例分析精选全文
问过的节点;另外,人工蚁
群在选择下一条路径的时
候并不是完全盲目的,而是
按一定的算法规律有意识
地寻找最短路径
自然界蚁群不具有记忆的
能力,它们的选路凭借外
激素,或者道路的残留信
息来选择,更多地体现正
反馈的过程
人工蚁群和自然界蚁群的相似之处在于,两者优先选择的都
是含“外激素”浓度较大的路径; 两者的工作单元(蚂蚁)都
正反馈、较强的鲁棒性、全
局性、普遍性
局部搜索能力较弱,易出现
停滞和局部收敛、收敛速度
慢等问题
优良的分布式并行计算机制
长时间花费在解的构造上,
导致搜索时间过长
Hale Waihona Puke 易于与其他方法相结合算法最先基于离散问题,不
能直接解决连续优化问题
蚁群算法的
特点
蚁群算法的特点及应用领域
由于蚁群算法对图的对称性以
及目标函数无特殊要求,因此
L_ave=zeros(NC_max,1);
%各代路线的平均长度
while NC<=NC_max
%停止条件之一:达到最大迭代次数
% 第二步:将m只蚂蚁放到n个城市上
Randpos=[];
for i=1:(ceil(m/n))
Randpos=[Randpos,randperm(n)];
end
Tabu(:,1)=(Randpos(1,1:m))';
scatter(C(:,1),C(:,2));
L(i)=L(i)+D(R(1),R(n));
hold on
end
plot([C(R(1),1),C(R(N),1)],[C(R(1),2),C(R(N),2)])

蚁群算法及其应用

蚁群算法及其应用
1
蚁群算法及沿着信息素较强的路径觅 食。 ▪ 信息素遗留:会在走过的路上会释放信息素,使得在一 定的范围内的其他蚂蚁能够觉察到并由此影响它们的行为。
2
蚁群算法及其应用
(1)环境:有障碍物、有其他蚂蚁、有信息素。 (2)觅食规则:范围内寻找是否有食物,否则看是否有信息素,每只蚂蚁都会以
蚁群算法及其应用
产生背景
▪ 20世纪90年代初,意大利科学家Marco Dorigo等受 蚂 蚁 觅 食 行 为 的 启 发 , 提 出 蚁 群 算 法 (Ant Colony Optimization,ACO)。 ▪ 一种应用于组合优化问题的启发式搜索算法。 ▪ 在解决离散组合优化方面具有良好的性能。
小概率犯错。 (3)移动规则:都朝信息素最多的方向移动,无信息素则继续朝原方向移动,且
有随机的小的扰动,有记忆性。 (4)避障规则:移动的方向如有障碍物挡住,蚂蚁会随机选择另一个方向。 (5)信息素规则:越靠近食物播撒的信息素越多,越离开食物播撒的信息素越少。
3

蚁群算法原理及其应用

蚁群算法原理及其应用

蚁群算法原理及其应用1.介绍蚁群算法蚁群算法是基于群体智能的一种优化算法,它是由蚂蚁觅食行为得到的灵感而设计的。

它通过模拟蚂蚁觅食时的信息素传递、挥发和追随机制,以寻找最优解,在优化搜索问题方面表现出了很高的效率和准确率。

蚁群算法的核心思想是通过模拟蚂蚁觅食时的联合行为,来寻找最优解。

在蚂蚁觅食的过程中,蚂蚁们会释放信息素,并且在寻找食物的过程中会不断地追随信息素浓度最高的路径。

最终,所有蚂蚁都会找到最短路径,这是通过信息素的积累实现的。

同样的,蚁群算法也是通过信息素的积累来找到最优解。

2.蚁群算法工作原理蚁群算法是基于蚂蚁觅食行为的优化算法,其主要的工作原理是通过模拟蚂蚁的联合行为寻找最优解。

其过程可以分为蚂蚁编号、路径选择、信息素更新三个阶段。

蚂蚁编号:首先,将每只蚂蚁进行编号,这个编号的目的是为了标识蚂蚁,以便于后面对信息素的更新和路径选择进行控制。

路径选择:在路径选择过程中,每只蚂蚁都会根据自己当前的位置,以及路径上已有的信息素浓度等因素,选择一条路径进行行走。

在这个过程中,蚂蚁们会保留走过的路径,并且释放信息素。

信息素更新:在信息素更新过程中,所有路径上的信息素浓度都会发生变化,其中信息素的浓度会受到蚂蚁在路径上的行走距离、信息素挥发率、以及其他因素的影响。

所有蚂蚁行走结束后,信息素更新过程便开始了。

3.蚁群算法的应用领域蚁群算法在解决优化问题方面具有很大的应用潜力,其能够用于很多领域。

以下是蚁群算法在各个领域的应用举例:(1)路径规划领域蚁群算法可以应用在路径规划领域中,用于求解最短路径和最优路径问题。

在实际应用中,蚁群算法在公共交通网络、航空路线规划、车辆路径优化等方面都表现出了很好的效果。

(2)组合优化领域蚁群算法在组合优化领域中得到了广泛的应用,可以用于解决如旅行商问题、装载问题、集合划分问题等复杂的组合优化问题。

(3)机器学习领域蚁群算法在机器学习领域的应用,包括聚类、分类、特征选择等方面。

蚁群算法的原理及其应用

蚁群算法的原理及其应用

蚁群算法的原理及其应用1. 蚁群算法的介绍蚁群算法(Ant Colony Optimization, ACO)是一种启发式优化算法,它模拟了蚂蚁在寻找食物路径时的行为。

蚁群算法通过模拟蚂蚁在信息素的引导下进行行为选择,来寻找最优解。

蚁群算法的核心思想是利用分布式的信息交流和反馈机制来完成问题的求解。

2. 蚁群算法的原理蚁群算法的原理可简述为以下几个步骤:1.创建蚁群:随机生成一定数量的蚂蚁,将其放置在问题的初始状态上。

2.信息素初始化:对于每条路径,初始化其上的信息素浓度。

3.蚂蚁的移动:每只蚂蚁根据一定的规则,在解空间中移动,并根据路径上的信息素浓度决定移动的方向。

4.信息素更新:每只蚂蚁在移动到目标位置后,根据路径的质量调整经过路径上的信息素浓度。

5.更新最优路径:记录当前找到的最优路径,并更新全局最优路径。

6.蚂蚁迭代:重复进行2-5步骤,直到满足终止条件。

3. 蚁群算法的应用蚁群算法被广泛应用于许多优化问题的求解,特别是在组合优化、路径规划、图着色等领域。

3.1 组合优化问题蚁群算法在组合优化问题中的应用主要包括旅行商问题(TSP)、背包问题(KP)、调度问题等。

通过模拟蚂蚁的移动和信息素的更新,蚁群算法可以找到全局最优解或接近最优解的解决方案。

3.2 路径规划问题在路径规划问题中,蚁群算法常被用于解决无人车、无人机等的最优路径规划。

蚁群算法能够在搜索空间中寻找最短路径,并考虑到交通拥堵等实际情况,提供合适的路径方案。

3.3 图着色问题蚁群算法可以用于解决图着色问题,即给定一个图,用尽可能少的颜色对其顶点进行着色,使得相邻顶点的颜色不同。

蚁群算法通过模拟蚂蚁的移动和信息素的更新,能够找到一种较好的图着色方案。

4. 蚁群算法的优缺点4.1 优点•收敛性好:蚁群算法能够在相对较短的时间内找到较优解。

•分布式计算:蚂蚁的并行搜索使得蚁群算法能够处理大规模复杂问题。

•鲁棒性强:蚁群算法对问题的可行域和约束条件的适应性较强。

蚁群算法应用场景

蚁群算法应用场景

蚁群算法应用场景
一、蚁群算法的概念
蚁群算法是一种仿生优化算法,以蚂蚁的行为模式为模型,通过模拟蚂蚁搜索食物的行为,在最短的时间内找到最优解的算法。

该算法在搜索路径到达最优解的过程中,可以充分利用食物的信息,以帮助蚂蚁到达最优解。

二、蚁群算法的应用场景
1、多目标优化问题
多目标优化问题是指在满足多个目标的情况下,求出最优解的问题,又称为复合优化问题。

蚁群算法在多目标优化中能够有效地解决这类问题,能够找到具有较高的效率的最优解。

2、网络路径优化
网络路径优化是为了求解两点之间最优路径,在满足网络要求的同时使得传输花费最小,以达到快捷通讯的目的。

蚁群算法可以在网络路径规划时帮助求解最优解,使整个网络路径规划的效率更高。

3、图像处理
图像处理是指对图像进行处理,以达到优化图像的操作,而蚁群算法能够有效地解决图像处理问题。

它可以自动地搜索图像,找出可以优化的特征,并优化图像,以提高图像质量。

4、规划与排序
规划与排序是指将一定的任务进行组合并排序,以达到最大的效率。

蚁群算法在规划与排序中可以有效地搜索任务,找出具有最优解
的排序组合,以提高效率。

5、求解调度问题
调度问题是指在满足约束情况下,求解满足最优的调度任务的问题。

蚁群算法在解决调度问题时可以有效地搜索调度任务,找出最优的调度组合,以达到最佳效果。

蚁群算法原理及其应用

蚁群算法原理及其应用

蚁群算法原理及其应用蚁群算法是一种模拟生物群体行为的智能优化算法,它源于对蚂蚁群体觅食行为的研究。

蚁群算法模拟了蚂蚁在觅食过程中释放信息素、寻找最优路径的行为,通过模拟这种行为来解决各种优化问题。

蚁群算法具有很强的鲁棒性和适应性,能够有效地解决复杂的组合优化问题,因此在工程优化、网络路由、图像处理等领域得到了广泛的应用。

蚁群算法的原理主要包括信息素的作用和蚂蚁的行为选择。

在蚁群算法中,蚂蚁释放信息素来引导其他蚂蚁的行为,信息素浓度高的路径会吸引更多的蚂蚁选择,从而增加信息素浓度,形成正反馈的效应。

与此同时,蚂蚁在选择路径时会考虑信息素浓度和路径长度,从而在探索和利用之间寻找平衡,最终找到最优路径。

这种正反馈的信息传递和路径选择策略使得蚁群算法能够在搜索空间中快速收敛到全局最优解。

蚁群算法的应用非常广泛,其中最为典型的应用就是在组合优化问题中的求解。

例如在旅行商问题中,蚁群算法可以有效地寻找最短路径,从而解决旅行商需要经过所有城市并且路径最短的问题。

此外,蚁群算法还被应用在网络路由优化、无线传感器网络覆盖优化、图像处理中的特征提取等领域。

在这些问题中,蚁群算法能够快速地搜索到较优解,并且具有较强的鲁棒性和适应性,能够适应不同的问题特征和约束条件。

除了在优化问题中的应用,蚁群算法还可以用于解决动态环境下的优化问题。

由于蚁群算法具有分布式计算和自适应性的特点,使得它能够在动态环境下及时地对问题进行调整和优化,适应环境的变化。

这使得蚁群算法在实际工程和生活中的应用更加广泛,能够解决更加复杂和实时性要求较高的问题。

总的来说,蚁群算法作为一种模拟生物群体行为的智能优化算法,具有很强的鲁棒性和适应性,能够有效地解决各种复杂的组合优化问题。

它的原理简单而有效,应用范围广泛,能够在静态和动态环境下都取得较好的效果。

因此,蚁群算法在工程优化、网络路由、图像处理等领域具有很大的应用前景,将会在未来得到更广泛的应用和发展。

蚂蚁群算法的原理与应用

蚂蚁群算法的原理与应用

蚂蚁群算法的原理与应用一、引言蚂蚁群算法(Ant Colony Algorithm)是一种仿生学算法,它从模拟蚂蚁寻找食物的行为中得到启示,通过模拟蚂蚁在一个环境中移动的过程,从而找到最优解。

二、蚂蚁群算法原理1. 蚂蚁行为模拟在蚂蚁群算法中,蚂蚁走的路线形成了图的结构,每个节点代表一个城市,边表示两个城市之间的路径。

蚂蚁执行一系列的行为,比如跟随其他蚂蚁、发现新的路径和留下路径信息等。

这些行为模拟蚂蚁在寻找食物时的行为。

2. 均衡信息素更新蚂蚁在走过一条路径后,会在路径上留下信息素,信息素的含量越多,蚂蚁就越有可能跟随这条路径。

然而,过多的信息素会导致所有蚂蚁只走这一条路径,无法寻找更优的路径。

因此,需要均衡信息素的含量,让所有路径都有被探索的机会。

3. 路径选择蚂蚁在走到一个城市后,需要选择下一个城市。

选择的概率与路径上的信息素含量以及该路径已经被其他蚂蚁走过的情况有关。

信息素含量高的路径以及没有被走过的路径,被选中的概率越高。

三、蚂蚁群算法应用1. 旅行商问题旅行商问题是一种经典的算法问题,它需要在多个城市之间找到一条最短的路径,使得每个城市都被访问,而且最终回到起点。

蚂蚁群算法可以用于解决这个问题,通过模拟蚂蚁在不同的路径上走过的情况,找到最短的路径。

2. 网络路由在一个复杂的网络中,需要选择不同的路径来传输数据。

传输路径的选择会影响网络的质量和效率。

蚂蚁群算法可以用于网络路由,通过蚂蚁在网络中寻找最优的路径,从而提高网络的稳定性和传输效率。

3.生产调度在生产过程中,需要对不同的任务进行调度,以保证生产效率和质量。

蚂蚁群算法可以用于生产调度,通过模拟蚂蚁在不同任务之间的选择过程,从而找到最优的调度方案。

四、结论蚂蚁群算法是一种有效的仿生学算法,在许多领域都有广泛的应用。

通过模拟蚂蚁在不同的环境中的行为,蚂蚁群算法可以找到最优的解决方案。

在未来,蚂蚁群算法有望在更多的领域得到应用,从而提高生产效率和质量。

蚁群算法在解决实际问题中的应用

蚁群算法在解决实际问题中的应用

蚁群算法在解决实际问题中的应用蚁群算法,在近年来的科技领域中,被广泛运用于解决实际问题的优化,并且获得了不俗的成功。

比如,路线最优化、任务分配、旅游路线规划等等。

蚁群算法源于蚂蚁为寻找更优食物源而形成的群体智能行为,其原理基本同生物蚂蚁族群中的寻食行为相同,即一只蚂蚁不会独立决策,它会跟随先前蚂蚁留下的信息素路径,这些信息素路径是通过其它蚂蚁释放而形成的。

在蚁群算法中,每只「虚拟蚂蚁」都会遍历空间中的每个点,然后选择最优解,最终达到全局最优解。

这种基于群体智能的方法,尤其在求解路线最优化的问题中具有极大的优势。

这里我们以路线最优化问题为例,探讨蚁群算法在实际问题中的应用。

首先,让我们看一个典型的路线规划问题——货车配送路径问题。

假设你经营着一个货运业务,需要使用卡车在城市间进行产品分发。

每个城市都有一些客户,你必须选择访问这些客户的最佳路径,以最小化总的行驶距离或时间。

假设你有一车的货物需要在抵达大约 25 个客户的目的地后进行配送,那么这个问题将会是十分复杂的。

对于每个低密度地带,你必须仔细权衡许多路线。

此时,正常的算法会遇到计算量大、难以优化等问题,常规方法只能使用相对缓慢的贪心算法,而蚁群算法就可以派上用场了。

可以将蚂蚁虚拟成卡车行驶的路径,构建一个包含路径信息素的模型来描述它。

虚拟蚂蚁会在不同的路径中搜索最优路径,只有找到较优的路径才会留下信息素,这样就模拟出这种行为。

在这个模型中,每一只蚂蚁 (即卡车) 都会随机选择一个出发点。

然后继续按照规定的算法搜索下一个点,直到到达终点。

在每次移动中,蚂蚁会根据相邻路径上留下的信息素的强度和距离决定自己的移动方向。

信息素浓度越高,这个路径就越被视为最优路径,更容易被选中。

每只蚂蚁在搜索路径时都要遵从此规定,不过会在非常规情况下(比如没有可选路径时)才随机选择路径。

如此一来,我们就模拟出了一群「行走的卡车」,他们会在每个点上留下留货记录;在寻找邻居时,将首先考虑这些路径以及留下的留货记录。

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

大连理工大学研究生必修课作业课程名称:现代物流管理研究生姓名:徐静学号:********作业成绩:任课教师(签名)交作业日时间:2016 年6 月1日蚁群算法在TSP问题上的应用摘要蚁群算法是受现实蚂蚁群体行为启发而得出的一类仿生算法。

本文以解决TSP问题为基础,系统地介绍了蚁群算法从诞生到成熟过程中几个代表性的算法。

在阐述算法基本思想的前提下,着重论述算法的创新之处。

关键词蚁群算法,TSP问题,蚁群优化1引言蚁群算法也称作蚁群优化(Ant Colony Optimization,ACO),最早是由Dorigo及其研究同伴所提出,用于求解诸如旅行商问题之类的组合优化问题。

自然界蚂蚁在其经过的路径上会留下某种生物信息物质(信息素),该物质会吸引蚁群中的其它成员再次选择该段路径;食物与巢穴之前较短的路径容易积累较多的信息素,因而使得更多的蚂蚁选择走该段路径,最终几乎所有的蚂蚁都集中在最短路径上完成食物的搬运。

Dorigo等从此现象中抽象出路径选择和信息素积累的数学模型,作为蚁群算法的核心,并通过对蚂蚁寻找最短路径的计算机模拟,实现了对TSP问题的求解。

自此,蚁群算法越来越多地被用于求解其它的组合优化问题,也被推广到工业工程上应用。

蚁群算法特点是并发性、鲁棒性、正反馈性等。

在蚁群算法求解问题的过程中,利用蚁群在问题空间中同时构造问题的多个解体现了算法的并发性。

蚁群不会因为单个蚂蚁寻找到较差的解或者因为问题空间发生改变而使得算法丧失作用,这体现了算法的鲁棒性。

在蚂蚁构造问题解的过程中,以蚁群觅食行为为例,会在经过的解路径上释放信息素,而解空间中获得信息素越多的路径,对蚂蚁的吸引力就越大,使更多的蚂蚁经过该路径并进一步在上面释放信息素,这体现了算法的正反馈性。

TSP问题代表一类组合优化问题,在实际工程中有许多应用,如计算机联网、电子地图、交通诱导、电气布线、VLSI单元布局、ATM分组交换网等。

鉴于其重要的工程与理论价值,TSP常作为算法性能研究的典型算例。

求其最优解的代价是指数级的,因此对其近似解的研究一直是算法设计的一个重要课题。

TSP问题是典型的NP完全问题,许多算验证法及算法效率测试都以TSP问题为基础。

在蚁群算法研究中,第一个蚁群算法,蚂蚁系统,就是在TSP问题的基础上提出来的。

而后,依据TSP问题,又提出了蚁群算法系列中具有代表性的蚁群系统、最大——最小蚂蚁系统。

本文以TSP问题为基础,对蚁群算法的基本问题及典型的蚁群算法进行了综述。

涉及到算法的基本问题、算法描述、算法改进及意义。

通过研究总结了蚁群算法的发展历程和实现思想。

2蚁群行为和TSP问题2.1蚁群行为蚁群的行为是整体协作,相互分工,以一个整体去解决一些对单个蚂蚁看上去是不可能完成的任务。

就目前来讲,蚁群至少有三个方面的行为特征对算法研究有很好的启发意义,分别是觅食行为、任务分配、死蚁堆积阁。

蚁群的觅食行为指蚂蚁从巢穴出发寻找食物并且将食物搬回巢穴的行为,当蚂蚁出外寻找食物时,会在自己走过的路径上释放一种称为信息素的物质,后续的蚂蚁一般更愿意走那些信息素强度更高的路径。

这样,较短路径上单位时间内通过的蚂蚁数目较多,留下的信息素也较多(浓度更高),对妈蚁产生了更强的吸引,使得更多的蚂蚁走较短的路径。

这就形成了一个正反馈机制,使得最终所有的蚂蚁都走蚁穴到食物源的最短路径。

蚁群的任务分配指蚁群内部能根据所需要完成的任务合理分配蚂蚁数t。

研究表明,从事不同任务的蚂蚁之间的比例是会变动的,也就是说从事任务A的蚂蚁可能会根据需要而从事任务B。

在基于这种蚁群行为的模型中,规定了每只妈蚁的反应阈值,同时每一个任务都有一个相关的激励(task-related stimuli)。

反应阈值与激励间的关系是:当某个任务的激励数值比蚂蚁的反映阈值大,那么这只蚂蚁就会加人到该任务执行者的行列中。

蚁群中,如果一群蚂蚁在执行某任务时出现执行滞后情况,那么该任务的激励数值就会变大,直到其数值大于某些未执行该任务的蚂蚁的反映阈值,从而吸引更多的蚂蚁来完成该任务,由此实现了任务的自动分配。

死蚁堆积与蚁穴清理行为:在蚁群的巢穴中,工蚁会对死蚂蚁进行搬运,使得那些死蚂蚁堆积到一起。

在这一堆积行为中,死蚁堆越大对工蚁的吸引力越大,使得更多的死蚂蚁被堆积到该蚁堆中,这样同样也形成了一个正反馈现象。

但是,并不是说所有的死妈蚁都会堆积到一起,而是最终会形成几个规模较大的蚁堆。

研究者对蚁群的这3种行为特征进行了深入的研究,并应用于最短路径优化、任务分配调度以及数据聚类等问题领域,得到了效率较高的许多启发式算法。

2.2TSP问题TSP问题是给定一个城市的集合以及城市之间的旅行代价,寻找经过每个城市一次且仅一次而最终回到起始城市旅行代价最小的路径。

如果构造一个图如下:图中的顶点为城市,顶点间的边表示城市间的交通线,边上的权为沿该交通线旅行的费用。

那么,TSP问题就抽象为在这个图中寻找最短哈密尔顿回路。

任意两个城市A、B,如果A到B的旅行代价和B到A旅行代价相等,称这样的TSP问题是对称的TSP问题(symmetric traveling salesman problem,STSP),否则称为不对称的TSP问题(asymmetric traveling salesman problem,ATSP)。

通常,在没有特别申明的情况下所提及的TSP问题指对称的TSP问题。

n个顶点的TSP问题中的路径指顶点的序列:L=x1,x2…x n,其中x i与x i+1(1≦i≦n-l)之间有边。

一条路径被称为合法路径,如果x i≠x j(i≠j, 1≦i≦n, 1≦j≦n)。

TSP问题本质上是数学优化问题,可以形式化地描述为:n−1Min(∑d(x i,x i+1)+d(x n,x1))i=1其中,d(x i,x i+1)表示顶点x i与顶点x i+1之间的距离。

算法研究表明,TSP问题是NP完全问题,其计算复杂度为(n!)。

自TSP问题提出以来,其求解方法得到了不断的改进。

目前已经可以对上万个城市的TSP问题进行求解阁。

近年来,以蚁群行为为基础的蚁群算法已成为一种较为有效的TSP问题求解方法。

3典型的蚁群算法这里,我们仅讨论与TSP问题相关的蚁群算法。

在蚁群算法研究及实现中,并不是直接模拟现实蚁群,而是采用人工蚂蚁(artificial ant)。

人工蚁群与现实蚁群的区别主要包括: (1)人工蚂蚁是有一定的记忆能力的,它可以记住己经走过的路径,以保证不会重复走相同的城市。

现实的蚁群是没有记忆的,蚂蚁间的信息交换主要依靠留在所经过路径上的信息素。

(2)人工蚂蚁不仅仅是依据信息素来确定要走的路径的,还依据一定的启发信息,比如相邻边的长度,这意味着人工蚂蚁具有一定的视觉能力,而真实蚂蚁几乎没有视觉。

(3)人工蚂蚁是生活在一个离散的时间环境下的。

我们仅考虑人工蚂蚁位于某个城市,而不考虑蚂蚁在城市间的移动过程,即只考虑在某些离散时间点上的蚂蚁。

而现实世界中的蚂蚁处于一个连续的时间维中。

3.1蚂蚁系统(Ant System)蚂蚁系统是第一个蚁群算法,它是Dorige等人于1991年首先提出来的。

蚂蚁系统有三种基本模型,分别是蚁周模型、蚁密模型、蚁量模型。

三种模型的实现大致相同,主要区别是在信息素的更新方式上。

在用蚂蚁系统解决TSP 问题时,蚁量模型和蚁密模型是蚂蚁在构建一条合法路径的过程中进行信息素的更新的,当蚂蚁走过一条边之后,就对该边进行信息素的更新,后文将这种更新称为局部更新。

而蚁周模型是在所有蚂蚁都构建了一条合法路径之后才对各边进行信息素更新的,后文将这种更新称为全局更新,并且三者在蚂蚁释放信息素的量上面也不同。

蚁密模型中,蚂蚁在自己所走过的边上所释放的信息素是一个常量Q,而蚁量模型中,蚂蚁在自己所走过的边上释放的信息素是Q/d ij,其中Q是一个常量,而d ij是蚂蚁走过边的长度。

蚁周模型中蚂蚁释放信息素的量在后文说明。

由于蚁周模型是三种模型中性能最好的,下面主要从蚁周模型的角度来讨论蚂蚁系统。

蚂蚁系统的基本思想是:(1)预先初始化各边信息素强度、以及各蚂蚁的禁忌表。

各蚂蚁按照一定的概率规则,在禁忌表的制约下选择下一个要到达的结点,直到最终形成一条合法路径。

(2)计算各蚂蚁所产生的路径长度,路径长度是路径中各边长度之和。

(3)更新各边的信息素。

各边先进行信息素挥发操作,然后根据各蚂蚁产生的路径长度获取蚂蚁所释放的信息素。

(4)当所有蚂蚁均完成了信息素的更新操作之后,记录当前的最短路径,并且对禁忌表以及信息素的增加值进行初始化,并转到步骤2。

依此循环下去,直到满足算法的终了条件为止,比如解无法得到进一步的改进或者达到了事先规定的循环次数。

在蚂蚁系统具体包括了三个方面的内容。

第一、初始化。

对于每条边上的信息素初始化为一个较小的数值r0;对每只蚂蚁,需要一个禁忌表记录自己已经走过的结点,初始化其禁忌表为该蚂蚁所在的结点,禁忌表长度为1。

蚂蚁在各边上释放信息素的量被初始化为0。

第二、蚂蚁构造路径。

蚂蚁按照一定的概率确定下一步要到达的城市。

概率的计算如下式。

上式表示蚂蚁在t时刻由城市i选择城市j的概率。

α是信息素在概率计算中的权重,它的值越大,信息素在蚂蚁选择下一个要到的城市中起到的作用越大。

β是启发因子(在TSP 问题中常以d ij的倒数来表示)在概率计算中所占的权重,它的值越大,启发因子在蚂蚁选择城市的过程中所起的作用越大。

N h(i)是不在蚂蚁禁忌表中的城市集合。

上式说明,蚂蚁不会选择禁忌表中的城市,这样就保证了解的合法性。

第三、对信息素的操作。

在蚁周模型中,当所有的蚂蚁都找到了一条合法路径之后,就进行信息素的更新,如下式。

其中, 表示在x时刻边ij上的信息素。

ρ是信息素维持因子,1-ρ是信息素的挥发因子。

是所有蚂蚁在边ij上所释放的信息素的总和,如下式。

其中m是蚂蚁的数量,是妈蚁k在t到t+l时间内在边ij上所释放的信息素,大部分的蚁群算法都是在蚂蚁系统的基础上发展而来的。

它们都是将蚂蚁系统与具体问题相结合,并且在蚂蚁系统的基础之上引入一些新的控制机制。

故,通常都是把蚂蚁系统认为是蚁群算法的先驱与研究的基础。

3.2蚁群系统蚂蚁系统(Ant Colony System,ACS)是第一个蚁群算法,在解决规模较小的TSP问题的时候效果很好,但是随着问题的规模扩大,蚂蚁系统就会出现收敛速度过慢的问题。

在1996年,Dorigo在蚂蚁系统的基础之上又提出了蚁群系统。

蚁群系统的基本思想是:将m只蚂蚁按照一定的规则(随机)放于n个结点。

每一只蚂蚁通过伪随机规则,也称状态转移规则创建一条合法路径。

在创建路径的过程中,每一只蚂蚁通过局部更新规则对自己所走过的边进行信息素的更新操作。

相关文档
最新文档