蚁群算法简介及matlab实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
蚁群算法研究及MATLAB实现 摘 要 本文对蚁群算法原理进行概要介绍,对蚁群算法产生、发展、优化有所了解。阐述蚁群算法的几点重要基本规则,并对蚁群算法的优缺点进行讨论,讲蚁群算法与遗传算法进行比较。最后用MATLAB语言编写了一个基于蚁群算法的函数最大值的求解程序。 关键词 蚁群算法 MATLAB实现 函数最大值求解 一 蚁群算法的提出 蚁群算法(Ant Colony Optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。 二 蚁群算法的仿生学原理 蚁群算法最初是通过对蚂蚁群落的观察,受蚁群行为特 征启发而得出的。蚂蚁是一种群居昆虫,在觅食、清理巢穴 征启发而得出的。蚂蚁是一种群居昆虫,在觅食、 等活动中,彼此依赖、相互协作共同完成特定的任务。 等活动中,彼此依赖、相互协作共同完成特定的任务。就个 体来讲,单个蚂蚁的智力和体力是极其有限的, 体来讲,单个蚂蚁的智力和体力是极其有限的,服务于整个 群落的生存与发展;就群体来讲,蚁群在行为上的分工协作、 群落的生存与发展;就群体来讲,蚁群在行为上的分工协作、 在完成任务过程中所体现的自组织特征等反应出蚁群具有较 高的智能和自我管理能力,具有很高层次组织性, 高的智能和自我管理能力,具有很高层次组织性,这使得蚁 群能够完成一些复杂的任务。 群能够完成一些复杂的任务。 蚁群的行为是整体协作,相互分工,蚁群的行为是整体协作,相互分工,以一个整体去解决一 些对单个蚂蚁看上去是不可能完成的任务。 些对单个蚂蚁看上去是不可能完成的任务。就目前来讲,蚁群至少有三个方面的行为特征对算法研究有很好的启发意义,分别是觅食行为、任务分配、死蚁堆积阁。蚁群的觅食行为指蚂蚁从巢穴出发寻找食物并且将食物搬回巢穴的行为.当蚂蚁出外寻找食物时,会在自己走过的路 径上释放一种称为信息家的物质,径上释放一种称为信息家的物质,后续的蚂蚁一般更愿意走 那些信息素强度更高的路径。这样,那些信息素强度更高的路径。这样,较短路径上单位时间内通过的蚂蚁数目较多,留下的信息素也较多(浓度更高) 通过的蚂蚁数目较多,留下的信息素也较多(浓度更高),对蚂蚁产生了更强的吸引,使得更多的蚂蚁走较短的路径。 妈蚁产生了更强的吸引,使得更多的蚂蚁走较短的路径。这 就形成了一个正反馈机制, 就形成了一个正反馈机制,使得最终所有的蚂蚁都走蚁穴到 食物源的最短路径. 食物源的最短路径. 三 蚁群算法实现的重要规则 (1)范围 蚂蚁观察到的范围是一个方格世界,蚂蚁有一个参数为速度半径(一般是3),那么它能观察到的范围就是3*3个方格世界,并且能移动的距离也在这个范围之内。 (2)环境 蚂蚁所在的环境是一个虚拟的世界,其中有障碍物,有别的蚂蚁,还有信息素,信息素有两种,一种是找到食物的蚂蚁洒下的食物信息素,一种是找到窝的蚂蚁洒下的窝的信息素。每个蚂蚁都仅仅能感知它范围内的环境信息。环境以一定的速率让信息素消失。 (3)觅食规则 在每只蚂蚁能感知的范围内寻找是否有食物,如果有就直接过去。否则看是否有信息素,并且比较在能感知的范围内哪一点的信息素最多,这样,它就朝信息素多的地方走,并且每只蚂蚁都会以小概率犯错误,从而并不是往信息素最多的点移动。蚂蚁找窝的规则和上面一样,只不过它对窝的信息素做出反应,而对食物信息素没反应。 (4)移动规则 每只蚂蚁都朝向信息素最多的方向移,并且,当周围没有信息素指引的时候,蚂蚁会按照自己原来运动的方向惯性的运动下去,并且,在运动的方向有一个随机的小的扰动。为了防止蚂蚁原地转圈,它会记住最近刚走过了哪些点,如果发现要走的下一点已经在最近走过了,它就会尽量避开。 (5)避障规则: 如果蚂蚁要移动的方向有障碍物挡住,它会随机的选择另一个方向,并且有信息素指引的话,它会按照觅食的规则行为。 (6)播撒信息素规则: 每只蚂蚁在刚找到食物或者窝的时候撒发的信息素最多,并随着它走远的距离,播撒的信息素越来越少。  根据这几条规则,蚂蚁之间并没有直接的关系,但是每只蚂蚁都和环境发生交互,而通过信息素这个纽带,实际上把各个蚂蚁之间关联起来了。比如,当一只蚂蚁找到了食物,它并没有直接告诉其它蚂蚁这儿有食物,而是向环境播撒信息素,当其它的蚂蚁经过它附近的时候,就会感觉到信息素的存在,进而根据信息素的指引找到了食物。 四 蚁群算法的特点 蚁群算法是通过对生物特征的模拟得到的一种计算算法,其本身具有很多特点。 首先,蚁群算法是一种自组织的算法。所谓自组织,就是组织力或组织指令是来自于系统的内部,区别于它组织。如果系统在获得空间的、时间的或者功能结构的过程中,没有外界的特定干预,我们便说系

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档