具有变异特征的蚁群算法_吴庆洪
- 格式:pdf
- 大小:179.32 KB
- 文档页数:6
蚁群算法的研究现状Current Status of Re search on Ant Colony Algorithm吴 斌 赵燕伟(浙江工业大学机电学院,杭州 310032)摘 要 蚁群算法是一种新型的模拟进化算法,研究表明该算法具有很好的通用性和鲁棒性,在离散的组合优化问题中实验,取得了良好的效果。
介绍了蚁群算法的原理,对目前蚁群算法的研究进展情况进行了分析,同时对比国内外的研究状况提出了自己的观点,以推动该算法在更广阔的领域内得到应用。
关键词 蚁群算法 研究 现状 蚁群系统 组合优化 TSPAbstract Ant colony alg orithm is a kind of new emulated ev olution alg orithm.The research shows that this alg orithm can be comm only used and offers very g ood robustness,excellent result is obtained in the experiment of discrete combined optim ization.The principle of ant colony alg orithm is introduced and current progress in research of this alg orithm is analyzed.The situation of the research at home and abroad are com pared and the view point of author is given.The application of this alg orithm in wider area is prom oted.K ey w ords Ant colony alg orithm Research Current status Ant colony system C ombined optim ization TSP0 引言很早人们就知道模仿生物的一些特性,来更好地为人类服务。
软件开发118蚁群算法及其在智能交通中的应用◆◆吴鸣◆摘要:随着经济的快速发展,人们的生活水平也得到了一定的提高,私人汽车拥有量在不断的增加。
随着私有汽车的数量不断的提高,交通问题也在日益严重,交通问题现在已经成为了城市发展的重要阻碍。
智能交通系统可以有效的去解决现在社会对于交通的需求,同时也能解决消费者之间的供给问题。
智能交通系统主要是以人工智能技术为支撑,可以有效的缓解交通拥挤的现状。
关键词:智能交通系统;蚁群算法;算法改进;车辆路径问题1◆◆蚁群算法及其研究现状1.1 蚁群算法蚁群算法简单来说就是利用以群搜索食物的过程,结合著名的旅行商问题,成功的运用在求解tsp问题上。
蚁群算法其实是一种模拟进化算法,但是这种算法仅仅局限于种群之间,在一定程度上具有随机搜索的特点。
多个可行解之间可以组成许多种群,各个种群之间所出现的问题都会得到最优化的解决,并且根据长期的生活经验可以不断的调整自身的结构。
在协作的阶段,大多数会进行简单的信息交流,这样才可以形成新一轮的可行解。
蚂蚁之间会留下一种特殊的信息素,这些信息在长时间之后会得到挥发,挥发之后在日后的搜索中就寻找不出来。
这些特性使得蚁群算法体现出了明显的自组织机制,完全不会受到外界的干扰,从开始的无组织状态会演化到有序状态。
1.2 蚁群算法的特点和研究现状蚁群算法本身具有智能搜索的优势,可以将全局的能力进行整体优化,进行正反馈计算。
在搜索路径的过程中,蚂蚁所采用的信息素可以成为一种特殊的通信机制,并且这种机制非常容易扩展到人工多主题模型。
人工主体指挥将访问状态增加变量信息,通过正反馈机制将评估进行合理的优化,在一定程度上可以提高问题的解效率。
当蚁群在完成一项工作时,会和其他的蚂蚁共同协作来完成工作的目标,所以在任务实施的过程中,并不会有与个体的能力不足所受到影响。
蚁群算法一直作为一种模拟种群的进化算法,在现实生活中具有一定的可实施性,对于模型也会进行细微的修改。
蚁群算法综述控制理论与控制工程09104046 吕坤一、蚁群算法的研究背景蚂蚁是一种最古老的社会性昆虫,数以百万亿计的蚂蚁几乎占据了地球上每一片适于居住的土地,它们的个体结构和行为虽然很简单,但由这些个体所构成的蚁群却表现出高度结构化的社会组织,作为这种组织的结果表现出它们所构成的群体能完成远远超越其单只蚂蚁能力的复杂任务。
就是他们这看似简单,其实有着高度协调、分工、合作的行为,打开了仿生优化领域的新局面。
从蚁群群体寻找最短路径觅食行为受到启发,根据模拟蚂蚁的觅食、任务分配和构造墓地等群体智能行为,意大利学者M.Dorigo等人1991年提出了一种模拟自然界蚁群行为的模拟进化算法——人工蚁群算法,简称蚁群算法(Ant Colony Algorithm,ACA)。
二、蚁群算法的研究发展现状国内对蚁群算法的研究直到上世纪末才拉开序幕,目前国内学者对蚁群算法的研究主要是集中在算法的改进和应用上。
吴庆洪和张纪会等通过向基本蚁群算法中引入变异机制,充分利用2-交换法简洁高效的特点,提出了具有变异特征的蚊群算法。
吴斌和史忠植首先在蚊群算法的基础上提出了相遇算法,提高了蚂蚁一次周游的质量,然后将相遇算法与采用并行策略的分段算法相结合。
提出一种基于蚁群算法的TSP问题分段求解算法。
王颖和谢剑英通过自适应的改变算法的挥发度等系数,提出一种自适应的蚁群算法以克服陷于局部最小的缺点。
覃刚力和杨家本根据人工蚂蚁所获得的解的情况,动态地调整路径上的信息素,提出了自适应调整信息素的蚁群算法。
熊伟清和余舜杰等从改进蚂蚁路径的选择策略以及全局修正蚁群信息量入手,引入变异保持种群多样性,引入蚁群分工的思想,构成一种具有分工的自适应蚁群算法。
张徐亮、张晋斌和庄昌文等将协同机制引入基本蚁群算法中,分别构成了一种基于协同学习机制的蚁群算法和一种基于协同学习机制的增强蚊群算法。
随着人们对蚁群算法研究的不断深入,近年来M.Dorigo等人提出了蚁群优化元启发式(Ant-Colony optimization Meta Heuristic,简称ACO-MA)这一求解复杂问题的通用框架。
本栏目责任编辑:唐一东人工智能及识别技术基于蚁群算法的智能图像识别应用研究肖宇(常州工程职业技术学院,江苏常州213164)摘要:由于受到干扰因素的影响,在图像识别过程中很多图像识别算法的效果都不太理想。
蚁群算法能通过区分图像像素的灰度,有效地对图像像素进行聚焦,从而实现智能图像识别。
本文在对蚁群算法进行综合分析的基础上提出了一种改进的蚁群算法,能够有效消除传统蚁群算法工作中存在的停滞现象,为其他相关研究提供理论参考。
关键词:蚁群算法;图像识别;图像分割中图分类号:TP18文献标识码:A文章编号:1009-3044(2019)31-0212-03开放科学(资源服务)标识码(OSID):随着计算机技术的不断发展,图像识别技术在计算机技术的帮助下取得了突破性进展并在现实生活中得到了广泛应用。
目前常见的图像处理算法有很多种,各有优缺点,蚁群算法作为目前比较流行一种图像处理算法在图像分割、图像边缘检测和图像识别等方面都具有一定优势[1],因此本文对蚁群算法进行了研究,分析了蚁群算法在智能图像识别中的应用,并总结了对蚁群算法进行改进的方法,希望对相关研究有所帮助。
蚁群算法是一种仿生学算法,其本质在于模仿蚂蚁在寻找食物的过程中选择路径。
起源于1992年意大利学者MarcoDo⁃figo 在他的博士论文中提出的一种基于蚂蚁觅食行为的算法模型[2],到1996年,MarcoDofigo 在其论文中再次对蚁群算法做了详细概述,并对蚁群算法的优点进行了综合分析。
从那时起,国际学者关于蚁群算法的研究热情不断高涨,促进了蚁群算法理论的不断改进和应用。
在我国的发展蚁群算法虽然起步要晚于国外,但发展得很快。
1999年,吴庆洪在原有蚁群算法的基础上,提出了一种具有变异策略的蚁群算法,通过改变变异方式,克服了传统蚁群算法收敛速度慢的缺点[3]。
2001年,吴斌提出了一种问题分段的求解蚁群算法。
2005年,袁立提出了一种多线程蚁群算法,重点分析了蚁群在觅食过程中的策略选择和搜索能力,将该算法用于求解TSP 问题,其结果表明该算法具有很好的全局寻优能力。
一种优化的蚁群算法夏显清(绍兴托普信息职业技术学院,浙江绍兴312000)摘要:蚁群算法是一种新型的启发式算法,它具有许多优良性质,被广泛用于求解组合优化问题,但基本蚁群算法也存在诸多不足。
为使蚊群算法对应TSP 问题的解更加优良,提出了一种改进的蚁群算法并对它进行了试验,结果表明改进算法是有效的,这也为蚁群算法的优化提供了一个新的途径。
关键词:蚁群算法;组合优化;TSP 问题中图分类号:TP312文献标识码:A文章编号:1672-7800(2010)08-0065-021蚁群算法概述1.1定义蚁群算法(Ant Colony Algorithm )是由意大利学者MacroDorigo 等人在上世纪90年代提出来的,是继遗传算法、人工神经网络等算法之后用于解决组合优化问题的又一种启发式算法,它借鉴蚂蚁通过自组织的合作能力所产生的群体智能来解决组合优化问题。
1.2人工蚁群与自然界蚁群的异同两者的相似之处:优先选择路径的机制、信息传递的方式。
两者的区别在于:人工蚁群的记忆能力、一定的算法规律。
1.3算法的数学模型表述蚁群算法有3种不同的模型:ant-cycle system 、ant-quanti-ty system 、ant-density system ,为充分利用整体信息,本文采用的是ant-cycle system 。
算法中有几个数学公式是很重要的:一个是蚂蚁根据概率大小选择路径的公式,另一个是路径上的信息素更新的公式。
1.3.1路径选择的数学公式S=[τij (t )]α[ηij ]β/∑j ∈allowed [τij (t )]α[ηij ]β若j ∈allowed 或=0若j¢allowed 1.3.2信息素更新的数学公式τij (t+1)=ρ×τij (t )+Δτij (t ,t+1)Δτij (t ,t+1)=∑[Δτij k (t ,t+1)]Δτij k (t ,t+1)=Q /L k (t ,t+1)若蚂蚁k 在本次循环中经过ij路径或=0若蚂蚁k 在本次循环中未经过ij 路径1.4关键参数的设置蚁群算法中α、β、ρ、m 等参数对算法性能有很大的影响。
电脑编程技巧与维护群智能算法高性能计算平台探究罗琼(四川化工职业技术学院,四川泸州646005)摘要:近年来,各研究学者通过基于生物学在动物等群体研究成果的基础上,提出了群智能的概念。
群智能技术主要针对生物在群体的社会性活动的理论抽象的基础上,通过进行模拟,以期解决目前遇到到各种结构方案的优化症结。
阐述了当前在群智能算法领域的一些主流的算法,并在分析的基础上,对蚂蚁优化算法在高性能计算平台的硬件实施方面提出了一些探究性意见与看法。
关键词:群智能算法;蚂蚁算法;硬件实现The Swarm Intelligence Algorithm for High Performance ComputingPlatform ResearchLUO Qiong(Sichuan College of Chemical Technology,Sichuan Luzhou646005,China)Abstract:in recent years,the scholars based on biology in animal groups basis of research results,proposed the concept of group intelligence.Swarm intelligence technology on biological in groups of social activity theory based on abstract,through simulation,in order to solve at present to meet various structure scheme optimization problem.The main contents of this pa-per include the in swarm intelligence algorithms in the field of some mainstream algorithms,and based on the analysis,the ant optimization algorithm in high performance computing platform hardware implementation are some exploratory ideas and comments.Key words:swarm intelligence algorithm;ant algorithm;hardware implementation1引言在开始进入正文之前,有必要先解析一下相关概念,以便使读者能更全面、更好地认识和理解群智能算法及其实现。
蚁群算法综述控制理论与控制工程09104046 吕坤一、蚁群算法的研究背景蚂蚁是一种最古老的社会性昆虫,数以百万亿计的蚂蚁几乎占据了地球上每一片适于居住的土地,它们的个体结构和行为虽然很简单,但由这些个体所构成的蚁群却表现出高度结构化的社会组织,作为这种组织的结果表现出它们所构成的群体能完成远远超越其单只蚂蚁能力的复杂任务。
就是他们这看似简单,其实有着高度协调、分工、合作的行为,打开了仿生优化领域的新局面。
从蚁群群体寻找最短路径觅食行为受到启发,根据模拟蚂蚁的觅食、任务分配和构造墓地等群体智能行为,意大利学者M.Dorigo等人1991年提出了一种模拟自然界蚁群行为的模拟进化算法——人工蚁群算法,简称蚁群算法(Ant Colony Algorithm,ACA)。
二、蚁群算法的研究发展现状国内对蚁群算法的研究直到上世纪末才拉开序幕,目前国内学者对蚁群算法的研究主要是集中在算法的改进和应用上。
吴庆洪和张纪会等通过向基本蚁群算法中引入变异机制,充分利用2-交换法简洁高效的特点,提出了具有变异特征的蚊群算法。
吴斌和史忠植首先在蚊群算法的基础上提出了相遇算法,提高了蚂蚁一次周游的质量,然后将相遇算法与采用并行策略的分段算法相结合。
提出一种基于蚁群算法的TSP问题分段求解算法。
王颖和谢剑英通过自适应的改变算法的挥发度等系数,提出一种自适应的蚁群算法以克服陷于局部最小的缺点。
覃刚力和杨家本根据人工蚂蚁所获得的解的情况,动态地调整路径上的信息素,提出了自适应调整信息素的蚁群算法。
熊伟清和余舜杰等从改进蚂蚁路径的选择策略以及全局修正蚁群信息量入手,引入变异保持种群多样性,引入蚁群分工的思想,构成一种具有分工的自适应蚁群算法。
张徐亮、张晋斌和庄昌文等将协同机制引入基本蚁群算法中,分别构成了一种基于协同学习机制的蚁群算法和一种基于协同学习机制的增强蚊群算法。
随着人们对蚁群算法研究的不断深入,近年来M.Dorigo等人提出了蚁群优化元启发式(Ant-Colony optimization Meta Heuristic,简称ACO-MA)这一求解复杂问题的通用框架。
蚂蚁是自然界中常见的一种生物,在昆虫世界,蚂蚁是一种群居的世袭大家庭,我们称之为蚁群(ant colony)。
蚁群具有高度组织的社会性,彼此间的沟通不仅可以借助触觉、视觉的联系,在大规模的协调行动上可以借助外激素(pheromone)之类的生产化信息介质。
蚁群的觅食行为是最易观察的,每只蚂蚁具有如下的职能:平时在巢穴附近作无规则行走,一旦发现食物,如果独自能搬的就往回搬,否则就回巢搬兵,一路上它会留下外激素的嗅迹,其强度通常与食物的品质和数量成正比;若其他蚂蚁遇到嗅迹,就会循迹前进,但也会有一定的走失率,走失率与嗅迹的强度成反比,从而相互协作,完成复杂的任务。
1991年意大利学者M.Dorigo等人首先提出了蚁群算法(ant colony algorithm),人们开始了对蚁群的研究:相对弱小,功能并不强大的个体是如何完成复杂的工作的,因此在此基础上,蚁群算法从对蚁群行为的研究中产生且逐渐发展起来。
蚁群算法是一种随机搜索算法。
诸多研究证明,蚁群算法具有很强的寻优能力,不仅利用正反馈原理,在一定程度上加快了寻优过程,而且是一种本质并行算法,不同个体之间进行信息交流和传递,从而相互协作,有利于发现更好解。
它具有以下优点[3]:(1)较强的通用性:对基本蚁群算法模型稍加修改,便可以应用于其他问题。
(2)分布式计算:蚁群算法是一种基于种群的进化算法,具有本质并行性,易于并行实现。
(3)易于与其它方法结合:蚁群算法很容易与多种启发式算法结合,以改善算法的性能。
蚁群算法也有一些缺陷:(1)需要较长的搜索时间:由于蚁群中多个个体的运动是随机的,虽然通过信息的交流能够向着最优路径进化,但是当群体规模较大时,很难在短时间内从复杂无章的路径中找出一条较好的路径。
(2)容易出现停滞现象(stagnation behavior):即在搜索进行到一定程度后,所有个体所发现的解完全一样,不能对解空间进一步进行搜索,不利于发现更好的解。
关于蚁群算法的探讨张玉春;程春英【摘要】Ant colony algorithm which is a new heuristic algorithm with characteristics of robustness and global search has been widely applied in the fields of artificial intelligence,system control and pattern recognition etc.This paper elaborates the foundational theory on ant colony algorithm and states improved algorithm.It also points out the perspective of ant colony algorithm.%蚁群算法是一种新型的启发式算法,具有正反馈、分布式计算和用于贪婪搜索的特点,因而具有较强的鲁棒性和搜索性,已广泛地应用于人工智能、系统控制、模式识别等工程领域,本文阐述了蚁群算法的基本原理,给出了现有的各种改进的算法,并展望了蚁群算法的发展方向.【期刊名称】《内蒙古民族大学学报(自然科学版)》【年(卷),期】2011(026)006【总页数】3页(P656-658)【关键词】蚁群算法;信息素;改进【作者】张玉春;程春英【作者单位】内蒙古民族大学计算机科学与技术学院,内蒙古通辽028043;内蒙古民族大学计算机科学与技术学院,内蒙古通辽028043【正文语种】中文【中图分类】TP1831 引言蚁群算法〔1〕是一种仿生随机优化算法.在20世纪90年代,由意大利学者M.Dorig〔1〕等人从生物进化的机理中受到启发,通过仿真自然界的蚂蚁行为,提出的一种仿真进化算法.该算法已被成功应用于旅行商问题〔2〕、二次分配〔3〕、路径规划〔4〕、车间作业调度问题、车辆调度〔5〕等问题的求解.蚁群算法具有正反馈、分布式计算和用于贪婪搜索的特点.正反馈有助于快速找到问题较好的解;分布式计算可避免在地带过程中出现早熟现象;蚁群算法是继模拟退火、遗传算法、禁忌搜索等之后的又一启发式智能优化算法,具有很强的通用性和鲁棒性.蚁群算法提出到现在,因其在求解组合优化问题中突出表现,吸引了人们极大的关注.但是蚁群算法也存在一些缺陷,如需要较长的搜索时间,易于陷入局部最小值等.所以出现了大量的改进的蚁群算法.2 蚁群算法基本原理2.1 蚁群算法的特性蚁群算法是模拟自然界中蚁群的觅食行为而形成的一种模拟进化算法.大量的研究发现,蚂蚁个体之间信息的传递是通过一种称为信息素的化学物质进行的〔6〕.当蚁群在觅食过程中会释放一定量的信息素,而且蚂蚁在运动过程中会感知信息素强度,并以此指导自己运动方向.当一条路径上信息素浓度越高就表明该路径上通过的蚂蚁数量也就越多,其它蚂蚁选择该路径的可能性也就越大.这种大量蚂蚁组成的蚁群的集体行为表现出一种信息反馈现象:某一路径经过的蚂蚁越多,该路径的信息素强度就越大,其它蚂蚁选择该路径的概率就会越大. 通过对蚁群算法的原理的研究,可以得出蚁群算法的一些基本的特征.(1)正反馈性.(2)强启发性.(3)协调性与并行性.2.2 蚁群算法的数学模型(1)蚂蚁个体.由于蚁群算法是对自然界中真实蚂蚁觅食行为的一种模拟,因此首先必须对真实蚂蚁进行抽象,而不可能也没有必要对蚂蚁个体进行完全的再现.这样抽象出来的人工蚂蚁可以看作是一个简单的智能体,能够完成所求问题解的构造过程.(2)寻找路径.蚂蚁在觅食过程中主要按照所处环境中的信息量来决定其前进的方向,因此可以把觅食过程抽象成算法中解的构造过程,将信息素抽象为存在于图的边上的轨迹.用任意两个节点分别表示蚂蚁的巢穴和食物源,人工蚂蚁从巢穴点按照一定状态转移概率选择下一个节点,依次类推,最终选择行走到食物源节点,这样便得到了所求问题的一个可行解.(3)信息素.蚂蚁总是在所经过的路径上连续不断的留下信息素,而信息素也会随着时间的推移而连续不断地挥发.由于计算机处理的是离散事件,所以必须使信息素的挥发也是离散发生的.一般采取的做法是:当蚂蚁完成从一个节点到下一个节点的移动后,即经过一个时间单位之后,进行一个信息素的挥发,而这种在离散时间点进行信息素挥发的方式与蚂蚁觅食过程的机理是一致的.(4)启发因子.在决定蚂蚁在行走方向的状态转移概率时,引入了一个随机搜索的过程,即引入了启发因子,在根据所求问题空间的具体特征,给蚁群算法一个初始的引导,这个过程极大的增加了算法的时间有效性,从而使蚁群算法的有效应用成为可能.下面简单介绍一下TSP问题的基本蚁群算法求解.假设n个城市,m个蚂蚁,任意两城市r,s之间的距离为d(r,s),T(r,s)表示两个城市间信息素的浓度,△T(r,s)k表示第k个蚂蚁访问过支路(r,s)后释放的信息素浓度.Pk(r,s)表示第k个蚂蚁的转移概率:式中:s表示未访问过的城市;Z表示已经访问过城市的集合;(r,s)等于l/d(r,s),称为边弧的能见度;α为信息素浓度的重要程度;β为可见度的相对重要程度.α—为信息启发式因子,表示轨迹的相对重要性,它反映了蚂蚁在运动过程中所积累的信息素在蚂蚁运动时所起的作用,其值越大,则该蚂蚁越倾向于选择其他蚂蚁经过的路径,表明蚂蚁之间协作性越强.β—为期望启发式因子,表示期望值的相对重要程度,反映了蚂蚁在运动过程中启发信息在蚂蚁选择路径中的受重视程度,其值越大,则该状态转移概率越接近于贪婪规则.信息素浓度更新公式为式中:表示信息素浓度挥发后的剩余浓度:式中Q为一个常数,表示蚂蚁完成一次完整的路径搜索后释放的信息素的总量Lk 表示路径总长度.3 蚁群算法的改进与发展近年来,关于蚁群优化算法的研究目标主要集中在如何改善蚁群算法的性能方面.具体地,改进的途径集中在以下几方面:(1)改进信息素轨迹的更新机制.①精华蚂蚁系统(EAS).精华蚂蚁系统是对基本蚁群算法的第一次改进,其核心思想是将每次循环中找到局部最优路径的蚂蚁称为精英蚂蚁,增大其释放的信息素量.Dorigo〔2〕等人对精华蚂蚁系统求解TSP问题进行了试验,结果表明比基本蚁群算法有着更快的进化速度.②基于排列的蚂蚁系统(ASrank).基于排列的蚂蚁系统的核心思想是:根据每只蚂蚁所生成的问题解决方案的优劣进行排序,并对信息素轨迹量的更新进行加权更新.B Bullnheimer等人通过试验表明基于排列的蚂蚁算法比AS和EAS有着更高的寻有能力和更快的求解速度.③孙泽宇等人提出了改变局部信息素的迭代更新规则和改进伞局更新策略,并对相应参数做动态设置,进而抑制早熟现象出现,减少了冗余码的产生,提高了全局的搜索能力,加快了系统的收敛速度.(2)自适应调蚁群算法.张纪会〔7〕等人从选择策略方面进行修改,采用确定性选择和随机选择相结合的选择策略,并且在搜索过程中动态地调整作确定性选择的概率当进化到一定代数后,再对路径上信息量作动态调整,缩小最好和最差路径上的信息量的差距,并且适当加大随机选择的概率,以利于对解空间的更完全搜索,从而可以有效地克服基本蚁群算法的两个不足我们的方法,属于自适应方法,此算法按照下式确定蚂蚁k由i转多到的下一城市s:夏鸿斌〔8〕等人提出了一种具有自适应并行机制的选择和搜索策略.该策略通过将蚁群划分为若干个子群,不同子群的蚂蚁释放不同类型的信息素,引入了吸引因子和排斥因子,实现了一种多蚁群并行选择策略,以加强其全局搜索能力.(3)将蚁群算法与其他智能优化算法相结合①修春菠〔9〕等人将蚁群算法与鱼群算法相结合,将鱼群算法中拥挤度的概念引入到蚁群算法中.该算法在寻优初期具有较强的遍历寻优能力,能够较快发现全局最优解的存在,而寻优后期,算法利用信息素正反馈的作用保持了较快的收敛速度.仿真结果验证了该方法的有效性.② 翁国栋〔10〕等人将蚁群算法与遗传算法结合,形成一种时间效率和求解效率都比较好的新的启发式算法.将其应用于TSP问题上,通过仿真实验验证了该方法的有效性.③ 吴建辉〔2〕等人将蚁群算法与免疫算法相结合,提出了一种新的融合优化方法:结合抗体小窗口局部搜索算法的蚁群和克隆选择融合算法(ACLA).针对TSP实验结果表明,该算法在收敛速度与求解精度上均取得了较好的效果.④吴庆洪〔11〕等人提出了具有变异特性的蚁群算法该算法为了克服AS的收敛较慢的问题,采用逆转变异方式,随机地进行变异,以增大进化时所需的信息量.因而具有较快的收敛速度.4 结束语蚁群算法在应用上取得了巨大的成就,但是,其本身没有一个固定的数学模型支撑,还处于实验论证阶段,因此,对其改进还有很大的空间.(1)蚁群算法理论的研究.目前对蚁群算法的研究,有算法意义上的研究,还有从仿真模型角度的研究.但现阶段对蚁群算法的研究还只是停留在仿真阶段,尚未能提出一个完善的理论分析,对它的有效性也没有给出严格的数学解释.因此,对蚁群算法的理论进行研究非常重要.(2)将蚁群算法和其它算法的融合.现阶段,蚁群算法与模拟退火算法、遗传算法、微粒群算法、人工免疫算法等的融合已有不少成果.但是,蚁群算法与人工鱼群算法和蜂群算法等一些新的仿生优化算法之间的融合还是很少.(3)加强蚁群算法应用的研究.在蚁群算法的研究方面还存在许多问题需要进一步的解决,比如选择初始化参数的问题、信息素分配的问题和收敛速度等问题.参考文献【相关文献】〔1〕A Colorni,M Dorigo,V Maniezzo.Distributed optimization by antcolonies〔J〕.Pronceedings of 1st European Conference on Artificial Life,1991:134-142.〔2〕吴建辉,张兢,刘超华.基于蚁群算法和免疫算法融合的TSP问题求解〔J〕.湖南大学学报(自然科学版),2009,36(10):82-87.〔3〕V Maniezzo.Exact and approximate nondeterministic tree-search procedures for the quadratic assignment problem〔J〕.INFROMS Journal on computing,1999,11(4):358-369.〔4〕王旭,崔平远,陈阳舟.基于蚁群算法求路径规划问题的新方法及仿真〔J〕.计算机仿真,2005,22(7):60-62.〔5〕R S.Parpimization algorithm〔J〕.IEEE Trans on Evolutionary computation,2002,6(4):31-38.〔6〕M Dorigo,E Bonabeau,G Theraulaz.Ant algorithm and stigmery〔J〕.Future Generation Computer Systems,2000,16(8):851-871.〔7〕张纪会,高齐圣,徐心和.自适应蚁群算法.控制理论与应用,2000,17(1):1-3.〔8〕夏鸿斌,须文波,刘渊.自适应并行机制的改进蚁群算法〔J〕.系统工程与电子技术,2009,31(12):2973-2976.〔9〕修春菠,张雨虹.基于蚁群与鱼群的混合优化算法〔J〕.计算机工程,2008,34(14):206-208.〔10〕翁国栋.蚁群算法与遗传算法在TSP问题上的融合〔J〕.福建电脑,2006(2):115-116. 〔11〕吴庆洪,张纪会,徐心和.具有变异特征的蚁群算法〔J〕.计算机研究与发展,1999,36(10):1240-1245.。
蚁群算法的原理与运用摘要:意大利学者通过模拟蚁群觅食行为提出了一种基于种群的模拟进化算法——蚁群算法。
该算法已经在组合优化、函数优化、系统辨识、网络路由、机器人路径规划等领域获得了广泛应用,并取得了较好结果。
本文围绕蚁群算法的原理、理论及其应用,就TSP(旅行商问题)、以及OPP(最优路径问题)在matlab 中进行仿真并分析其结果。
关键词:蚁群算法;旅行商问题;最短路径问题;仿真Abstract:A population-based simulated evolutionary algorithm called ant colony algorithm(ACA for short)was proposed by Italian researchers. The algorithm has been widely applied to the fields of combinatorial optimization , function optimization, system identification, network routing, path planning of robot, good effects of application are gained. This paper focuses on the principles, theory, and application of ACA, trying to solve the the traveling salesman problem and the optimal path problems by simulating in matlab to analyze the result.Keywords:ant colony algorithm; traveling salesman problem; shortest path problem ; simulation1绪论1.1引言各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻找食物。
蚁群算法及其在序列比对中的应用研究综述摘要:蚁群算法是一种新颖的仿生进化算法。
作为一种全局搜索的方法,蚂蚁算法具有正反馈性、并行性、分布性、自组织性等特点,自提出以来,便在求解复杂组合优化问题上显示出了强大的优势。
序列比对是生物信息学的基础,通过在比对中获得大量的序列信息,可以推断基因的结构、功能和进化关系。
本文首先详细阐述了蚁群算法的基本原理、各种改进技术及收敛性分析,然后对蚁群算法在双序列比对和多序列比对的应用研究进行了综述和评价,最后指出了下一步的研究方向。
关键词:蚁群算法;序列比对;信息素Abstract: Ant colony algorithm (ACA) is a novel bionic evolutionary algorithm. As a global searching approach,ACA has some characteristic,such as positive feedback, distributing,paralleling, self-organizing, etc,and from it was introduced, it has been used to solve all kinds of complex optimization problem. Sequence alignment is the basement of Bioinformatics. With the wealth of sequence information obtained from sequence alignment, one can infers the structure, function and evolutionary relationship of genes. In this paper, the basic principles of ACA are introduced at length, and various improvements and convergence Analysis of ACA are also presented. Then the current study of double sequence alignment and multiple sequence alignment based on ant colony algorithm are reviewed and evaluated. Finally, some future research directions about ACA are proposed.Key words: Ant Colony Algorithm; Sequence Alignment; Pheromone1 引言蚁群算法(Ant Algorithm)是一种源于大自然中生物世界的新的仿生类算法,作为通用型随机优化方法,它吸收了昆虫王国中蚂蚁的行为特性,通过其内在的搜索机制,在一系列困难的组合优化问题求解中取得了成效。
第36卷第10期1999年10月计算机研究与发展JO URN AL O F COM PU T ER RESEARCH&DEV ELOPM EN TV ol.36,N o.10Oct.1999原稿收到日期:1997-11-19;修改稿收到日期:1999-04-08.本课题得到国家“八六三”CIM S 主题资助(项目编号863-511-9508-004).吴庆洪,男,1967年7月生,博士研究生,主要研究方向为计算机控制、工业自动化等.张纪会,男,1969年10月生,博士研究生,主要研究方向为离散事件动态系统、智能生产调度、智能计算等.徐心和,男,1940年12月生,教授,博士生导师,主要研究方向为离散事件动态系统、计算机控制与仿真、混杂系统、生产调度等.具有变异特征的蚁群算法吴庆洪 张纪会 徐心和(东北大学控制仿真中心 沈阳 110006)摘 要 蚁群算法是一种新型的模拟进化算法,初步的研究已经表明该算法具有许多优良的性质,但该算法也存在一些缺点,如计算时间较长.为了克服这一缺点,文中给出一种新的蚁群算法——具有变异特征的蚁群算法.在基本蚁群算法中引入变异机制,充分利用了2-交换法简洁高效的特点,使得该方法具有较快的收敛速度,节省计算时间.计算机仿真结果表明该方法是行之有效的.关键词 蚁群系统,模拟进化算法,变异机制中图法分类号 T P301.6AN ANT COLO N Y ALGORITHM WITH MUTATIO N FEATURESW U Qing-Ho ng ,ZHANG Ji-Hui,and X U Xin-He(Control &Sim ulation Center ,Northeas t University ,Shenyang 110006)Abstract Ant colo ny alg orithm is a nov el sim ulated ev olutio nary alg o rithm w hich show s m any promising characters ,but it also has som e sho rtcoming s such as needing lo nger computing time etc ..In o rder to ov ercome this defect ,a new ant colony alg orithm ,an ant colo ny a lg o rithm w ith m utatio n features ,is proposed in the pa per here .Because of the introductio n o f m utatio n mecha-nism w hich makes full use of streng th of 2-excha nge m ethod,it can quicken the co nv ergence rate and decrease com puting puting sim ula tion exam ples show its validity.Key words ant co lony system ,m utatio n mechanism,sim ulated evo lutionary alg o rithm1 引 言本世纪50年代中期创立了仿生学,人们从生物进化的机理中受到启发,提出了许多用以解决复杂优化问题的新方法,如遗传算法、进化规划、进化策略等[1],并成功地应用于实际问题[2].蚁群算法(ant co lony a l-g orithm ,ACA)是最近几年才提出的一种新型的模拟进化算法,它是由意大利学者M.Do rig o,V.Maniez-zo ,A.Colo rni 等人首先提出来的[3~5],他们称之为蚁群系统(a nt colo ny system ),并用该方法求解T SP 问题[5]、分配问题[3]、job -shop 调度问题[5],取得了一系列较好的实验结果.受其影响,蚁群系统模型逐渐引起了其它研究者的注意,并用该算法来解决一些实际问题[6].虽然对此方法的研究刚刚起步,但是这些初步研究已显示出蚁群算法在求解复杂优化问题(特别是离散优化问题)方面的一些优越性,证明它是一种很有发展前景的方法.本文对该方法作了一些研究.文章组织结构如下:首先简要介绍一下蚁群算法的由来及其基本原理;本文第3部分介绍蚁群算法的模型及其实现;然后用实例说明基本蚁群算法的优点与不足及其改进方法;最后给出实验结果验证我们给出的蚁群算法的有效性.2 基本蚁群算法的原理人工蚁群算法是受到人们对自然界中真实的蚁群集体行为的研究成果的启发而提出的一种基于蚁群的模拟进化算法,属于随机搜索算法,由意大利学者M.Dorigo 等人首先提出[3].M.Do rig o 等人首次提出该方法时,充分利用了蚁群搜索食物的过程与著名的旅行商问题(T SP )之间的相似性,通过人工模拟蚂蚁搜索食物的过程(即通过个体之间的信息交流与相互协作最终找到从蚁穴到食物源的最短路径)来求解T SP 问题,为了区别于真实蚂蚁群体系统,我们称这种算法为“人工蚁群算法”.为了说明人工蚁群系统的原理,我们先简要介绍一下蚂蚁搜索食物的具体过程.像蚂蚁这类群居昆虫,虽然没有视觉,却能找到由蚁巢到食物源的最短路径,原因是什么呢?虽然单个蚂蚁的行为极其简单,但由这样的单个简单的个体所组成的蚁群群体却表现出极其复杂的行为,能够完成复杂的任务,不仅如此,蚂蚁还能够适应环境的变化,如:在蚁群运动路线上突然出现障碍物时,蚂蚁能够很快地重新找到最优路径,蚁群是如何完成这些复杂任务的呢?所有这些问题,很早就激起了生物学家和仿生学家的强烈兴趣,仿生学家经过大量细致观察研究发现,蚂蚁个体之间是通过一种称之为外激素(phero mone)的物质进行信息传递,从而能相互协作,完成复杂的任务.蚁群之所以表现出复杂有序的行为,个体之间的信息交流与相互协作起着重要的作用.蚂蚁在运动过程中,能够在它所经过的路径上留下该种物质,而且蚂蚁在运动过程中能够感知这种物质的存在及其强度,并以此指导自己的运动方向,蚂蚁倾向于朝着该物质强度高的方向移动.因此,由大量蚂蚁组成的蚁群的集体行为便表现出一种信息正反馈现象:某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大.蚂蚁个体之间就是通过这种信息的交流达到搜索食物的目的.对此过程,M.Dorigo 等人在文献[7]中曾用图示方式形象地描述这一过程,这里不再赘述.蚁群算法是一种随机搜索算法,与其它模拟进化算法一样,通过候选解组成的群体的进化过程来寻求最优解,该过程包含两个基本阶段:适应阶段和协作阶段.在适应阶段,各候选解根据积累的信息不断调整自身结构;在协作阶段,候选解之间通过信息交流,以期望产生性能更好的解.3 基本蚁群系统模型及其实现为了便于理解,我们以求解平面上n 个城市的TSP 问题(0,1,…,n -1表示城市序号)为例说明蚁群系统模型.n 个城市的TSP 问题就是寻找通过n 个城市各一次且最后回到出发点的最短路径.我们之所以选择TSP 问题,一方面是因为蚁群算法最初用于求解TSP 问题,便于比较,另一方面,TSP 是典型的组合优化难题,常常用来验证某一算法的有效性.对于其它问题,可以对此模型稍作修改便可应用[6].虽然它们从形式上看略有不同,但基本原理是相同的,都是通过模拟蚁群行为到达优化之目的.为模拟实际蚂蚁的行为,首先引进如下记号:设m 是蚁群中蚂蚁的数量,d ij (i ,j =1,2,…,n )表示城市i和城市j 之间的距离,b i (t )表示t 时刻位于城市i 的蚂蚁的个数,m =∑ni =1b i(t ).f ij(t )表示t 时刻在ij 连线上残留的信息量.初始时刻,各条路径上信息量相等,设f ij (0)=C (C 为常数).蚂蚁k (k =1,2,…,m )在运动过程中,根据各条路径上的信息量决定转移方向,p kij (t )表示在t 时刻蚂蚁k 由位置i 转移到位置j 的概率,p k ij =f T i j (t )Z U ij (t )∑s ∈allowed k f T is (t )Z Uis (t ) , j ∈allowed k 0 , o therwise(1)其中,allowed k ={0,1,…,n -1}-tabu k 表示蚂蚁k 下一步允许选择的城市.与实际蚁群不同,人工蚁群系统具有记忆功能,tabu k (k =1,2,…,m )用以记录蚂蚁k 当前所走过的城市,集合tabu k 随着进化过程作动态调124110期吴庆洪等:具有变异特征的蚁群算法整.随着时间的推移,以前留下的信息逐渐消逝,用参数1-d 表示信息消逝程度,经过n 个时刻,蚂蚁完成一次循环,各路径上信息量要根据下式作调整,f ij (t +n )=d f ij (t )+Δf i j d ∈(0,1)(2)Δf ij =∑mk =1Δfkij(3)Δf kij 表示第k 只蚂蚁在本次循环中留在路径ij 上的信息量,Δf kij 表示本次循环中路径ij 上的信息量的增量.Δf kij=QL k ,若第k 只蚂蚁在本次循环中经过ij 0 ,o therwise(4)其中,Q 是常数,L k 表示第k 只蚂蚁在本次循环中所走路径的长度.在初始时刻,f kij (0)=C (co nst),Δfkij =0(i ,j =0,1,…,n -1).T ,U 分别表示蚂蚁在运动过程中所积累的信息及启发式因子在蚂蚁选择路径中所起的不同作用.Z i j 表示由城市i 转移到城市j 期望程度,可根据某种启发式算法具体确定.根据具体算法的不同,f k ij (t ),Δf k ij (t )及p k ij (t )的表达形式可以不同,要根据具体问题而定.M.Dorigo 曾给出3种不同模型,分别称之为ant-cycle system,ant-quantity sy stem ,ant-density system [7].它们的差别在于表达式(4)的不同.在ant-qua ntity system 模型中,Δf ki j=Qd i j ,若第k 只蚂蚁在时刻t 和t +1之间经过ij 0 ,otherw ise(5)在a nt-density system 模型中,Δf k i j =Q 0 ,若第k 只蚂蚁在时刻t 和t +1之间经过ij ,o therwise(6) 它们的区别在于后两种模型中利用的是局部信息,而前者利用的是整体信息,在求解TSP 问题时性能较好.因而我们采用它作为基本模型.参数Q ,C ,T ,U ,d ,可以用实验方法确定其最优组合.停止条件可以用固定进化代数或者当进化趋势不明显时便停止计算.由算法复杂度分析理论可知,该算法复杂度为O (nc ·n 3),其中,nc 表示循环次数.以上是针对求解TSP 问题说明蚁群模型的,对该模型稍作修正,便可以应用于其它问题,这一方面已有某些较好结果出现[6,8].4 基本蚁群算法的优点与不足之处为了说明基本蚁群系统的优点与不足,我们给出用基本蚁群算法求解Oliv er30TSP 的典型实验结果(见图1、表1),该实验结果来源于文献[7],取10次实验的平均值.图1 最好解进化曲线图表1 蚁群算法与其它算法的比较算法基本算法①2-opt L -K ant colony s ystem 420——near neighbo r 587437421far ins ert 428421420n ear ins ert 510492410space fill ing cu rve464431421s weep 486426420random1212663421 ①所谓基本算法是指最初提出的算法形式1242计算机研究与发展1999年 从这一系列实验结果我们可以发现,蚁群算法具有很强的发现较好解的能力,不容易陷入局部最优,这是因为该算法不仅利用了正反馈原理,在一定程度上可以加快进化过程,而且是一种本质并行的算法,个体之间不断进行信息交流和传递,有利于发现较好解.单个个体容易收敛于局部最优,多个个体通过合作,很快收敛于解空间的某一子集,有利于对解空间的进一步探索,从而不容易陷入局部最优,有利于发现较好解.但是,这种算法也存在一些缺陷,如:需要较长的搜索时间,对于这一问题,文献[9]也曾经指出过,但没有提出改善方法.虽然计算机计算速度的提高和蚁群算法的本质并行性在一定程度上可以缓解这一问题,但是对于大规模优化问题,这还是一个很大的障碍.蚁群中各个体的运动是随机的,虽然通过信息交换能够向着最优路径进化,但是当群体规模较大时,很难在较短的时间内从大量杂乱无章的路径中找出一条较好的路径.这是因为在进化的初级阶段,各个路径上信息量相差不明显,通过信息正反馈,使得较好路径上的信息量逐渐增大,经过较长一段时间,才能使得较好路径上的信息量明显高于其它路径上的信息量,随着这一过程的进行,差别越来越明显,从而最终收敛于较好的路径.这一过程一般需要较长的时间.为了克服计算时间较长的缺陷,受到遗传算法中的变异算子的作用的启发,我们提出一种新的蚁群进化算法——具有变异特征的蚁群算法.我们采用逆转变异方式,设某个体所走路径为:i 0i 1i 2…i (n -1),(i 0,i 1,…,i n -1∈{0,1,2,…,n -1}),如果满足d [i s 1][i s 2]+d [i(s 1+1)%n][i (s 2+1)%n]<d [i s 1][i (s 1+1)%n]+d [i s 2][i (s 2+1)%n]其中,s 1,s 2∈{0,1,…,n -1},符号%表示整除符号.进行操作:inversion (s 1,s 2,solution i ),函数inv ersion ()的功能是把个体solution i 的s 1+1和s 2这一段颠倒过来.如:inversion (2,5,0123456)=0125436其中,变异的次数是随机的.这一过程涉及到的运算比蚁群算法中的循环过程要简单得多,因此只需较短的时间便可完成相同次数的运算.另一方面,经过这种变异算子作用后,这一代解的性能会有明显改善,从而也能改善整个群体的性能,减少计算时间.就此方法,我们作了大量实验例子,实验结果表明这种方法是很有效的. 我们的算法可以用伪代码表示为 begin初始化过程:ncycle ∶=0;bestcycle ∶=0;f ij ∶=C ;Δf ij =0;Z ij 由某种启发式算法确定;tabu k = ;while (not termina tio n co ndition){ncycle ∶=ncycle +1;fo r (index =0;index <n ;inde x ++)/*index 表示已走城市的个数*/{for (k =0;k <m ;k ++){以概率p k [tabu [k ][index -1]][j ]选择城市j ;j ∈{0,1,…,n -1}-tabu k}把所选择的城市序号加到tabu k 中/*(动态调整集合tabu k );*/}计算Δf kij (index ),f ij (index +n )确定本次循环中找到的最佳路径}输出最佳路径及最佳结果end5 实验结果我们选用Oliv er30TSP 作为实验例子进行实验.我们之所以选用该例子,一方面是因为M.Do rig o 曾经选用该例子,从而便于比较.另一方面,TSP 问题是典型的N P -hard 问题,常常用来验证某一算法的有效性.我们在PC 机上用C 语言编程实现该算法.这里的实验结果是10次实验的平均结果(见图2、图3、图4).124310期吴庆洪等:具有变异特征的蚁群算法图2 最好解进化曲线图图3 最差解进化曲线图图4 所找到的最优路径表2 本文算法在不同参数下的实验结果T U d 最短路径的长度 达到收敛 所需要的进化代数220.542456 220.9424.850 120.5428.262 520.9423.749 520.5423.844为便于比较,我们给出由基本蚁群算法计算得到的结果(见图5、图6、表3).图5 基本算法的最好解进化曲线图图6 基本算法的最差解进化曲线图表3 基本蚁群算法在不同参数下的实验结果T U d 最短路径长度达到收敛 所需要的进化代数220.5424.8350 220.9427344 120.5423.7342 520.9430.5338 520.5445347表4 48个城市TSP实验结果算法T U d最短路径长度达到收敛 所需要的进化代数基本算法220.574.3390基本算法120.975.4357基本算法520.573.7347本文算法120.571.443本文算法520.972.747本文算法220.571.1401244计算机研究与发展1999年文献[7]需要经过342代才能找到较好解(423.74),而本文仅需要大约50代便可以找到同样的解.对于48个城市的TSP 问题,用本文算法也得到了较好的结果(见表4).通过对以上的实验结果比较可以看出,由于变异算子的引入,经过较少的进化代数就可以找到相同的较好解,大大节省计算时间,对于求解大规模优化问题是十分有利的.6 结 论本文提出的具有变异特征的蚁群算法,可以有效地克服基本蚁群算法中计算时间较长的缺陷,有利于实际运用.蚁群算法的研究刚刚开始,远未像GA ,SA 等算法那样形成系统的分析方法和坚实的数学基础,许多问题有待进一步研究.怎样从理论上对该算法进行更深刻地研究,以及如何更有效地用蚁群算法解决实际问题将是我们进一步研究的内容.参考文献1Gold berg D E.Genetic Algorithm in Search,Optimization and M achine Learning.New York :Addison W esley,19892Davis L.The Handbook of Genetic Algo rith ms.New York :Van Nostrand Reingold,19913Colorni A,Dorigo M ,M aniezzo V.Dis tributed optimization by ant colonies.In:Proc 1st European Conf Artificial Life.Pans ,France :Els evier ,1991.134~1424Colorni A ,Dorigo M ,M aniez zo V .An inves tigation of s ome properties of an ant algorithm .In :Proc PPSN '92,London ,1992.509~5205Colorni A,Dorigo M ,M aniezzo V,Trubian N.Ant sys tem for job-s hop s cheduling.Belgian J ournal of Operations Research and Statis tic Computing Science,1994,34(1):39~536Costa D ,Hertz A ,Dubuis O .Imbedding of a sequential alg orith m w ithin an evolu tionary algorithm fo r coloring problem in graph s .Jour-nal of Heuris tics ,1995,1:105~1287Dorigo M ,M aniez z o V,Colo rni A.An t sys tem :Optimization by a colony of cooperating agents.IEEE Trans on SM C,1996,26(1):28~418Bilch ev G,Parm ee I C.Searching h eavily cons trained d esig n s paces.In :Proc 22nd In t Conf CAD-95,Yelta,Ukraine,19959Dorigo M ,M aniez zo V,Colorni A.Ant s ys tem:An au tocatalytic optimizing process.Tech Rep :91-016,1991124510期吴庆洪等:具有变异特征的蚁群算法。