群智能是近年来人工智能研究的一个热点话题蚁群算法作 - 图文

更新时间:2023-12-07 00:31:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘 要

群智能是近年来人工智能研究的一个热点话题。蚁群算法作为群智能算法的一个热点,是意大利学者M. Dorigo通过模拟蚁群觅食行为提出的。本文首先介绍了群智能,然后详细介绍蚁群算法原理及其优缺点。接着依据大量实验对参数m、α、β、ρ、Q的选择进行研究,得出其选择规律,并在以前学者“三步走”的基础上提出了一种“四步走”的有效方法来选择蚁群算法最优组合参数,然后对蚁群改进算法进行分析,同时以实验的方式对这几种算法各自求解TSP问题的性能进行了对比分析,得出性能结果排名,并发现当TSP问题最优解相同时还可以依据其他性能(迭代次数、迭代时间等)得出最优结果,最后还对陈烨的“蚁群算法实验室”的可视化编程进行了优化和改进,使之能够更方便的用于几种算法性能比较和同种算法不同参数的比较。

【关键词】 群智能;蚁群算法;参数选择;TSP;可视化

Experimental Analysis and Parameter Selection for the

Ant Colony Optimization Algorithm

Xu Hui

I

Abstract:

Swarm intelligence has been a hot spot in the field of artificial intelligence in recent years. Among the algorithms of swarm intelligence, ant colony algorithm was presented by an Italy scholar M. Dorigo learning from the behavior simulating ant colony foraging. Firstly, this paper has introduced the group intelligence and promoted the ant colony algorithm, obtained the choice regular of “m, α, β, ρ, Q” basing on the experiment, and proposed an effective method named “four steps” in the fundation of others scholars’ “three steps” to choose the most superior combination parameter of ant group algorithm, then analied the six kinds improved algorithm of ant colony ant colony algorithm, at the same time explained the ability of several kinds of ant algorithm to solve the TSP question according to the experiments; obtained the most superior result according to other performance (iterative number of times, iterative time and so on) when the most superior result of TSP question optimal solution is same. Finally, this paper also has carried on the optimization and the improvement to the visible programming of ChenYe’s “ant colony algorithm laboratory” to enable it more convenient to use in several algorithms performance comparison and the comparison of different parameter and homogeneous algorithm.

Key words:

Swarm intelligence; Ant colony algorithm; Parameter Selection; TSP; Visualization

目 录

1 绪论............................................................................................................................ 1 1.1 引言 .................................................................................................................... 1 1.2 群智能 ................................................................................................................ 1 1.3 蚁群算法的提出 ................................................................................................ 2

II

1.4 本文研究工作 .................................................................................................... 2 2 蚁群算法概述.......................................................................................................... 3 2.1 蚁群算法基本原理 ............................................................................................. 3 2.2 蚁群算法的优点与不足 ..................................................................................... 5 2.3 本章小结 ............................................................................................................ 5 3 蚁群算法的参数设置研究...................................................................................... 5 3.1 硬件/软件环境平台 ........................................................................................... 6 3.2 蚂蚁数目对基本蚁群算法的影响 .................................................................... 6 3.3 信息启发式因子和期望值启发式因子 ............................................................ 8 3.4 信息素残留系数 .............................................................................................. 9 3.5 总信息量 .......................................................................................................... 10 3.6 本章小结 .......................................................................................................... 11 4 蚁群算法实验分析................................................................................................ 11 4.1 改进的蚁群优化算法 ...................................................................................... 11 4.1.1 最优解保留策略蚂蚁系统....................................................................... 11 4.1.2 蚁群系统................................................................................................... 12 4.1.3 最大-最小蚂蚁系统 ................................................................................. 12 4.1.4 基于排序的蚂蚁系统............................................................................... 12 4.1.5 The Best-Worst Ant System ..................................................................... 13 4. 2 实验仿真及算法性能比较分析 ..................................................................... 13 4.2.1 硬件/软件环境平台 ................................................................................. 14 4.2.2 重要参数设置........................................................................................... 14 4.2.3 实验结果................................................................................................... 14 4.3 本章小结 .......................................................................................................... 16 5 可视化编程............................................................................................................ 16 5.1 “蚁群算法实验室”的优点与不足 ..................................... 错误!未定义书签。 5.2 最大最小蚁群算法的图形化演示的改进 ....................... 错误!未定义书签。 5.3 本章小结............................................................................ 错误!未定义书签。 6 结论与展望.............................................................................................................. 16 参考文献...................................................................................................................... 17 致 谢........................................................................................ 错误!未定义书签。 附 录........................................................................................ 错误!未定义书签。

III

江西财经大学本科毕业设计

1 绪论

自蚁群算法提出以来,就引起了国内外学者的广泛关注,提出了很多改进算法。参数的设置直接影响到算法的性能,所以对参数设置的研究越来越重要,而目前对它的研究大多还处于实验分析阶段。

1.1 引言

随着人们对生命本质的不断了解,生命科学也以前所未有的速度迅猛发展,使人工智能的研究开始摆脱经典逻辑计算的束缚,大胆探索起新的非经典计算途径。在这种背景下,社会性动物的自组织行为引起了人们的广泛关注,许多学者对这种行为进行数学建模并用计算机对其进行仿真,这就产生了所谓的“群智能”。

受蚂蚁总能找到一条从蚁巢到食物源的最短路径的启发,意大利学者M. Dorigo与20世纪90年代提出了一种新型的智能优化算法—蚁群优化算法(Ant Colony Optimization,ACO)[1]。在不长的时间里,蚁群算法得到了不断发展和完善,而且被用于解决大多数优化问题或者能够转化为优化求解的问题,现在其应用领域已扩展到多目标优化、数据分类、数据聚类、模式识别、电信QoS管理、生物系统建模、流程规划、信号处理、机器人控制、决策支持以及仿真和系统辩识等方面。

1.2 群智能

群智能指的是“无智能的主体通过合作表现出智能行为的特性”[2],是一种基于生物群体行为规律的计算技术。它受社会昆虫,例如蚂蚁、蜜蜂和群居脊椎动物,又如鸟群、鱼群和兽群等的启发,解决分布式问题。它在没有集中控制并且不提供全局模型的前提下,为寻找复杂的分布式问题的解决方案提供了一种新的思路。

有些专家在研究自然界的生物群体系统时,惊奇地发现社会昆虫和群居的脊椎动物能发现新的食物源、在群体内部产生劳动分工,建筑庞大复杂的巢穴、跨越几千公里迁徙到指定地区和在狭窄的空间内协调调度等。这些社会性动物的自组织行为引起了人们广泛的关注,许多学者对这种行为进行数学建模并用计算机对其进行仿真,发现群智能有如下特点和优点[2]:

(1) 群体中相互合作的个体是分布的(Distributed),这样更能够适应当前网络环境下的工作状态。

1

江西财经大学本科毕业设计

(2) 没有中心的控制与数据,这样的系统更具有鲁棒性(Robust),不会由于某一个或者某几个个体的故障而影响整个问题的求解。

(3) 可以不通过个体之间直接通信,而是通过非直接通信进行合作,这样的系统具有更好的可扩充性(Scalability)。

(4) 由于系统中个体的增加而增加的系统通信开销在这里是十分小的,系统中每个个体的能力十分简单,这样每个个体的执行时间比较短,并且实现也比较简单,具有简单性(Simplicity)。

1.3 蚁群算法的提出

目前,群智能理论研究领域包括两种主要算法:蚁群算法(Ant Colony Optimization,简记ACO)和粒子群算法(Particle Swarm Optimization,简记PSO)。而以蚁群算法为代表的群体智能已成为当今分布式人工智能研究的一个热点,它是由意大利学者M. Dorigo、V. Maniez-zo、A. Colorini[3,4,5]等人从生物进化机制中受到启发,通过模拟自然界蚂蚁搜索路径的行为后,于1991年首先提出的,也叫蚂蚁系统(Ant System,AS)。M. Dorigo等人充分利用蚁群搜索食物的过程与著名的旅行商问题(Traveling Salesman Problem)之间的相似性,吸收了蚂蚁的行为特征,设计虚拟的“蚂蚁”摸索不同的路线,并留下会随时间逐渐消失的虚拟“信息量”[2]。虚拟的“信息量”会挥发,当蚂蚁每次随机选择要走的路径时,倾向于选择信息量比较浓的路径。根据“信息量浓度更近”的原则,既可选择出最佳路线。

虽然蚁群算法的研究时间不长,但初步研究已显示它在求解复杂优化问题方面具有很大优势,特别是1998年在比利时布鲁塞尔专门召开了第一届蚂蚁优化国际研讨会后,现在每两年召开一次这样的蚂蚁优化国际研讨会。这标志着蚁群算法的研究已经得到国际上的广泛支持,使得这种新兴的智能进化仿生算法展现出了勃勃生机[6]。

1.4 本文研究工作

本文围绕蚁群算法的原理、改进及其应用展开研究,全文共分六章,各章内容安排如下:

第一章:绪论

本章首先对群智能进行介绍,然后阐述蚁群算法产生的背景。 第二章:蚁群算法概述

本章详细介绍蚁群算法原理及其优缺点。 第三章:蚁群算法的参数设置研究

2

江西财经大学本科毕业设计

本章针对参数设置进行大量实验,并对实验结果做出研究分析,得出参数m,α,β,ρ,Q的选择规律,在此基础上,提出新的有效方法对蚁群算法最优组合参数进行选择。

第四章:蚁群算法实验分析

本章分析几种改进的蚁群算法,并采用国际上通用的测试问题库TSPLIB中的对称TSP问题作为测试对象,通过仿真试验对六种算法各自求解TSP问题的性能进行比较,得出当TSP问题最优解相同时,可依据其他性能(迭代次数、迭代时间等)得出TSP问题的最优结果。 第五章:可视化编程

针对陈烨的“蚁群算法实验室”进行优化和改进。 第六章:结论与展望 总结本文工作,提出展望。

2 蚁群算法概述

下面详细介绍蚁群算法原理及其优缺点。

2.1 蚁群算法基本原理

现实生活中单个蚂蚁的能力和智力非常简单,但他们能通过相互协调、分工、合作来完成筑巢、觅食、迁徙、清扫蚁穴等复杂行为,尤其以蚂蚁总能找到一条从蚁巢到食物源的最短路径而令人惊叹。

根据仿生学家的长期研究发现:蚂蚁虽没有知觉,但运动时会通过在路径上释放出一种特殊的分泌物-信息素来寻找路径。蚂蚁个体之间就是利用信息素作为介质来相互交流、合作的。某条路上经过的蚂蚁越多,信息素的强度就会越大,而蚂蚁能感知路上信息素的存在和强度,它们倾向于选择外激素强度大的方向,因为通过较短路径往返于食物和巢穴之间的蚂蚁能以更短的时间经过这条路径上的点,所以这些点上的外激素就会因蚂蚁经过的次数增多而增强,这样就会有更多的蚂蚁选择此路径,这条路径上的外激素就会越来越强,选择此路径的蚂蚁也越来越多。直到最后,几乎所有的蚂蚁都选择这条最短的路径。

蚁群算法可以表述如下:在算法的初始时刻,将m只蚂蚁随机地放到 n 座城市,同时,将每只蚂蚁的禁忌表的第一个元素设置为它当前所在的城市。此时各路径上的信息素量相等,设τij(0) = C(C 为一较小的常数),接下来,每只蚂蚁根据路径上残留的信息素量和启发式信息(两城市间的距离)独立地选择下一

k(t)为: 座城市,在时刻 t,蚂蚁 k 从城市i转移到城市j 的概率pij 3

江西财经大学本科毕业设计

???(t)?????(t)????ij???ij??, if j?Jk(i)? pk(t)??(t)?????? (2. 1) isis??ij?s?Jk(i)??0, otherwise其中,Jk(i)= {1,2,……,n}- tabuk 表示蚂蚁 k 下一步允许选择的城市集合。列表tabuk记录了蚂蚁 k 当前走过的城市。当所有 n 座城市都加入到tabuk中时,蚂蚁 k 便完成了一次周游,此时蚂蚁 k 所走过的路径便是 TSP 问题的一个可行解。(2. 1)式中的ηij 是一个启发式因子,表示蚂蚁从城市 i 转移到城市 j 的期望程度。在 AS 算法中,ηij 通常取城市 i 与城市 j 之间距离的倒数。α和β分别表示信息素和启发式因子的相对重要程度。当所有蚂蚁完成一次周游后,各路径上的信息素根据(2. 2)式更新。

?ij?t?n??(1??)??ij(t)???ij (2. 2) ??ij????k?1mkij (2. 3)

其中ρ(0 < ρ <1)表示路径上信息素的蒸发系数,1-ρ 表示信息素的持久性系数;△τ△τ

k

ij

表示本次迭代边 ij 上信息素的增量。△τ

k

ij

表示第 k 只蚂蚁在本次

k

ij的值为零。

迭代中留在边ij 上的信息素量。如果蚂蚁 k 没有经过边 ij,则△τ

ij表示为:

?Q 在本次周游中经过边kij?, 若蚂蚁kL??? ij?K (2. 4) ?0, 否则 ?其中,Q 为正常数,Lk 表示第 k 只蚂蚁在本次周游中所走过路径的长度。

M. Dorigo 提出了 3 种 AS 算法的模型 [7], 式 (2.4) 称为 ant-cycle,另外两个模型分别称为 ant-quantity 和 ant-density,其差别主要在 (2. 4) 式,即:在 ant-quantity 模型中为: ?Q蚂蚁 在时刻kt和t+1经过边ij?d, k ??ij??ij (2. 5)

?0, 否则 ? 在 ant-density 模型中为:

在时刻 tk和t+1经过边?Q, 蚂蚁k?? ??ij (2. 6) 0, 否则 ?AS算法实际上是正反馈原理和启发式算法相结合的一种算法。在选择路径时,蚂蚁不仅利用了路径上的信息素,而且用到了城市间距离的倒数作为启发式因子。实验结果表明,ant-cycle 模型比 ant-quantity 和 ant-density 模型有更好的性能。这是因为 ant-cycle 模型利用全局信息更新路径上的信息素量,而 ant-quantity 和ant-density 模型使用局部信息。AS 算法的时间复杂度为Ο(NC*n2*m) ,算法的空间复杂度为S(n)=O(n2)+O(n*m) ,其中 NC 表示迭代的次

4

江西财经大学本科毕业设计

数,n 为城市数,m为蚂蚁的数目。

2.2 蚁群算法的优点与不足

众多研究已经证明 AS 算法具有很强的发现较好解的能力,这是因为该算法不仅利用了正反馈原理,在一定程度上可以加快进化过程,而且是一种本质上并行的算法。它有如下优点[8]:

(1) 较强的鲁棒性:对蚁群算法模型稍加修改,便可以应用于其它问题。 (2) 分布式计算:蚁群算法是一种基于种群的进化算法,具有本质的并行性,易于实现。

(3) 易于与其他方法结合:蚁群算法很容易与多种启发式算法结合,以改善算法的性能。

同时它也存在一些缺陷:

(1)限于局部最优解,从算法解的性质而言,蚁群算法也是在寻找一个比较好的局部最优解,而不是强求是全局最优解。

(2)工作过程的中间停滞问题(stagnation behaviour),和算法开始时收敛速度快一样,在算法工作过程当中,迭代到一定次数后,蚂蚁也可能在某个或某些局部最优解的邻域附近产生停滞。

(3)较长的搜索时间,尽管和其他算法相比,蚁群算法在迭代次数和解的质量上都有一定的优势,但对于目前计算机网络的实际情况,还是需要较长的搜索时间。虽然计算机计算速度的提高和蚁群算法的并行性在一定程度上可以缓解这一问题,但是对于大规模复杂的计算机网络,这还是一个很大的障碍。

2.3 本章小结

本章主要介绍了蚁群算法基本原理,并针对其优缺点,进行了介绍和讨论。蚂蚁通过释放一种特殊的分泌物-信息素来寻找路径,蚂蚁个体之间也通过信息素进行交流与合作。蚁群算法的优势主要体现在鲁棒性,分布式,移植性等方面,而其缺陷,就目前来说,主要在局部最优,工作停滞,搜索时间长等方面。

3 蚁群算法的参数设置研究

蚁群算法在TSP 问题应用中取得了良好的效果,但也存在下列不足: (1) 如果参数α、β、ρ、m、Q等设置不当,会导致求解速度很慢且所得解的质量特别差;

(2) 基本蚁群算法计算量大,求解所需的时间较长;

(3) 基本蚁群算法中理论上要求所有的蚂蚁选择同一路线,该线路即为所求

5

江西财经大学本科毕业设计

的最优线路;但在实际计算中,在给定一定循环次数的条件下很难实现这种情况。 另一方面,在其他的实际应用中,如图像处理中寻求最优模板问题,并不要求所有的蚂蚁都能找到最优模板,而只需要一只找到即可。如果要求所有的蚂蚁都找到最优模板,反而影响了计算效率。

目前,对基本蚁群算法的参数设置和属性的研究大多还处于实验阶段,M. Dorigo [3,4] 等人通过大量的实验对蚂蚁系统的参数和基本属性进行了探讨。讨论的参数包括:

m ——蚂蚁数目;

α ——信息素的相对重要程度; β ——启发式因子的相对重要程度;

ρ ——信息素蒸发系数((1-ρ)表示信息素的持久性系数); Q ——蚂蚁释放的信息素量。

在实验中,为了观察某个参数对算法性能的影响,在测试该参数时,其它参数取缺省值。各参数的缺省值为m = n*1/4(本文中为21),α =1,β =5,ρ = 0. 5,Q =100。

在实验中,本实验每组数据试验5次取平均和最优作比较,试验中所用的TSP 问题数据来源于Eil51 城市问题,迭代次数100次。

3.1 硬件/软件环境平台

本实验采用的硬件/软件环境分别为:CPU 2. 4GHz,内存 256 M,硬盘容量 80G,安装的是Microsoft windows XP(Service Pack 2)操作系统,开发平台是Microsoft Visual C++ 6. 0 。

3.2 蚂蚁数目对基本蚁群算法的影响

对于 TSP 问题,单个蚂蚁在一次循环中所经过的路径,表现为问题可行解集中的一个解,m 只蚂蚁在一次循环中所经过的路径,则表现为问题可行解集中的一个子集。显然,子集大(即蚂蚁数量多)就可以提高蚁群算法的全局搜索能力以及算法的稳定性;但是,蚂蚁数目增大后,会使大量的曾被搜索过的解(路径)上的信息量的变化比较平均,信息正反馈的作用不明显,搜索的随机性尽管得到了加强,但收敛速度减慢;反之,子集较小(即蚁群数量少),特别是当要处理的问题规模比较大时,会使那些从来未被搜索到的解(路径)上的信息量减小到接近于 0,搜索的随机性减弱,虽然收敛速度加快,但会使算法的全局性能降低,算法的稳定性差,容易出现过早停滞现象。关于蚁群算法中蚂蚁数量m 的选择,也应该综合考虑算法的全局搜索能力和收敛速度两项指标,针对具体问题的应用

6

江西财经大学本科毕业设计

条件和实际要求,在全局搜索能力和收敛速度两方面作出合理或折衷的选择。

关于蚂蚁数目m对算法性能的影响及其在实际应用中的选择,本文通过计算机仿真实验来分析和确定,本文使蚂蚁数目变化为{5、7、9、11、13、15、17、19、21、23、25、27、29、31},蚂蚁数目m对算法性能的影响仿真结果如表3-1和图3-1所示。

蚂蚁数目 5 7 9 11 13 15 17 19 21 23 25 27 29 31 表3-1 蚂蚁数目m对算法性能的影响的结果 最优(最短)路径长度 运行的时间(s) 463. 987076 8. 828 465. 009199 14. 11 457. 001478 9. 781 453. 741327 13. 187 452. 822716 14. 172 456. 116011 13. 531 451. 117321 12. 75 445. 624177 14. 187 446. 078695 13. 188 447. 001731 13. 921 452. 299202 13. 11 446. 078695 21. 468 451. 223204 14. 171 450. 776659 13. 515 最优(最短)路径长度4704654604554504454404355791113151719212325272931蚂蚁数目最优(最短)路径长度图3-1 蚂蚁数目m对算法性能的影响的仿真结果

关于蚁群算法中蚂蚁数量m 的选择,要综合考虑算法的全局搜索能力和收敛速度两项指标,针对具体问题的应用条件和实际要求,在全局搜索能力和收敛速度两方面做出合理或折衷的选择,图 3-1 为实验所得的结果,其中横轴表示蚂蚁数,纵轴表示发现最优解。从图中可以看出当m在1/4~2/5之间时,蚁群算法可以找到最优解,通过本实验和其他学者的研究,本文最终得出蚂蚁数目应该在1/4~2/5之间,而且当城市数目规模较小时蚂蚁数目m应该尽量靠近2/5(如果很小可以考虑m=n),当城市数目规模较大时蚂蚁数目m应该尽量靠近1/4,因为这样综合考虑了算法的全局搜索能力和收敛速度两项指标,可以使得找到最

7

江西财经大学本科毕业设计

优解并且全局搜索能力和收敛速度都是比较好,算法的各项性能相对平稳。

3.3 信息启发式因子和期望值启发式因子

信息启发式因子α反映蚂蚁在运动过程中所积累的信息量(即残留信息量τ

ij(t))在指导蚁群搜索中的相对重要程度,期望值启发式因子β

反映蚂蚁在运动过

程中启发信息(即期望值ηij )在指导蚁群搜索中的相对重要程度[9]。期望值启发式因子β的大小反映了蚁群在路径搜索中先验性、确定性因素作用的强度,其值越大,蚂蚁在某个局部点上选择局部最短路径的可能性越大,虽然搜索的收敛速度得以加快,但是,蚁群在最优路径的搜索过程中随机性减弱易于陷入局部最优;而信息启发式因子α的大小则反映了蚁群在路径搜索中随机性因素作用的强度,其值越大,蚂蚁选择以前走过的路径的可能性越大,搜索的随机性减弱,当α值过大也会使蚁群的搜索过早陷于局部最优。蚁群算法的全局寻优性能,首先要求蚁群的搜索过程必须有很强的随机性;而蚁群算法的快速收敛性能,又要求蚁群的搜索过程必须要有较高的确定性。因此两者对蚁群算法性能的影响和作用是相互配合、密切相关的。要想得到好的结果应该适当选择α 和 β 的取值范围,一般α=0. 5~5,β=1~5[9]。因为两者相互配合、密切相关,本文对α和β采用组合方式讨论其对蚁群算法性能的影响。取α为{0. 5、1、2、5},β为{1、2、5},进行组合仿真实验,实验结果如表3-2和图3-2所示。

表3-2 α和β组合方式对算法性能结果 信息素浓度影响力参数a 启发式信息影响力参数b 最优(最短)路径长度 运行的时间 0. 5 1 703. 903156 14. 265 0. 5 2 531. 142891 19. 203 0. 5 5 458. 382479 17. 797 1 1 481. 415788 17. 718 1 2 461. 263149 15. 64 1 5 447. 001731 12. 093 2 1 475. 705652 23. 703 2 2 458. 06051 12. 062 2 5 459. 590417 12. 406 5 1 538. 124487 12. 703 5 2 465. 841233 24. 25 5 5 465. 767435 24. 375 8

江西财经大学本科毕业设计

最优(最短)路径长度800600400200012512512521525550.50.50.511122α和β组合最优(最短)路径长度图3-2 α和β组合方式对算法性能的仿真结果

以上实验告诉我们,如果要增加蚁群算法的快速收敛性能,而且又要求蚁群的搜索过程必须要有较高的确定性,就要同时选择好α和β,因为它们对蚁群算法性能的影响和作用是相互配合、密切相关的。而本文在大量实验的基础上得出,要想得到更优的结果则选择α =1,β =5。

3.4 信息素残留系数

在蚁群算法中,随着时间的推移,蚂蚁留下的信息素会逐渐消逝。在算法模型中用参数1-ρ表示信息消逝程度(或称信息素挥发度),而ρ就是信息素残留系数。蚁群算法与遗传算法等各种模拟进化算法一样,也存在着收敛速度慢、易于陷入局部最优等缺陷。而信息素挥发度1-ρ的大小直接关系到蚁群算法的全局搜索能力及其收敛速度:由于信息素挥发度1-ρ的存在,当要处理的问题规模比较大时,会使那些从来未被搜索到的路径(可行解)上的信息量减小到接近于 0,因而降低了算法的全局搜索能力,而且当1-ρ过大时以前搜索过的路径被再次选择的可能性过大,也会影响到算法的随机性能和全局搜索能力;反之,通过减小信息素挥发度1-ρ 虽然可以提高算法的随机性能和全局搜索能力,但又会使算法的收敛速度降低。蚁群算法中信息素挥发度1-ρ 的选择,必须综合考虑算法的全局搜索能力和收敛速度两项性能指标,针对具体问题的应用条件和实际要求,在全局搜索能力和收敛速度两方面作出合理或折衷的选择。为了使算法的性能比较稳定和一致,搜索的全局性和收敛速度都比较好,本文通过计算机仿真实验来分析和确定,本文使信息素残留系数 ρ变化为{0. 1、0. 2、0. 3、0. 4、0. 5、0. 6、0. 7、0. 8、0. 9、0. 95、0. 99},信息素残留系数 ρ对算法性能的影响仿真结果如表3-3和图3-3所示。

9

江西财经大学本科毕业设计

表3-3信息素衰减因子ρ对算法性能的结果 路径上信息素衰减因子p 0. 1 0. 2 0. 3 0. 4 0. 5 0. 6 0. 7 0. 8 0. 9 0. 95 0. 99 最优(最短)路径长度 448. 317777 453. 848623 444. 568507 455. 270271 445. 624177 448. 123656 454. 303519 448. 317777 448. 384141 449. 377717 449. 793843 运行的时间 22. 5 38. 046 16. 016 15. 953 14. 187 12. 703 17. 656 14. 047 11. 907 15 13. 125

最优(最短)路径长度458456454452450448446444442440438最优(最短)路径长度0.10.20.30.40.50.60.70.80.90.950.99图3-3 信息素衰减因子ρ对算法性能的仿真结果

为了对蚁群算法中信息素挥发度1-ρ进行选择,必须综合考虑算法的全局搜索能力和收敛速度两项性能指标,针对具体问题的应用条件和实际要求,在全局搜索能力和收敛速度两方面做出合理或折衷的选择。为了使算法的性能比较稳定和一致,搜索的全局性和收敛速度都比较好,通过上述实验可以知道要想得到好的结果本文建议ρ=0. 5(1-ρ=0. 5)。

3.5 总信息量

在蚁群模型中总信息量Q为蚂蚁循环一周时释放在所经过的路径上的信息素总量一般的理解是:总信息量Q越大则在蚂蚁已经走过的路径上信息素的累积加快,可以加强蚁群搜索时的正反馈性能,有助于算法的快速收敛。由于在蚁

10

江西财经大学本科毕业设计

群算法中各个算法参数的作用实际上是紧密耦合的,其中对算法性能起着主要作用的应该是信息启发式因子α 、期望启发式因子 β和信息残留常数ρ等三个参数。总信息量Q对算法性能的影响则有赖于α、β和ρ三个参数的配置以及算法模型的选取,例如在蚁周模型和蚁密模型中总信息量Q对算法性能的影响情况有较大的差异。总信息量对蚁周模型蚁群算法的性能没有明显的影响,一般取Q =100[10]。

3.6 本章小结

本章通过大量实验说明了信息素残留因子1-ρ、信息启发式因子α、期望启发式因子β、信息素强度Q、蚂蚁数目m等都是非常重要的参数,其选区方式和选区原则直接影响到蚁群算法的全局收敛性和求解效率,还通过实验得出这些参数的选择规律,并提出了这种“四步走”来选择蚁群算法最优组合参数的有效方法:

(1)确定蚂蚁数目m,根据 城市规模 / 蚂蚁数目 ≈1/4~2/5的选择策略来确定蚂蚁的总数目。

(2)参数微调,即调整数值范围较小的信息素残留因子1-ρ(以0. 1为单位调整),要想得到好的结果本文建议1-ρ= 0. 5。

(3)参数中调,即调整数值范围适中的信息启发式因子α、期望启发式因子β(以1为单位调整),并且α和β要使用组合方式才可以得到较理想的解,要想得到好的结果本文建议α =1,β =5。

(4)参数粗调,即调整数值范围较大的信息素强度Q参数(以10或更大的数为单位调整),已得到较理想的解,要想得到好的结果本文建议Q=100。

4 蚁群算法实验分析

下面对目前最流行的几种蚁群算法进行性能比较分析。

4.1 改进的蚁群优化算法

为了克服AS的问题,很多学者对其进行研究,并提出了一些改进措施,下面将介绍五种蚁群优化算法。

4.1.1 最优解保留策略蚂蚁系统

通过使用最优蚂蚁可以提高蚂蚁系统中解的质量[7]。在最优解保留策略蚂蚁系统(Elitist Ant System,简称 EAS)中,每次迭代完成后,全局最优解得到更进一步的利用,即在对信息素进行更新时,就好像有许多的最优蚂蚁选择了该路

11

江西财经大学本科毕业设计

径。与 AS 算法相比,ASelite算法在信息素更新时加强了对全局最优解的利用,其信息素更新策略为:

*?(t?1)?(1??)*?(t)????? ijijijij ρ

∈(0, 1) (4. 1)

??ij?k??i j (4. 2) k?1m?Q 果 蚂 蚁 经 过k 边 ij ?, 如k ??ij??LK (4. 3)

?0, 否 则 ??Q*???gb, 如 果 边 (ij) 是 当 前 最 优 解 的 一 部 分 ??ij??L (4. 4)

?0, 否 则 ?其中△τ

*

ij 为最优蚂蚁在边(i, j)上增加的信息素量,σ为最优蚂蚁数,Lgb 为全

局最优解。

4.1.2 蚁群系统

蚁群系统(Ant Colony System,简称 ACS)[11]是 AS 最成功的后续算法之一,与 AS 算法的主要区别在于:(1)在选择下一座城市时,ACS 算法更多地利用了当前的较好解;(2)只在全局最优解所属的边上增加信息素;(3)每次当蚂蚁从城市 i 转移到城市 j 时,边 ij 上的信息素将会适当的减少。

4.1.3 最大-最小蚂蚁系统

MAX-MIN Ant System [12]从另外的角度对AS进行直接完善:修改了AS的信息素更新方式,仅将每一代中的最好个体所走路径上的信息量进行调整,加快收敛速度,并将各条路径上的信息素浓度被限制在[tmin, tmax ]范围内,这样就可以有效的避免某条路径上的信息量远大于或远小于其余路径情况的发生,使得所有的蚂蚁都集中到同一条路径上,从而使算法不再扩散,加快收敛速度。另外,信息素的初始值被设为其取值上限,这样有助于增加算法初始阶段的搜索能力,是目前解决TSP、QAO等问题最好的蚁群算法。

4.1.4 基于排序的蚂蚁系统

基于排序的蚂蚁系统(Rank-based Version of Ant System,简称 RAS)是Bernd Bullnheimer[13]等提出的AS的又一扩展算法。RAS在每次迭代完成后,蚂蚁所经路径将按从小到大的顺序排列,即L1(t) ≤ L2(t)………≤Lm(t),并根据路径长度赋予不同的权重,路径长度越短权重越大。全局最优解的权重为 w,第 r个最优解的权重为max{0, w-r},按(3. 19)式更新各路径上的信息素:

rgb?ij(t?1)?(1??)??ij(t)??(w?r)???ij(t)?w???ij(t) ρ?(0, 1) (4. 5)

r?1w?1 12

本文来源:https://www.bwwdw.com/article/yigt.html

Top