蚁群算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二课堂与理论创新论文
<<蚁群算法及应用>>
姓名:孙松
学号:20074578
班级:一班
专业:网络工程
蚁群算法及应用
摘要:蚁群算法是近几年来迅速发展起来的、并得到广泛应用的一种新型模拟进化优化算法。研究表明该算法具有并行性,鲁棒性等优良性质。蚁群算法是一种新型模拟进化算法,广泛应用于求解组合优化问题.对蚁群算法的原理、模型的建立及此算法的发展前景进行了剖析对蚁群算法理论及其进展情况做了简要的综述,介绍了该算法在理论和实际问题中的应用,并对其前景进行了展望。
The ant group algorithm and Application
Abstract:The ant group algorithm is in the last few years the rapidly expand, and obtains the widespread application one kind of new simulation evolution optimization algorithm. The research indicated that this algorithm has parallelism, robust and so on fine nature. The ant group algorithm is one kind of new simulation evolution algorithm, widely applies in the solution combination optimization question. To the ant group algorithm's principle, the model establishment and this algorithm's prospects for development have carried on the analysis have made the brief summary to the ant group algorithm theory and the progress, introduced this algorithm in the theory and actual problem's application, and has carried on the forecast to its prospect. Keywords:Ant group algorithm; Parallelism; Combination optimization; Model building
一、引言:
随着科学技术和现代化生产的迅猛发展,优化问题在各行各业中的地位越来越重要,而实际优化问题也更加复杂,因此,迫切需要新的优化理论和方法。众多优化问题类型中的组合优化问题很早就引起了人们的兴趣,但是由于许多组合优化问题都是NP一难题,对于这类问题,至今尚无很好的解决办法。近年来,随着计算技术的发展,一些新的智能算法(如遗传算法、进化策略、模拟退火、禁忌搜索(tabusearch)算法等)得到了迅速发展和广泛应用。特别是模拟进化算法(GA,GP,ES),无论理论研究还是应用研究都空前活跃,它们为解决许多复杂优化问题提供了崭新的途径。同时一些新的模拟进化算法也逐渐发展起来,蚁群算法(antcolonyalgorithm,ACA)就是一种新型的模拟进化算法。本文对ACA及其应用研究进展加以综述,旨在进~一步推动这一领域的理论与应用研究。蚁群算法(ant colony optimization,ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型技术。它由Marco Dorigo于1992年在他的博士论文中引入,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。蚁群算法是一种模拟进化算法。初步的研究表明该算法具有许多优良的性质。针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值。蚁群算法是一种求解组合最优化问题的新型通用启发式方法,该方法具有正反馈、分布式计算和富于建设性的贪婪启发式搜索的特点。正因为蚁群算法有这些优点,很多研究者都在致力研究和改过它,本文的目的正是为了介绍蚁群算法,学习如何编写蚁群算法。
二、蚁群算法的介绍:
昆虫世界中,蚂蚁的组成是一种群居的世袭大家庭,我们称之为蚁群。蚂蚁分为世袭制的蚁王(后)和工蚁两种,它们具有高度组织的社会性,彼此沟通不
仅可以借助触觉和视觉的联系,在大规模的协调行动中还可以借助外激素(有些书称信息素)之类的信息介质。
首先我们要理解蚂蚁是如何觅食的,蚂蚁平时在巢穴附近作无规则行走,一量发现食物并不立即进食而是将之搬回蚁穴与其它蚂蚁分享,在食物小时则独自搬回蚁穴,否则就回蚁穴搬兵,一路上会留下外激素,食物越大外激素的浓度就越大,越能吸引其它的蚂蚁过去一起搬去食物,这样最终就能将食物全部搬回蚁穴。这个过程用程序实现看似非常复杂,要编写一个“智能”的蚂蚁也看似不太可能,事实上每个蚂蚁只做了非常简单的工作:检查某个范围内有无食物,并逐渐向外激素浓的方向运动。简而言之,蚁群运动无非是同时反复执行多个简单规则而已。下面详细说明蚁群中的这些简单规则:
1、范围:蚂蚁观察到的范围是一个方格世界,蚂蚁有一个参数为速度半径(一般是3),那么它能观察到的范围就是3*3个方格世界,并且能移动的距离也在这个范围之内。
2、环境:蚂蚁所在的环境是一个虚拟的世界,其中有障碍物,有别的蚂蚁,还有外激素,外激素有两种,一种是找到食物的蚂蚁洒下的食物外激素,一种是找到窝的蚂蚁洒下的窝的外激素。每个蚂蚁都仅仅能感知它范围内的环境信息。环境以一定的速率让外激素消失。
3、觅食规则:在每只蚂蚁能感知的范围内寻找是否有食物,如果有就直接过去。否则看是否有外激素,并且比较在能感知的范围内哪一点的外激素最多,这样,它就朝外激素多的地方走,并且每只蚂蚁多会以小概率犯错误,从而并不是往外激素最多的点移动。蚂蚁找窝的规则和上面一样,只不过它对窝的外激素做出反应,而对食物外激素没反应。
4、移动规则:每只蚂蚁都朝向外激素最多的方向移,并且,当周围没有外激素指引的时候,蚂蚁会按照自己原来运动的方向惯性的运动下去,并且,在运动的方向有一个随机的小的扰动。为了防止蚂蚁原地转圈,它会记住最近刚走过了哪些点,如果发现要走的下一点已经在最近走过了,它就会尽量避开。
5、避障规则:如果蚂蚁要移动的方向有障碍物挡住,它会随机的选择另一个方向,并且有外激素指引的话,它会按照觅食的规则行为。
7、播撒外激素规则:每只蚂蚁在刚找到食物或者窝的时候撒发的信息素最多,并随着它走远的距离,播撒的信息素越来越少。根据这几条规则,蚂
蚁之间并没有直接的关系,但是每只蚂蚁都和环境发生交互,而通过信息
素这个纽带,实际上把各个蚂蚁之间关联起来了。比如,当一只蚂蚁找到
了食物,它并没有直接告诉其它蚂蚁这儿有食物,而是向环境播撒信息素,当其它的蚂蚁经过它附近的时候,就会感觉到信息素的存在,进而根据信
息素的指引找到了食物。
说了这么多,蚂蚁究竟是怎么找到食物的呢?? 在没有蚂蚁找到食物的时候,环境没有有用的信息素,那么蚂蚁为什么会相对有效的找到食物呢?这要归功于蚂蚁的移动规则,尤其是在没有信息素时候的移动规则。
首先,它要能尽量保持某种惯性,这样使得蚂蚁尽量向前方移动(开始,
这个前方是随机固定的一个方向),而不是原地无谓的打转或者震动;其次,蚂蚁要有一定的随机性,虽然有了固定的方向,但它也不能像粒子一
样直线运动下去,而是有一个随机的干扰。这样就使得蚂蚁运动起来具有