蚁群优化算法

蚁群优化算法
蚁群优化算法

蚁群优化算法ACO

一、蚁群算法的背景信息

蚁群优化算法(ACO)是一种模拟蚂蚁觅食行为的模拟优化算法,它是由意大利学者Dorigo M等人于1991年首先提出,之后,又系统研究了蚁群算法的基本原理和数学模型,并结合TSP优化问题与遗传算法、禁忌搜索算法、模拟退火算法、爬山法等进行了仿真实验比较,为蚁群算法的发展奠定了基础,并引起了全世界学者的关注与研究

蚁群算法是一种基于种群的启发式仿生进化系统。蚁群算法最早成功应用于解决著名的旅行商问题(TSP),该算法采用了分布式正反馈并行计算机制,易于与其他方法结合,而且具有较强的鲁棒性。

二、蚁群算法的原理[1]

蚁群算法是对自然界蚂蚁的寻径方式进行模似而得出的一种仿生算法。蚂蚁在运动过程中,能够在它所经过的路径上留下一种称之为外激素(pheromone)的物质进行信息传递,而且蚂蚁在运动过程中能够感知这种物质,并以此指导自己的运动方向,因此由大量蚂蚁组成的蚁群集体行为便表现出一种信息正反馈现象:某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大。

基本的ACO模型由下面三个公式描述:

式(2-1)、式(2-2)和式(2-3)中:m为蚂蚁个数;n为迭代次数;i为蚂蚁所在位置;j为蚂蚁可以到达的置;为蚂蚁可以到达位置的集合;为启发性信息

,这里为由i到j的路径的能见度,即;为目标函数,这里为两点间欧氏(Euclidean)距离;为由i到j的路径的信息素强度;为蚂蚁k由i到j的路径上留下的信息素数量;为路径权;为启发性信息的权;为路径上信息素数量的蒸发系数;Q为信息素质量系数;为蚂蚁k从位置i移动到位置j的转移概率。

三、改进的蚁群算法[3]

蚁群算法具有如下一些优点:①通用性较强,能够解决很多可以转换为连通图结构的路径优化问题;②同时具有正负反馈的特点,通过正反馈特点利用局部解构造全局解,通过负反馈特点也就是信息素的挥发来避免算法陷入局部最优;

③有间接通讯和自组织的特点,蚂蚁之间并没有直接联系,而是通过路径上的信息素来进行间接的信息传递,自组织性使得群体的力量能够解决问题。

但是,基本蚁群算法也存在一些缺点:①从蚁群算法的复杂度来看,该算法与其他算法相比,所需要的搜索时间较长;②该算法在搜索进行到一定程度以后,容易出现所有蚂蚁所发现的解完全一致这种“停滞现象”,使得搜索空间受到限制

3.1基于遗传学的改进蚁群算法研究

该文献[2]提出的算法弥补了基本蚁群算法中“容易陷入停滞状态”和“盲目随机搜索”的不足。文献中提出的解决办法是在每一次迭代搜索后,都把当前解和最优解进行交叉变异,这样既能搜索更大的解空间,又能使系统陷入局部最优后跳出停滞状态。

这种基于遗传学的蚁群算法(G-蚁群算法)的基本思想是在以蚁群算法为主体的基础上引入遗传算法的思想,目的是让蚁群算法经过迭代产生遗传算法所需的初始种群数据,提高种群数据的多样性。然后,遗传算法经过选择、交叉和变异操作,将处理后的数据交由蚁群算法模块进行判断处理,若满足结束条件则退出系统,否则重新进行迭代操作。

该文献中的交叉操作采用了Davis提出的OX交叉算子,即按照交叉概率Pc进行交叉操作,通过一个亲体中挑选出的子序列路径作为后代相对位置的子序列,变异操作以变异概率Pm执行变异操作,在子代序列路径中随机选择两点进行变异操作,在交叉变异操作结束后,判断当前解是否满足收敛条件,若满足收敛条件则更新当前最优解,返回蚁群算法程序,执行下一次的迭代操作。若不满足收敛条件则继续进行遗传算法的交叉变异操作。

3.2蚁群系统(Ant System,AS)

蚁群系统是Gambardella等人于1996年提出的一种修正的蚁群算法。

该算法的基本思想是:

(1)引入一个新的常量,其取值范围为,在蚂蚁k每次选择路径之前先产生一个随机数,且有,有了这个随机数之后,蚂蚁k的路径将会按照下面的规则进行。

在公式中,假设蚂蚁k当前所在的节点为i,那么蚂蚁k由节点i向点节j移动遵循的规则用公式PP表示如下:

(2)对全局信息素更新策略的改进

按照最短路径更新全局信息素,其具体更新方法如下:

式(3-2)中其中为信息素挥发参数,;式(3-3)中,表示本次循环之后路径(i,j)上的信息素增量;表示到目前为止找出的全局最优路径。

(3)对局部信息素更新策略也进行了改进

式(3-4)表示蚂蚁从节点i转移到节点j后,其经过的路径(i, j)上的信息素更新的方式。其中,为常数,表示算法初始化时路径上的信息素浓度;为可调参数,。

3.3 精英蚁群系统(Elitist Ant System,EAS)

精英蚁群系统是对AS的第一次改进,是学者们为了解决基本蚁群算法求解大规模问题时收敛速度慢、不容易产生优化解而提出的。

该算法具体的改进策略如 :

式(3-6)表示信息素增加强度定义方法,和以前的相同,是调整最优解的影响权重的参数,适当的设置该参数的值可以提高算法的性能;式(3-7)表示精英蚂蚁给路径(i,j)上所增加的信息素量。

3.4 最大最小蚁群系统(Max-Min Ant System,MMAS)

“最大最小蚁群系统”是德国学者Thomas Stutzle 等提出的另一种通用性较强的改进的蚁群算法。该算法相比基本蚁群算法作了如下一些改进:

(1)一次循环结束后,并不是所有的蚂蚁都进行信息素更新,而是只对一只蚂蚁的信息素进行更新。这只蚂蚁只能是两类蚂蚁:在当前循环中找到最优解的蚂蚁或者是可能发现已知最优路径的蚂蚁。其信息素更新依照如下规则

式(3-9)中根据进行信息素更新的蚂蚁的类别可以是已知的最优解的路径长度或者是本次循环中的最优解的路径长度。

(2)信息素浓度的限制。

为了防止某条路径上的信息素出现大或者过小的极端情况,设定信息素浓度区间为。通过这种方式使得在某条路径上的信息素浓度增大到超过区间上限或者减小到低于区间下限时,算法采用强制手段对其进行调整,以此提高算法的有效性。

(3)为了在开始吸引更多的蚂蚁进行搜索,信息素浓度初始化的值不再是一个常数,而是设置为区间的上限,并且选定一个较小的挥发系数,以此来得到更多的搜索路径。

3.5排序蚁群系统(Rank-Based Ant System,ASrank)

排序蚁群系统引入了遗传算法中排序的观念,其改进的基本原理是:每只蚂蚁释放的信息素挥发程度受到它们各自的等级的影响,按照各自等级的高低来决定挥发程度的高低。当每只蚂蚁都生成一条路径以后,根据其各自的路径长度进行由短到长的排序,路径长度越短的代表等级越高,反之越低。因此,在更新信息素时,并不是考虑所有的蚂蚁,只考虑比较“优秀”的只蚂蚁(表示蚂蚁的排名)。

式(3-11)中,按照式(3-7)的方式计算;式(3-12)中,表示排名在第位的蚂蚁环游的长度。

3.6 几种改进的蚁群算法的比较

(1)对比基本蚁群算法(ACA),AS 算法、EAS 算法、MMAS 算法以及ASrank算法的共同之处就是它们都允许最优解所在的路径上的信息素进行加强,有效地利用了最优解,但是这样产生了一个弊端就是可能会导致搜索中出现停滞现象。

(2)针对避免停滞现象,几种改进算法采取的策略不同。蚁群系统通过增加局部信息素的更新来减少路径上的信息素量,以此让后面的蚂蚁选择这条路径的可能性减小;在MMAS 算法中,采用的是给定信息素量的上下限,以此使得路径上的信息素量不会小于下限(某一最小值),也不会超过上限(某一最大值),避免所有蚂蚁选择同一条路径,也就是避免了搜索中出现停滞现象。

四、ACO应用进展及发展趋势

4.1应用的进展[7]

自从ACO在一些经典的组合规划问题如TSP和QAP等NP难的组合优化问题上取得成功以来,目前已陆续渗透到许多新的实际的工程领域中。

(1)在各种工程和工业生产中的应用[4,5]。例如采用ACO的思想来求解大规模集成电路综合布线问题。在布线过程中,各个引脚对蚂蚁的引力可根据引力函数来计算。各个线网agent根据启发策略,像蚁群一样在开关盒网格上爬行,所经之处便布上1条金属线,历经1个线网的所有引脚之后,线网便布通了。

(2) ACO在各种实际规划问题中的应用。例如在机器人路径规划中的应用[6]。机器人作为一种智能体,在复杂工作环境下的路径规划问题、多机器人之间的协作策略问题,在很大程度上类似于蚂蚁觅食优选路径以及蚂蚁群体中个体之间通过信息素形成协作。路径规划算法是实现机器人控制和导航的基础之一,试验证明ACO解决该问题有很大的优越性。

另外,ACO在动态优化组合问题中也有应用,具体是在有向连接的网络路由和无连接网络系统路由中的应用。其他应用还包括蚂蚁人工神经网络、车辆路线问题(Vehicle Routine Prob-lem,VRP)、在图像处理和模式识别领域的应用等等。

4.2 存在的问题[8]

蚁群算法的研究成果令人瞩目,但作为一种较新的理论,它依然存在一些问题。

(1)对于大规模组合优化问题,算法的计算时间而且复杂。由于蚁群算法的时间复杂度是,因此在处理较大规模的组合优化问题时,运算量较大,时间较长。

(2)算法容易在某个或某些局部最优解的邻域附近发生停滞现象,造成早熟收敛,即搜索进行到一定程度后,所有蚂蚁发现的解完全一致,不能继续对解空间进一步搜索,不利于发现全局最优解。

(3)不能较好的解决连续域问题。

(4)由于蚁群算法中蚂蚁个体的运动过程的随机性,当群体规模设置较大时,很难在较短时间内从杂乱无章的路径中找出一条较好的路径。

(5)信息素更新策略,路径搜索策略和最优解保留策略都带有经验性,没有经过严格的理论论证。因此基本蚁群算法的求解效率不高、收敛性较差、求解结果具有较大的分散性。

4.3 发展趋势

随着蚁群算法在工程实践中应用的深入和系统复杂性的增加,需要处理的数据量也越来越大,这些问题的影响日益突出,使得单纯一到两种智能方法往往不能很好的解决问题。由于蚁群算法易与其他进化算法或者局部搜索算法结合。所以如何根据实际情况融合多种智能方法必将成为今后蚁群算法新的研究热点。目前,蚁群算法的研究大多集中在算法、模型的更新,以及软件的开发上,所处理的数据也都是静态的。硬件的运行速度要高于软件,如何利用硬件的优势,利用DSP,FPGA和PLC等硬件实现蚁群算法,并使它能够应用于实时系统将是以后研究的一个方向。

参考文献

[1] 吴庆洪,张颖,马宗民.蚁群算法综述[A].2011.

[2] 张怀锋,宋顺林.基于遗传学的改进蚁群算法研究[M].2011.

[3] 曾云.基于改进蚁群算法的物流配送路径优化研究[D].北京:北京物资学

院,2012.

[4] 庄昌文,范明钰,李春辉,虞厥邦.基于协同工作方式的一种蚁群布线系统[J].半导体学报,1999,20(5):400-406.

[5] COELLO C A C,GUTIERREZ R L Z,GARCIA B M,et al.Automated Design of Combinational Logic Circuits Using the Ant System [J].Engineering Optimization,2002,34(2):109-127

[6]樊晓平,罗熊,易晟,张航.复杂环境下基于蚁群优化算法的机器人路径规划[J].控制与决策,2004,19(2):166-170.

[7] 叶志伟,周欣,夏彬.蚁群算法研究应用现状与展望[A].2010.

[8]戴宏发,张源原,孙国强,刘成亮.蚁群算法研究现状及发展[A].2011

matlab 蚁群算法 机器人路径优化问题

用ACO 算法求解机器人路径优化问题 4.1 问题描述 移动机器人路径规划是机器人学的一个重要研究领域。它要求机器人依据某个或某些优化原则(如最小能量消耗,最短行走路线,最短行走时间等),在其工作空间中找到一条从起始状态到目标状态的能避开障碍物的最优路径。机器人路径规划问题可以建模为一个有约束的优化问题,都要完成路径规划、定位和避障等任务。 4.2 算法理论 蚁群算法(Ant Colony Algorithm,ACA),最初是由意大利学者Dorigo M. 博士于1991 年首次提出,其本质是一个复杂的智能系统,且具有较强的鲁棒性,优良的分布式计算机制等优点。该算法经过十多年的发展,已被广大的科学研究人员应用于各种问题的研究,如旅行商问题,二次规划问题,生产调度问题等。但是算法本身性能的评价等算法理论研究方面进展较慢。 Dorigo 提出了精英蚁群模型(EAS),在这一模型中信息素更新按照得到当前最优解的蚂蚁所构造的解来进行,但这样的策略往往使进化变得缓慢,并不能取得较好的效果。次年Dorigo 博士在文献[30]中给出改进模型(ACS),文中 改进了转移概率模型,并且应用了全局搜索与局部搜索策略,来得进行深度搜索。 Stützle 与Hoos给出了最大-最小蚂蚁系统(MAX-MINAS),所谓最大-最小即是为信息素设定上限与下限,设定上限避免搜索陷入局部最优,设定下限鼓励深度搜索。 蚂蚁作为一个生物个体其自身的能力是十分有限的,比如蚂蚁个体是没有视觉的,蚂蚁自身体积又是那么渺小,但是由这些能力有限的蚂蚁组成的蚁群却可以做出超越个体蚂蚁能力的超常行为。蚂蚁没有视觉却可以寻觅食物,蚂蚁体积渺小而蚁群却可以搬运比它们个体大十倍甚至百倍的昆虫。这些都说明蚂蚁群体内部的某种机制使得它们具有了群体智能,可以做到蚂蚁个体无法实现的事情。经过生物学家的长时间观察发现,蚂蚁是通过分泌于空间中的信息素进行信息交流,进而实现群体行为的。 下面简要介绍蚁群通过信息素的交流找到最短路径的简化实例。如图 2-1 所示,AE 之间有

基于蚁群算法的路径规划

MATLAB实现基于蚁群算法的机器人路径规划 1、问题描述 移动机器人路径规划是机器人学的一个重要研究领域。它要求机器人依据某个或某些优化原则(如最小能量消耗,最短行走路线,最短行走时间等),在其工作空间中找到一条从起始状态到目标状态的能避开障碍物的最优路径。机器人路径规划问题可以建模为一个有约束的优化问题,都要完成路径规划、定位和避障等任务。 2 算法理论 蚁群算法(Ant Colony Algorithm,ACA),最初是由意大利学者Dorigo M. 博士于1991 年首次提出,其本质是一个复杂的智能系统,且具有较强的鲁棒性,优良的分布式计算机制等优点。该算法经过十多年的发展,已被广大的科学研究人员应用于各种问题的研究,如旅行商问题,二次规划问题,生产调度问题等。但是算法本身性能的评价等算法理论研究方面进展较慢。 Dorigo 提出了精英蚁群模型(EAS),在这一模型中信息素更新按照得到当前最优解的蚂蚁所构造的解来进行,但这样的策略往往使进化变得缓慢,并不能取得较好的效果。次年Dorigo 博士给出改进模型(ACS),文中改进了转移概率模型,并且应用了全局搜索与局部搜索策略,来得进行深度搜索。Stützle 与Hoos给出了最大-最小蚂蚁系统(MAX-MINAS),所谓最大-最小即是为信息素设定上限与下限,设定上限避免搜索陷入局部最优,设定下限鼓励深度搜索。蚂蚁作为一个生物个体其自身的能力是十分有限的,比如蚂蚁个体是没有视觉的,蚂蚁自身体积又是那么渺小,但是由这些能力有限的蚂蚁组成的蚁群却可以做出超越个体蚂蚁能力的超常行为。蚂蚁没有视觉却可以寻觅食物,蚂蚁体积渺小而蚁群却可以搬运比它们个体大十倍甚至百倍的昆虫。这些都说明蚂蚁群体内部的某种机制使得它们具有了群体智能,可以做到蚂蚁个体无法实现的事情。经过生物学家的长时间观察发现,蚂蚁是通过分泌于空间中的信息素进行信息交流,进而实现群体行为的。 下面简要介绍蚁群通过信息素的交流找到最短路径的简化实例。如图2-1 所示,AE 之间有两条路ABCDE 与ABHDE,其中AB,DE,HD,HB 的长度为1,BC,CD 长度为0.5,并且,假设路上信息素浓度为0,且各个蚂蚁行进速度相同,单位时间所走的长度为1,每个单位时间内在走过路径上留下的信息素的量也相同。当t=0时,从A 点,E 点同时各有30 只蚂蚁从该点出发。当t=1,从A 点出发的蚂蚁走到B 点时,由于两条路BH 与BC 上的信息素浓度相同,所以蚂蚁以相同的概率选择BH 与BC,这样就有15 只蚂蚁选择走BH,有15 只蚂蚁选择走BC。同样的从E 点出发的蚂蚁走到D 点,分别有15 只蚂蚁选择DH 和DC。当t=2 时,选择BC 与DC的蚂蚁分别走过了BCD 和DCB,而选择BH 与DH 的蚂蚁都走到了H 点。所有的蚂蚁都在所走过的路上留下了相同浓度的信息素,那么路径BCD 上的信息素的浓度是路径BHD 上信息素浓度的两倍,这样若再次有蚂蚁选择走BC 和BH 时,或选择走DC 与DH 时,都会以较大的概率选择信息素浓度高的一边。这样的过程反复进行下去,最短的路径上走过的蚂蚁较多,留下的信息素也越多,蚁群这样就可以找到一条较短的路。这就是它们群体智能的体现。 蚁群算法就是模拟蚂蚁觅食过程中可以找到最短的路的行为过程设计的一种仿生算法。在用蚁群算法求解组合优化问题时,首先要将组合优化问题表达成与信息素相关的规范形式,然后各个蚂蚁独立地根据局部的信息素进行决策构造解,并根据解的优劣更新周围的信息素,这样的过程反复的进行即可求出组合优化问题的优化解。 归结蚁群算法有如下特点: (1)分布式计算:各个蚂蚁独立地构造解,当有蚂蚁个体构造的解较差时,并不会影响整体的求解结果。这使得算法具有较强的适应性; (2)自组织性:系统学中自组织性就是系统的组织指令是来自系统的内部。同样的蚁

基于离散数字编码的蚁群连续优化算法

*)国家自然科学基金项目(10471045)、广东省自然科学基金(04020079)、华南理工大学自然科学基金(B13-E5050190)。吴广潮 讲师,博士研究生,研究领域为算法设计与分析,数据库与信息处理;黄 翰 博士研究生,研究领域为进化计算方法的理论基础,进化计算方法的优化设计及其应用。 计算机科学2008V ol .35№.3  基于离散数字编码的蚁群连续优化算法*) 吴广潮1,2 黄 翰2 (华南理工大学数学科学学院 广州510640)1 (华南理工大学计算机科学与工程学院 广州510640) 2   摘 要 本文提出了一种基于离散编码的蚁群连续优化算法(CA CO -D E ),用于求解连续优化问题。以往蚁群算法(A CO )的研究,以求解离散优化问题为主,较少涉及连续优化问题。与经典的A CO 算法不同,CACO -DE 将有限精度的实数转化为一个数字串,数字串的每位取0到9之间的数字,从而实现了用离散编码描述实数的效果。CA CO -DE 延用了经典A CO 算法的框架,并加入了特殊的选择机制、信息素更新方式和局部搜索策略。测试实验结果表明:CA -CO -DE 比以往同类算法求解速度更快且精度更高。关键词 蚁群算法,连续优化,离散数字编码  Ant Colony Continuous Optimization Based on Discrete Numerical Encoding W U G uang -Chao 1,2 H U AN G Han 2 (School of M athematical S cien ces ,S ou th China University of Tech nology ,Guangzhou 510640)1 (S chool of Computer S cien ce and En gineering ,S outh China Univers ity of Technology ,Gu angz hou 510640) 2  A bstract T he pr esented paper pro po ses an ant colony algo rithm fo r continuo us o ptimization (CA CO -DE ).A CO alg o -rithms are alway s used fo r discr ete o ptimizatio n problem s ,but rar ely fo r continuous o ptimiza tion .CA CO -DE is de -sig ned based o n the numerical encoding in which each real numbe r is chang ed into a string made up of character s {0,…,9}.T he leng th o f enco ding depends on the accuracy and dimension of the so lutio n .A r tificial ants construct so lutio ns being guided by a hig h dimensio n phero mone v ector .T he f ramewo rk of the proposed algo rithm is similar to the cla ssi -cal ACO except for the upda ting rule a nd local sear ch stra teg y .So me pr elimina ry re sults o btained o n benchmar k pro b -lems sho w that the new method can so lv e co ntinuous o ptimizatio n problem s faster than o the r a nt and no n -a nt methods .Keywords A nt co lo ny alg o rithm ,Co ntinuous optimizatio n ,Discre te numerical encoding 1 引言 蚁群算法(ACO )[1] 是由M .Do rig o 及其同伴在上世纪90年代提出的一种仿生算法,用于求解如旅行商问题[2]之类的组合优化问题。目前,A CO 算法的应用已经扩展到解决多种优化问题,如:V ehicle Ro uting [3]、Q uadra tic assig nment [3]、Qo S [4]、Job sho p [5]等,但这些问题几乎都是离散优化问题。 与遗传算法、粒子群算法和进化规划算法不同,ACO 算法求解连续优化问题的设计研究较少。第一种求解连续函数优化问题的蚁群算法为Co ntinuous A CO (CA CO )算法[6],其主要思想是将连续区间分段,离散化后区间段视为T SP 问题中的城市。CA CO 算法虽然实现了A CO 算法求解连续优化问题0的突破,但是求解效果并不理想。后期又对CACO 算法作了些改进[7,8],提高了求解的精度,但是改进的程度有 限。后来相应又有A PI [9]和CIAC [10]。另外两种算法出现,取得了一定的改进效果,但这些算法加入了遗传算法等其他计算工具的策略,只是用了A CO 算法的框架而已。最新的算法还有基于正态分布的ACO 算法[11],然而这种算法也需要将区间分段离散化,从而会出现两个缺点:1.算法求解精度有限;2.算法求解的计算复杂度较高,需要花费较多的函数评估次数。 作为改进,本文在文[12]基础上提出了一种新型的求解连续优化问题的A CO 算法:基于离散编码的蚁群算法(CA -CO -DE )。实验结果表明:CACO -D E 比以往其他ACO 算法 求解的效果更好,而且速度更快。 2 AC O 算法基本思想介绍 自然界蚂蚁在其经过的路径上会留下某种生物信息物质(信息素),该物质会吸引蚁群中的其它成员再次选择该段路径。食物与巢穴之前较短的路径容易积累较多的信息素,因而使得更多的蚂蚁选择走该段路径,最终几乎所有的蚂蚁都集中在最短路径上完成食物的搬运。M .Do rigo 等从此现象中抽象出路径选择和信息素积累的数学模型,作为蚁群算法的核心;并通过对蚂蚁寻找最短路径的计算机模拟,实现了对TS P 问题的求解[2]。 按M .Do rigo 的设计[3],蚁群算法的基本框架如图1所示 。 图1 蚁群算法(A CO )的基本框架 一般情况下,A CO 算法可以分为三个部分:生成解(Co n -structA ntsSo lutio ns ),更新信息素(U pdatePhero mone s )和附 加策略(DaemonA ctions )。 · 146·

蚁群算法的基本原理

2.1 蚁群算法的基本原理 蚁群优化算法是模拟蚂蚁觅食的原理,设计出的一种群集智能算法。蚂蚁在觅食过程中能够在其经过的路径上留下一种称之为信息素的物质,并在觅食过程中能够感知这种物质的强度,并指导自己行动方向,它们总是朝着该物质强度高的方向移动,因此大量蚂蚁组成的集体觅食就表现为一种对信息素的正反馈现象。某一条路径越短,路径上经过的蚂蚁越多,其信息素遗留的也就越多,信息素的浓度也就越高,蚂蚁选择这条路径的几率也就越高,由此构成的正反馈过程,从而逐渐的逼近最优路径,找到最优路径。 蚂蚁在觅食过程时,是以信息素作为媒介而间接进行信息交流,当蚂蚁从食物源走到蚁穴,或者从蚁穴走到食物源时,都会在经过的路径上释放信息素,从而形成了一条含有信息素的路径,蚂蚁可以感觉出路径上信息素浓度的大小,并且以较高的概率选择信息素浓度较高的路径。 (a) 蚁穴 1 2 食物源 A B (b) 人工蚂蚁的搜索主要包括三种智能行为: (1)蚂蚁的记忆行为。一只蚂蚁搜索过的路径在下次搜索时就不再被该蚂蚁选择,因此在蚁群算法中建立禁忌表进行模拟。 (2)蚂蚁利用信息素进行相互通信。蚂蚁在所选择的路径上会释放一种信息素的物质,当其他蚂蚁进行路径选择时,会根据路径上的信息素浓度进行选择,这样信息素就成为蚂蚁之间进行通信的媒介。 (3)蚂蚁的集群活动。通过一只蚂蚁的运动很难达到事物源,但整个蚁群进行搜索就完全不同。当某些路径上通过的蚂蚁越来越多时,路径上留下的信息素数量也就越多,导致信息素强度增大,蚂蚁选择该路径的概率随之增加,从而进一步增加该路径的信息素强度,而通过的蚂蚁比较少的路径上的信息素会随着时间的推移而挥发,从而变得越来越少。3.3.1蚂蚁系统 蚂蚁系统是最早的蚁群算法。其搜索过程大致如下: 在初始时刻,m 只蚂蚁随机放置于城市中, 各条路径上的信息素初始值相等,设为:0(0)ij ττ=为信息素初始值,可设0m m L τ=,m L 是由最近邻启发式方法构 造的路径长度。其次,蚂蚁(1,2,)k k m = ,按照随机比例规则选择下一步要转

粒子群算法和蚁群算法的结合及其在组合优化中的应用e

2007年第2期空间电子技术收稿日期:2006-04-03;收修改稿日期:2006-04-30 粒子群算法和蚁群算法的结合及其在 组合优化中的应用 张长春苏昕易克初 (西安电子科技大学综合业务网国家重点实验室,西安710071) 摘要文章首次提出了一种用于求解组合优化问题的PAAA 算法。该算法有效地 结合了粒子群算法和蚁群算法的优点,先利用粒子群算法的随机性、快速性、全局性得到 初始信息素分布(即粗搜索),再利用蚁群算法的并行性、正反馈性、求解精度高等优点求 精确解(即细搜索)。将文中提出的算法用于经典TSP 问题的求解,仿真结果表明PAAA 算 法兼有两种算法的优点,同时抛弃了各自的缺点。该算法在时间效率上优于蚁群算法,在 求精效率上优于粒子群算法,是综合了两种算法长处的一种新的启发式算法,达到时间性 能和优化性能上的双赢,获得了非常好的效果。 主题词蚁群算法粒子群算法旅行商问题PAAA 0引言 近年来对生物启发式计算(Bio-inspired Computing )的研究,越来越引起众多学者的关注和兴趣,产生了神经网络、遗传算法、模拟退火、粒子群算法、蚁群算法等许多用于解决复杂优化问题的新方法。然而,面对各种问题的特殊性和复杂性,每种算法都表现出了自身的优势和缺陷,都存在时间性能和优化性能不能兼得的矛盾。 粒子群优化(Particie Swarm Optimization ,PSO )算法[1, 2]是由Eberhart 和Kennedy 于1995年提出的一种全局优化算法,该算法源于对鸟群觅食行为的模拟。它的优势在于:(1) 算法简洁,可调参数少,易于实现;(2) 随机初始化种群,具有较强的全局搜索能力,类似于遗传算法;(3)利用评价函数衡量个体的优劣程度,搜索速度快;(4)具有较强的可扩展性。其缺点是:不能充分利用系统中的反馈信息,求解组合优化问题的能力不强。 蚁群算法[3,4](Ant Coiony Optimization ,ACO ) 是由意大利学者M.Dorigo ,V.Maniezzo 和A.Coiorni 于20世纪90年代初提出的一种新型的智能优化算法,已经被应用到TSP 问题[5,6]、二次分配问题、工 件调度问题、图着色问题等许多经典组合优化问题中,取得了很好的效果。它的优点是:(1)采用一种正反馈机制,通过信息素的不断更新,达到最终收敛于最优路径上的目的;(2)是一种分布式的优化方法,易于并行实现;(3)是一种全局优化的方法,不仅可用于求解单目标优化问题,而且可用于求解多目标优化问题;(4)适合于求解离散优化问题;(5)鲁棒性强。但由于在算法的初始阶段信息素匮乏,所以求解速度较慢。 文章将粒子群算法和蚁群算法有机地结合,提出了PAAA 算法。它利用粒子群算法的较强的全局搜索能力生成信息素分布,再利用蚁群算法的正反馈机制求问题的精确解,汲取各自的优势,以达空间电子技术 SPACE ELECTRONIC TECHNOLOGY !"

蚁群算法在车辆路径问题中的应用

蚁群算法在车辆路径问题中的应用 摘要 蚁群算法(Ant Colony Optimization, ACO)是意大利学者M.Dorigo等人通过模拟蚁群觅食行为提出的一种基于种群的模拟进化算法。通过介绍蚁群觅食过程中基于信息素(pheromone)的最短路径的搜索策略,给出了基于MATLAB 的蚁群算法在车辆路径问题(Vehicle Routing Problem, VRP)中的应用。蚁群算法采用分布式并行计算机制,易于其他方法结合,而且具有较强的鲁棒性,但搜索时间长,容易陷入局部最优解。针对蚁群算法存在的过早收敛问题,加入2—opt方法对问题求解进行了局部优化,计算机仿真结果表明,这种混合型蚁群算法对求解车辆路径问题有较好的改进效果。 关键词:蚁群算法、组合优化、车辆路径问题、2-opt方法 1.车辆路径问题 车辆路径问题(VRP)来源于交通运输,1959年由Dantzig 提出,它是组合优化问题中一个典型的NP-hard问题。最初用于研究亚特兰大炼油厂向各个加油站投送汽油的运输路径优化问题,并迅速成为运筹学和组合优化领域的前沿和研究热点。

车路优化问题如下: 已知有一批客户,各客户点的位置坐标和货物需求已知,供应商具有若干可供派送的车辆,运载能力给定,每辆车都是从起点出发,完成若干客户点的运送任务后再回到起点。现要求以最少的车辆数和最少的车辆总行程来完成货物的派送任务。 2、蚁群系统基本原理 在蚂蚁群找到食物时,它们总能找到一条从食物到蚁穴之间的最短路径。因为蚂蚁在寻找食物时会在路途上释放一种特殊的信息素。当它们碰到一个还没有走过的路口时,会随机地挑选一条路径前行。与此同时释放出与路径长度有关的信息素。路径越长,释放的激素浓度越低。当后面的蚂蚁再次碰到这个路口时,会选择激素浓度较高的路径走。这样形成了一个正反馈,最优路径上的激素浓度越来越高,而其他的路径上激素浓度却会随时间的流逝而消减。最终整个蚁群会找出最优路径。在整个寻找过程中,整个蚁群通过相互留下的信息素作用交换着路径信息,最终找到最优路径。 3、基本蚁群算法求解车辆路径问题 求解VRP问题的蚂蚁算法中,每只蚂蚁是一个独立的用 于构造路线的过程,若干蚂蚁过程之间通过信息素值来交换信

基本蚁群优化算法及其改进毕业设计

摘要 自意大利学者M. Dorigo于1991年提出蚁群算法后,该算法引起了学者们的极大关注,在短短十多年的时间里,已在组合优化、网络路由、函数优化、数据挖掘、机器人路径规划等领域获得了广泛应用,并取得了较好的效果。本文首先讨论了该算法的基本原理,接着介绍了旅行商问题,然后对蚁群算法及其二种改进算法进行了分析,并通过计算机仿真来说明蚁群算法基本原理,然后分析了聚类算法原理和蚁群聚类算法的数学模型,通过调整传统的蚁群算法构建了求解聚类问题的蚁群聚类算法。最后,本文还研究了一种依赖信息素解决聚类问题的蚁群聚类算法,并把此蚁群聚类算法应用到对人工数据进行分类,还利用该算法对2005年中国24所高校综合实力进行分类,得到的分类结果与实际情况相符,说明了蚁群算法在聚类分析中能够收到较为理想的结果。 【关键词】蚁群算法;计算机仿真;聚类;蚁群聚类

Study on Ant Colony Algorithm and its Application in Clustering Abstract: As the ant colony algorithm was proposed by M. Dorigo in 1991,it bringed a extremely large attention of scholars, in past short more than ten years, optimized, the network route, the function in the combination optimizes, domains and so on data mining, robot way plan has obtained the widespread application, and has obtained the good effect.This acticle discussed the basic principle of it at first, then introduced the TSP,this acticle also analysed the ant colony algorithm and its improved algorithm, and explanated it by the computer simulates, then it analysed the clustering algorithm and the ant clustering algorithm, builded the ant clustering algorith to solution the clustering by the traditioned ant algorithm. At last, this article also proposed the ant clustering algorith to soluted the clustering dependent on pheromon. Carry on the classification to the artificial data using this ant clustering algorithm; Use this algorithm to carry on the classification of the synthesize strength of the 2005 Chinese 24 universities; we can obtain the classified result which matches to the actual situation case. In the next work, we also should do the different cluster algorithm respective good and bad points as well as the classified performance aspect the comparison research; distinguish the different performance of different algorithm in the analysis when the dates are different. Key words: Ant colony algorithm; Computer simulation; clustering; Ant clustering 目录

蚁群算法最优路径

机器人的路径规划---蚁群算法 1.蚁群算法 众所周知,蚁群算法是优化领域中新出现并逐渐引起重视的一种仿生进化算法它是群体智能的典型实现,是一种基于种群寻优的启发式搜索算法。自从M.Dorigo等意大利学者在1991年首先提出蚁群算法(Ant Colony System,ACS)以来,这种新型的分布式智能模拟算法已逐渐引起人们的注意并得到广泛的使用。 蚁群算法的特点主要表现在以下五个方面: (1)蚂蚁群体行为表现出正反馈过程。蚁群在寻优的过程中会释放一定量的信息素,蚁群的规模越大,释放的信息素的量也就越大,而寻优路径上存在的信息素浓度越高,就会吸引更多的蚂蚁,形成一种正反馈机制,然后通过反馈机制的调整,可对系统中的较优解起到一个自增强的作用,从而使问题的解向着全局最优的方向演变,最终能有效地获得全局相对较优解。 (2)蚁群算法是一种本质并行的算法。个体之间不断进行信息交流和传递.有利于最优解的发现,并在很大程度上减少了陷于局部最优的可能。 (3)蚁群算法易于和其他方法结合。蚁族算法通过和其他算法的结合,能够扬长避短,提高算法的性能。 (4) 蚁群算法提供的解具有全局性的特点。一群算法是一种群只能算法,每只蚂蚁巡游的过程相对独立,他们会在自己的活动空间进行搜索,蚂蚁在寻优过程中通过释放信息素,相互影响,互相通信,保证了解的全局性。 (5) 蚁群算法具有鲁棒性。蚁族算法的数学模型易于理解,可以广泛使用在很多复杂的优化问题中,蚁族算法区别于传统优化算法的一个特点在于该算法不依赖于初始点的选择,受初始点的影响相对较小,并且在整个算法过程中会自适应的调整寻优路径。 由此可见,在机器人寻找最优路径的过程中,采用蚁群算法实现路径的规划问题,可以高效,准确的找到最优的路径。 2.移动机器人的路径规划 2.1环境信息处理 假设机器人运行环境为边长分别为x和Y的矩形区域,在矩形区域内分布有n

matlab_蚁群算法_机器人路径优化问题

用ACO算法求解机器人路径优化问题 4.1问题描述 移动机器人路径规划是机器人学的一个重要研究领域。它要求机器人依据某个或某些优化原则(如最小能量消耗,最短行走路线,最短行走时间等),在其工作空间中找到一条从起始状态到目标状态的能避开障碍物的最优路径。机器人路径规划问题可以建模为一个有约束的优化问题,都要完成路径规划、定位和避障等任务。 4.2算法理论 蚁群算法(Ant ColonyAlgorithm,ACA),最初是由意大利学者Dorigo M. 博士于1991 年首次提出,其本质是一个复杂的智能系统,且具有较强的鲁棒性,优良的分布式计算机制等优点。该算法经过十多年的发展,已被广大的科学研究人员应用于各种问题的研究,如旅行商问题,二次规划问题,生产调度问题等。但是算法本身性能的评价等算法理论研究方面进展较慢。 Dorigo提出了精英蚁群模型(EAS),在这一模型中信息素更新按照得到当前最优解的蚂蚁所构造的解来进行,但这样的策略往往使进化变得缓慢,并不能取得较好的效果。次年Dorigo博士在文献[30]中给出改进模型(ACS),文中 改进了转移概率模型,并且应用了全局搜索与局部搜索策略,来得进行深度搜索。 Stützle 与Hoos给出了最大-最小蚂蚁系统(MAX-MINAS),所谓最大-最小即是为信息素设定上限与下限,设定上限避免搜索陷入局部最优,设定下限鼓励深度搜索。 蚂蚁作为一个生物个体其自身的能力是十分有限的,比如蚂蚁个体是没有视觉的,蚂蚁自身体积又是那么渺小,但是由这些能力有限的蚂蚁组成的蚁群却可以做出超越个体蚂蚁能力的超常行为。蚂蚁没有视觉却可以寻觅食物,蚂蚁体积渺小而蚁群却可以搬运比它们个体大十倍甚至百倍的昆虫。这些都说明蚂蚁群体内部的某种机制使得它们具有了群体智能,可以做到蚂蚁个体无法实现的事情。经过生物学家的长时间观察发现,蚂蚁是通过分泌于空间中的信息素进行信息交流,进而实现群体行为的。 下面简要介绍蚁群通过信息素的交流找到最短路径的简化实例。如图 2-1 所示,AE 之间有

智能优化算法(蚁群算法和粒子群算法)

7.1 蚁群优化算法概述 ?7.1.1 起源 ?7.1.2 应用领域 ?7.1.3 研究背景 ?7.1.4 研究现状 ?7.1.5 应用现状

7.1.1 蚁群优化算法起源 20世纪50年代中期创立了仿生学,人们从生物进化的机理中受到启发。提出了许多用以解决复杂优化问题的新方法,如进化规划、进化策略、遗传算法等,这些算法成功地解决了一些实际问题。

20世纪90年代意大利学者M.Dorigo,V.Maniezzo,A.Colorni等从生物进化的机制中受到启发,通过模拟自然界蚂蚁搜索路径的行为,提出来一种新型的模拟进化算法——蚁群算法,是群智能理论研究领域的一种主要算法。

背景:人工生命 ?“人工生命”是来研究具有某些生命基本特征的人工系统。人工生命包括两方面的内容。 ?研究如何利用计算技术研究生物现象。?研究如何利用生物技术研究计算问题。

?现在关注的是第二部分的内容,现在已经有很多源于生物现象的计算技巧。例如,人工神经网络是简化的大脑模型,遗传算法是模拟基因进化过程的。 ?现在我们讨论另一种生物系统-社会系统。更确切的是,在由简单个体组成的群落与环境以及个体之间的互动行为,也可称做“群智能”(swarm intelligence)。这些模拟系统利用局部信息从而可能产生不可预测的群体行为(如鱼群和鸟群的运动规律),主要用于计算机视觉和计算机辅助设计。

?在计算智能(computational intelligence)领域有两种基于群智能的算法。蚁群算法(ant colony optimization)和粒子群算法(particle swarm optimization)。前者是对蚂蚁群落食物采集过程的模拟,已经成功运用在很多离散优化问题上。

蚁群优化算法

蚁群优化算法
目录 [隐藏]
? ?
比较
1 2
蚁群算法的提出: 人工蚂蚁与真实蚂蚁的异同
o o ? ? ? ? ?
3 4 5 6 7
2.1 2.2
相同点比较 不同点比较
蚁群算法的流程图 基本蚁群算法的实现步骤 蚁群算法的 matlab 源程序 蚁群算法仿真结果 版权声明
[编辑]蚁群算法的提出:
人类认识事物的能力来源于与自然界的相互作用,自然界一直是人类创造力 的源泉。 自然界有许多自适应的优化现象不断地给人以启示,生物和自然中的生 态系 统可以利用自身的演化来让许多在人类看来高度复杂的优化问题得到几乎完美 的解决。近些年来,一些与经典的数学问题思想不同的,试图通过模拟自然生态 系统 来求解复杂优化问题的仿生学算法相继出现,如蚁群算法、遗传算法、粒子群算 法等。 这些算法大大丰富了现在优化技术,也为那些传统最优化技术难以处理的 组 合优化问题提供了切实可行的解决方案。 生物学家通过对蚂蚁的长期的观察发现,每只蚂蚁的智能并不高,看起来没 有集中的指挥,但它们却能协同工作,集中事物,建起坚固漂亮的蚁穴并抚养后 代, 依靠群体能力发挥出超出个体的智能。 蚁群算法是最新发展的一种模拟昆虫王国 中蚂蚁群体智能行为的仿生优化算法,它具有较强的鲁棒性、优良的分布式计算 机 制、易于与其他方法相结合等优点。尽管蚁群算法的严格理论基础尚未奠定,国 内外的相关研究还处于实验阶段, 但是目前人们对蚁群算法的研究已经由当初单 一 的旅行商问题(TSP)领域渗透到了多个应用领域,由解决一维静态优化问题发展 到解决多维动态组合优化问题, 由离散域范围内的研究逐渐扩展到了连续域范围 内的

蚁群算法在路径优化中的应用3改

蚁群算法在路径优化中的应用 作者:孙阳阳指导老师:刘冲 摘要针对蚁群算法在路径中的优化问题,本文首先介绍了蚁群算法的概念及其原理,利用数学 形式建立算法模型.根据蚁群算法计算的基本步骤来分析蚁群算法在交通路径优化、TSP问题等3 个方面的应用,由实验结果可知蚁群算法在路径优化中具有很好的可行性和优越性,能起到很 好的效果. 关键词蚁群算法算法模型算法步骤分析应用 1 引言 路径规划是指在具有障碍物的环境下,在符合某种评价条件中,寻找到一条从起始地点到目标地点最优的路径.蚁群算法是近几年优化领域中新出现的一种启发式仿生类并行智能进化系统,计算法采用分布式并行计算和正反馈机制,且易于其它算法结合,目前已有许多关于其在路径规划方面的文献. 建立蚁群算法模型]2][1[,解决城市交通路径优化问题,实验结果表面在搜索效率和搜索最优解的能力两方面都有很大的提高.但是传统蚁群算法易陷入局部最优解和收敛速度较 4[ ,将传统蚁群算法进行改进,例如与栅格法相结合、慢,为此在机器人路径规划的应用中]7 在几何模型下建立模型等.提高了算法的有效性和鲁棒性,解决了蚁群过早陷入局部最优解的问题,扩大了蚂蚁的搜索空间,增强了蚁群算法在机器人路径规划中的适应能力. 本文通过对蚁群算法的研究以及解决几实际路径规划问题,得出了蚁群算法是有其可行性和优越性的,说明了该算法可以在众多优化领域中得到广泛的应用. 2 蚁群算法 蚁群算法(ant colony optimization),又称蚂蚁算法,简称ACO.是由Dorigom、Maniezzov、Colorni等人在1992年所发表的论文提出的,其灵感来源于蚂蚁在寻找食物中发现路径的行为.它是一种模拟进化算法,通过人工模拟蚂蚁觅食过程,即个体间的信息交流与合作不断排除不适合的路途,最终寻找到从蚁穴到食物源的最短路径. 2.1 蚁群算法的基本原理 蚂蚁在搜寻食物过程中总能找到一条从蚁穴到到食物的最优路径,这是因为蚂蚁在搜寻路径上释放一种特殊的信息素.当它们遇到一个还没有被走过的路口时,会随机的选择一条路径,而选择的路径与信息素的浓度有关,同时在该路径上它们也会释放自己的信息素.路径越短,信息素浓度越大;反正路径越长信息素堆积的越少.则过一段时间蚂蚁选择信息素浓度高的路径的概率越来越大,而其它路径随着蚂蚁越来越少的选择信息素浓度逐渐减小,这一就形成了一个正反馈现象,最终指导整个蚁群找到从蚁穴到食物源的最短路径. 2.2 蚁群算法的数学模型 2.2.1 问题的描述

蚁群算法路径优化算法

其中,表示在t时刻蚂蚁k由元素(城市)i转移到元素(城市)j的状态转移概率。allowedk = C ? tabuk表示蚂蚁k下一步允许选择的城市。α为启发式因子,表示轨迹的相对重要性,反映了蚂蚁在运动过程中所积累的信息在蚂蚁运动时所起的作用,其值越大,则该蚂蚁越倾向于选择其他蚂蚁经过的路径,蚂蚁之间的协作性越强。β为期望启发式因子,表示能见度的相对重要性,反映了蚂蚁在运动过程中启发信息在蚂蚁选择路径中的受重视程度,其值越 大,则该状态转移概率越接近于贪心规则;ηij(t) 为启发函数,表达式为。式中,dij表示相邻两个城市之间的距离。(6)修改禁忌表指针,即选择好之后将蚂蚁移动到新的元素(城市),并把该元素(城市)移动到该蚂蚁个体的禁忌表中。(7)若集合C中元素(城市)未遍历完,即k

for i=1:NC % 计算各城市间的距离 for j=1:NC distance(i,j)=sqrt((CooCity(i,2)-CooCity(j,2))^2+(CooCity(i,3)-CooCity(j,3))^2); end end MAXIT=10;%最大循环次数 Citystart=[]; % 起点城市编号 tau=ones(NC,NC); % 初始时刻各边上的信息痕迹为1 rho=0.5; % 挥发系数 alpha=1; % 残留信息相对重要度 beta=5; % 预见值的相对重要度 Q=10; % 蚁环常数 NumAnt=20; % 蚂蚁数量 routelength=inf; % 用来记录当前找到的最优路径长度 for n=1:MAXIT for k=1:NumAnt %考查第K只蚂蚁 deltatau=zeros(NC,NC); % 第K只蚂蚁移动前各边上的信息增量为零 %[routek,lengthk]=path(distance,tau,alpha,beta,[]); % 不靠率起始点[routek,lengthk]=path(distance,tau,alpha,beta,Citystart); % 指定起始点if lengthk

蚁群算法原理与应用讲解

蚁群算法在物流系统优化中的应用 ——配送中心选址问题 LOGO https://www.360docs.net/doc/f016128601.html,

框架 蚁群算法概述 蚁群算法模型 物流系统中配送中心选择问题 蚁群算法应用与物流配送中心选址 算法举例

蚁群算法简介 ?蚁群算法(Ant Algorithm简称AA)是近年来刚刚诞生的随机优化方法,它是一种源于大自然的新的仿生类算法。由意大利学者Dorigo最早提出,蚂蚁算法主要是通过蚂蚁群体之间的信息传递而达到寻优的目的,最初又称蚁群优化方法(Ant Colony Optimization简称ACO)。由于模拟仿真中使用了人工蚂蚁的概念,因此亦称蚂蚁系统(Ant System,简称AS)。

蚁群觅食图1 ?How do I incorporate my LOGO and URL to a slide that will apply to all the other slides? –On the [View]menu, point to [Master],and then click [Slide Master]or [Notes Master].Change images to the one you like, then it will apply to all the other slides. [ Image information in product ] ?Image : www.wizdata.co.kr ?Note to customers : This image has been licensed to be used within this PowerPoint template only. You may not extract the image for any other use.

(完整word版)基于蚁群算法的路径规划

MATLAB 实现基于蚁群算法的机器人路径规划 1、问题描述 移动机器人路径规划是机器人学的一个重要研究领域。它要求机器人依据某个或某些优化原则(如最小能量消耗,最短行走路线,最短行走时间等),在其工作空间中找到一条从起 始状态到目标状态的能避开障碍物的最优路径。机器人路径规划问题可以建模为一个有约束的优化问题,都要完成路径规划、定位和避障等任务。 2 算法理论 蚁群算法(Ant Colony Algorithm ,ACA ),最初是由意大利学者Dorigo M. 博士于1991 年首次提出,其本质是一个复杂的智能系统,且具有较强的鲁棒性,优良的分布式计算机制等优点。该算法经过十多年的发展,已被广大的科学研究人员应用于各种问题的研究,如旅行商问题,二次规划问题,生产调度问题等。但是算法本身性能的评价等算法理论研究方面进展较慢。 Dorigo 提出了精英蚁群模型(EAS ),在这一模型中信息素更新按照得到当前最优解的蚂蚁所构造的解来进行,但这样的策略往往使进化变得缓慢,并不能取得较好的效果。次年Dorigo 博士给出改进模型(ACS ),文中改进了转移概率模型,并且应用了全局搜索与局部搜索策略,来得进行深度搜索。 Stützle 与Hoos 给出了最大-最小蚂蚁系统(MAX-MINAS ),所谓最大-最小即是为信息素设定上限与下限,设定上限避免搜索陷入局部最优,设定下限鼓励深度搜索。蚂蚁作为一个生物个体其自身的能力是十分有限的,比如蚂蚁个体是没有视觉的,蚂蚁自身体积又是那么渺小,但是由这些能力有限的蚂蚁组成的蚁群却可以做出超越个体蚂蚁能力的超常行为。蚂蚁没有视觉却可以寻觅食物,蚂蚁体积渺小而蚁群却可以搬运比它们个体大十倍甚至百倍的昆虫。这些都说明蚂蚁群体内部的某种机制使得它们具有了群体智能,可以做到蚂蚁个体无法实现的事情。经过生物学家的长时间观察发现,蚂蚁是通过分泌于空间中的信息素进行信息交流,进而实现群体行为的。 下面简要介绍蚁群通过信息素的交流找到最短路径的简化实例。如图2-1 所示,AE 之间有两条路ABCDE 与ABHDE ,其中AB ,DE,HD,HB 的长度为1,BC,CD 长度为0.5,并且,假设路上信息素浓度为0,且各个蚂蚁行进速度相同,单位时间所走的长度为1,每个单位时间内在走过路径上留下的信息素的量也相同。当t=0 时,从A 点,E 点同时各有30 只蚂蚁从该点出发。当t=1,从A 点出发的蚂蚁走到B 点时,由于两条路BH 与BC 上的信息素浓度相同,所以蚂蚁以相同的概率选择BH 与BC ,这样就有15 只蚂蚁选择走BH,有15 只蚂蚁选择走BC 。同样的从E 点出发的蚂蚁走到D 点,分别有15 只蚂蚁选择DH 和DC。当t=2 时,选择BC 与DC 的蚂蚁分别走过了BCD 和DCB ,而选择BH 与DH 的蚂蚁都走到了H 点。所有的蚂蚁都在所走过的路上留下了相同浓度的信息素,那么路径BCD 上的信息素的浓度是路径BHD 上信息素浓度的两倍,这样若再次有蚂蚁选择走BC 和BH 时,或选择走DC 与DH 时,都会以较大的概率选择信息素浓度高的一边。这样的过程反复进行下去,最短的路径上走过的蚂蚁较多,留下的信息素也越多,蚁群这样就可以找到一条较短的路。这就是它们群体智能的体现。 蚁群算法就是模拟蚂蚁觅食过程中可以找到最短的路的行为过程设计的一种仿生算法。在用蚁群算法求解组合优化问题时,首先要将组合优化问题表达成与信息素相关的规范形式,然后各个蚂蚁独立地根据局部的信息素进行决策构造解,并根据解的优劣更新周围的信息素,这样的过程反复的进行即可求出组合优化问题的优化解。 归结蚁群算法有如下特点: (1)分布式计算:各个蚂蚁独立地构造解,当有蚂蚁个体构造的解较差时,并不会影响整体的求解结果。这使得算法具有较强的适应性; (2)自组织性:系统学中自组织性就是系统的组织指令是来自系统的内部。同样的蚁群算法中的各个蚂蚁的决策是根据系统内部信息素的分布进行的。这使得算法具有较强的鲁棒性; (3)正反馈机制与负反馈机制结合:若某部分空间上分布的信息素越多,那么在这个空间上走过的蚂蚁也就越多;走过的蚂蚁越多,在那个空间上留下的信息素也就越多,这就是存在的正反馈机制。但蚁群算法中解的构造是通过计算转移概率实现的,也就是说构造解的时候可以接受退化解,这限制了正反馈机制,

相关文档
最新文档