欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

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

    • 资源ID:4266112       资源大小:483.50KB        全文页数:34页
    • 资源格式: DOC        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    摘 要自意大利学者M. Dorigo于1991年提出蚁群算法后,该算法引起了学者们的极大关注,在短短十多年的时间里,已在组合优化、网络路由、函数优化、数据挖掘、机器人路径规划等领域获得了广泛应用,并取得了较好的效果。本文首先讨论了该算法的基本原理,接着介绍了旅行商问题,然后对蚁群算法及其二种改进算法进行了分析,并通过计算机仿真来说明蚁群算法基本原理,然后分析了聚类算法原理和蚁群聚类算法的数学模型,通过调整传统的蚁群算法构建了求解聚类问题的蚁群聚类算法。最后,本文还研究了一种依赖信息素解决聚类问题的蚁群聚类算法,并把此蚁群聚类算法应用到对人工数据进行分类,还利用该算法对2005年中国24所高校综合实力进行分类,得到的分类结果与实际情况相符,说明了蚁群算法在聚类分析中能够收到较为理想的结果。【关键词】蚁群算法;计算机仿真;聚类;蚁群聚类Study on Ant Colony Algorithm and its Application in ClusteringAbstract: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 引 言11.1 群智能11.2 蚁群算法21.3 聚类问题31.4 本文研究工作42 蚁群算法原理及算法描述52.1 蚁群算法原理52.2 蚁群优化的原理分析72.3 算法基本流程92.4 蚁群觅食过程计算机动态模拟102.5 人工蚂蚁与真实蚂蚁的对比122.6 本章小结133 基本蚁群优化算法及其改进143.1 旅行商问题143.2 基本蚁群算法及其典型改进143.2.1 蚂蚁系统143.2.2 蚁群系统153.2.3 最大-最小蚂蚁系统153.3 基本蚁群算法仿真实验153.3.1 软硬件环境153.3.2 重要参数设置153.3.3 仿真试验163.4 本章小结184 蚁群聚类算法及其应用194.1 聚类问题194.2 蚁群聚类算法的数学模型204.3 蚁群聚类算法204.3.1 蚁群聚类算法分析214.3.2 蚁群聚类算法流程244.4 蚁群聚类算法在高校分类中的应用244.5 本章小结265 结论与展望27参考文献28致 谢30附 录311 引 言下面将介绍群智能以及蚁群算法和聚类问题。1.1 群智能成群的鸟、鱼、浮游生物、蚂蚁、蜜蜂等都是以集群形式进行筑巢、觅食、迁徙和逃避捕食者等复杂行为,而这些行为是单个个体不可能有足够的能力来指挥完成的。数以千计的个体如何组成一个群落,又如何相互协调、分工、合作来完成复杂任务的呢?通过生物学家对微生物、群居昆虫、群居动物的调查得出结论,各种社会型生物的各种集体行为似乎都可以找到几个共同的属性1:(1)控制充分的分布在许多个体之中;(2)个体之间的交流为局部交流;(3)群体的行为要明显优于个体的行为;(4)群体对外界的变化的反应具有鲁棒性和适应性。受社会性昆虫行为的启发,计算机工作者通过对它们的模拟产生了一系列对于传统问题的新的解决方法,这些研究就是群集智能的研究。群集智能(Swarm Intelligence)中的群体(Swarm)指的是“一组相互之间可以进行直接通信或者间接通信(通过改变局部环境)的主体,这组主体能够合作进行分布问题求解”。而所谓群集智能指的是“无智能的主体通过合作表现出智能行为的特性”。群集智能在没有集中控制并且不提供全局模型的前提下,为寻找复杂的分布式问题的解决方案提供了基础。概括地说,使得社会型生物的个体相互协作而实现神奇的群体行为的答案是个体进行相互合作时体现的自组织行为2。自组织是一些动态环境条件的连续变化。Krieger 等用这种蚂蚁的阈值模型为一群在活动场地聚集目标物体的机器人定义了一个劳力分配的分布式系统3,4。在他们的实验中,由基于阈值行为活动控制的机器人能够完成聚集任务,同时这个系统作为一个整体显示了固有的容错性和功能衰减。一个或多个人行为的自适应,导致整体功能仅仅略微的降低。最重要的是,在系统设计时在机器人之间并没有外在的交流机制,同时在机器人的控制程序里没有明确包含在错误的环境里的应对措施。尽管这个实验是在大学的实验室条件下完成的,但它足以显示这种方法对于在开放的环境下控制工业机器人的变换是有很大的潜力的。由此可见,群智能有着以下几个方面的特点1,3:(1)由于系统中单个个体的能力比较简单,这样每个个体的执行时间比较短,实现起来比较方便,具有简单性;(2)单个个体具有改变环境的能力和系统自调节性;(3)无中心控制和数据源。这样的系统更具有鲁棒性,不会由于某一个或者某几个个体的故障而影响整个问题的求解;(4)群体中相互合作的个体是分布的。这个特点与计算机网络的工作环境非常相似;(5)各个体通过对环境的感知进行合作,个体的增加或减少都不会加大系统通信的开销。这样,系统具有更好的可扩展性,同时也具有更好的安全性。根据其特点,群智能能够被用于解决大多数优化问题或者能够转化用领域已扩展到各种工程优化问题,如电信路由选择、TSP 问题、车间调度问题、二次分配问题等等,并取得了意想不到的收获。虽说群智能的研究还处于初级阶段,并且存在着许多困难,但是可以预言群智能的研究代表了以后计算机研究发展的一个重要方向。本文所讨论的蚁群算法就是一种群智能算法2。1.2 蚁群算法蚁群觅食过程是一种典型的群智能行为过程5,蚁群寻找食物时会派出一些蚂蚁分头在四周游荡,如果一只蚂蚁找到食物,它就返回巢中通知同伴并沿途留下“信息素”(pheromone)作为蚁群前往食物所在地的标记。信息素会逐渐挥发,如果两只蚂蚁同时找到同一食物,又采取不同路线回到巢中,那么比较绕远的一条路上信息素的气味会比较淡,蚁群将倾向于沿另一条更近的路线前往食物所在地。受到蚂蚁觅食时的通信机制的启发,90年代Dorigo提出了蚁群算法(ant colony algorithm,ACA)来解决计算机算法学中经典的“旅行商问题”-如果有n个城市,需要对所有n个城市进行访问且只访问一次的最短距离。在解决旅行商问题时,蚁群算法设计虚拟的“蚂蚁”将摸索不同路线,并留下会随时间逐渐消失的虚拟“信息素”。虚拟“信息素”也会挥发,每只蚂蚁每次随机选择要走的路径,他们倾向于选择路径比较短的、信息素比较浓的路径。根据“信息素较浓的路线更近”的原则,即可以选择出最佳路线。由于这个算法利用了正反馈机制,使得较短的路线能够有较大的机会得到选择并且采用了概率算法,所以它能够不局限于局部最优解。蚁群算法对于解决旅行商问题并不是目前最好的方法,但首先它提出了一种解决旅行商问题的新思路;其次由于这种算法特有的解决方法,它已经成功的被应用于解决组合优化问题。作为通用型随机优化算法,蚁群算法自问世以来表现了强大的生命力,较之以往的启发式算法不论在搜索效率上,还是在算法的时间复杂度方面都取得了令人满意的效果,现在已经陆续应用到组合优化、人工智能、通讯数据挖掘、机器人路径规划等多个领域。另外蚁群算法的正反馈性和协同性使其可用于分布式系统,隐含的并行性更使之具有较强的发展潜力。从数值模拟结果看,它比目前广泛研究的一些优化算法有更好的适应性6。以蚁群算法为代表的群体智能已成为当今分布式人工智能研究的一个热点,许多源于蜂群和蚁群模型设计的算法已越来越多地被用于企业的运转模式的研究。美国五角大楼正在资助关于群体智能系统的研究工作-群体战略(SWARM STRATEGY),它的一个实战用途是通过运用成群的空中无人驾驶飞行器和地面车辆来转移敌人的注意力,让自己的军队在敌人后方不被察觉地安全行进。英国电信公司和美国世界通信公司以电子蚂蚁为基础,对新的电信网络管理方法进行了试验。群体智能还被应用于工厂生产计划的制定和运输部门的后勤管理。美国太平洋西南航空公司采用了一种直接源于蚂蚁行为研究成果的运输管理软件,结果每年至少节约了1000万美元费用开支。英国联合利华公司已率先利用群体智能技术改善其一家牙膏厂的运转状况。美国通用汽车公司,法国液气公司,荷兰公路交通部和美国一些移民事务机构也都采用这种技术来改善其运转的机能。又如美国MCI W公司一直研究人工蚂蚁,并用于管理公司的电话网,对用户记帐收费等工作。另外,还设计“人工蚂蚁”打算用于因特网的路由管理。鉴于群体智能广阔的应用前景,美国和欧洲联盟均于近几年开始出资资助基于群体智能模拟的相关研究项目,关在一些院校开设群体智能的相关课程。牛津大学出版社1999年版的E.Bonabeau和M.Dorigo等人编写的专著群体智能:从自然到人工系统(Swarm Intelligence: From Natural to Artificial System),以及2001年出版的J.Kennedy和R.Eberhart编著的群体智能(Swarm Intelligence)进一步扩大了群体智能的影响.IEEE进化计算会刊也于2002年8月出版了蚁群优化算特刊。国内也有研究者用蚂蚁算法求解全国144个城市的最短回路问题,求得的解同其它方法求到得解一样精确,这说明蚂蚁算法不但是求解组合优化问题的可行方法,而且是一种很有竞争力的算法。国家自然科学基金"十五"期间学科交叉类优先资助领域中的认知科学及其信息处理的研究内容中也明确列出了群体智能领域的进化,自适应与现场认知主题7。而且从1999年开始,几乎每年都会有几项相关项目获得资助。蚁群算法是一种新型的模拟进化算法,其在数据挖掘中的应用正逐步引起人们的关注。目前,人工蚁群在知识发现的过程中主要用于发掘聚类模型和分类模型。1.3 聚类问题聚类是将一组对象分成若干个群体,每个群体构成一个簇,使得簇内的对象尽可能具有最大的相似性,不同簇之间的对象尽可能有最大的相异性。目前,聚类方法主要有K均值法,模糊聚类、神经网络聚类、基于遗传算法的聚类、小波变换聚类以及将这些算法有效结合而形成的改进方法。随着蚁群算法研究的兴起,人们发现在某些方面采用蚁群模型进行聚类更加接近实际的聚类问题。将蚁群算法用于聚类分析,灵感源于蚂蚁堆积他们的尸体和分类他们的幼体。基于蚁群算法的聚类方法从原理上可分为两种:一种是基于蚁堆形成原理来实现数据聚类8,9,另一种是运用蚂蚁觅食的原理,利用信息来实现聚类分析10。从实际应用的观点来看,聚类分析在科学数据探测、图像处理、模式识别、医疗诊断、计算生物学、文档检索、Web 分析等领域起着非常重要的作用,它已经成为当前数据挖掘研究领域中一个非常活跃的研究课题。1.4 本文研究工作本文在第二章中,将介绍蚁群算法基本原理和人工蚂蚁与真实蚂蚁的对比。第三章为基本蚁群算法及其参数设置,几种典型的蚁群优化算法以及使用vc+实现基本蚁群算法。第四章研究一种依赖信息素解决聚类问题的蚁群聚类算法,并且把它应用在人造样本检验其寻找最优分类结果的性能,最后以2005中国24所高校综合实力能力分类进行案例分析,同时验证此蚁群聚类算法的正确性。2 蚁群算法原理及算法描述下面将介绍蚁群算法原理以及蚁群觅食过程计算机动态模拟。2.1 蚁群算法原理 自然界中蚁群的自组织行为很早就引起了昆虫学家的注意11-13。Deneubourg14等通过“双桥实验”对蚁群的觅食行为进行了研究。如图 2-1(a)所示,对称双桥(两桥的长度相同)A、B 将蚁巢与食物源分隔开,蚂蚁从蚁巢自由地向食物源移动。图 2-1(b)是经过 A、B 两桥的蚂蚁百分比随时间的变化情况。实验结果显示,在初始阶段出现一段时间的震荡(由于某些随机因素,使通过某座桥上的蚂蚁数急剧增多或减少)后,蚂蚁趋向于走同一条路经。在该实验中,绝大部分蚂蚁选择了 A 桥。在实验初期,A、B 两座桥上都没有外激素存在,蚂蚁将以相同的概率选择 A、B 两座桥,故此时蚂蚁在两座桥上留下的外激素量相等。经过一段时间后,由于随机波动致使大部分蚂蚁选择了 A 桥(也有可能为 B 桥),因此更多的外激素将会留在 A 桥上,致使 A 桥对后来的蚂蚁有更大的吸引力。如图 2-1(b)所示,随着时间的推移,A 桥上的蚂蚁数将越来越多,而 B 桥上正好相反。图 2-1 对称双桥实验S. Goss 15 等人给出了上述实验的概率模型。首先,假定桥上残留的外激素量与过去一段时间经过该桥的蚂蚁数成正比(这意味着不考虑外激素蒸发的情况);其次,某一时刻蚂蚁按桥上外激素量的多少来选择某座桥,即蚂蚁选择某座桥的概率与经过该桥的蚂蚁数成正比。当所有 m 只蚂蚁都经过两座桥以后,设 Am、Bm分别为经过 A 桥和 B 桥的蚂蚁数(Am + Bm = m),则第 m+1 只蚂蚁选择 A 桥的概率为: (2.1)而选择 B 桥的概率为: PB (m) = 1- PA(m) (2.2)其中参数 h 和 k 用来匹配真实实验数据。第(m+1)只蚂蚁首先按(2.1)式计算选择概率PA(m),然后生成一个在区间0,1上一致分布的随机数 ,如果 PA(m),则选择 A 桥,否则选择 B 桥。为了求得参数 k 和 h,通过蒙特卡罗模拟证实17,当k 20 ,h 2 时,公式(2.1)与实验数据相一致16。另外,Goss15等人还用非对称双桥(两座桥的长度不相等)进行了实验。如图 2-2 所示,图 2-2(a)为蚂蚁经过非对称双桥开始觅食;图 1.2(b)显示绝大多数蚂蚁选择较短的桥;图 2-2(c)显示最终有 80%100%的蚂蚁选择较短的桥。在非对称双桥实验中,随机抖动对胜出桥(有较多蚂蚁选择的桥)的影响减小,而占主导作用的是随机外激素的引导行为。在非对称双桥实验中,随机抖动对胜出桥(有较多蚂蚁选择的桥)的影响减小,而占主导作用的是随机外激素的引导行为。图 2-2 非对称双桥实验处能够找到蚁巢和食物源之间的最短路径外,蚁群还有极强的适应环境的能力,如图 2-3 所示,在蚁群经过的路线上突然出现障碍物时,蚁群能够很快重新找到新的最优路径。图 2-3蚁群的自适应行为(a) 蚁群在蚁巢和食物源之间的路径上移动;(b) 路径上出现障碍物,蚁群以同样的概率向左、右方向行进;(c) 较短路径上的外激素以更快的速度增加;(d) 所有的蚂蚁都选择较短的路径。2.2 蚁群优化的原理分析ACO 是受自然界中真实蚁群的集体觅食行为的启发而发展起来的一种基于群体的模拟进化算法,属于随机搜索算法。M. Dorigo 等人充分利用了蚁群搜索食物的过程与著名 TSP 问题之间的相似性,通过人工模拟蚁群搜索食物的行为来求解TSP 问题。从上节的“双桥实验”可以看出,像蚂蚁这类社会性动物,虽然个体的行为极其简单,但由这些简单个体所组成的蚁群却表现出极其复杂的行为特征。如蚁群除了能够找到蚁巢与食物源之间的最短路径外,还能适应环境的变化,即在蚁群运动的路线上突然出现障碍物时,蚂蚁能够很快地重新找到最短路径。蚁群是如何完成这些复杂任务的呢?仿生学家经过大量地观察、研究发现,蚂蚁在寻找食物时,能在其经过的路径上释放一种蚂蚁特有的分泌物外激素(eromone),使得一定范围内的其它蚂蚁能够感觉到这种物质,且倾向于朝着该物质强度高的方向移动。因此,蚁群的集体行为表现为一种信息正反馈现象:某条路径上经过的蚂蚁数越多,其上留下的外激素的迹也就越多(当然,随时间的推移会逐渐蒸发掉一部分),后来蚂蚁选择该路径的概率也越高,从而更增加了该路径上外激素的强度。蚁群这种选择路径的过程被称之为自催化(Autocatalytic behavior),由于其原理是一种正反馈机制,因此也可将蚁群的行为理解成所谓的增强型学习系统(Reinforcement Learning System)16-18。下面用图 2-4和2-5 解释蚁群发现最短路径的原理和机制。图2-4蚂蚁从A点出发,速度相同,食物在D点,可能随机选择路线ABD或ACD。假设初始时每条分配路线一只蚂蚁,每个时间单位行走一步,本图为经过9个时间单位时的情形:走ABD的蚂蚁到达终点,而走ACD的蚂蚁刚好走到C点,为一半路程。图 2-4 蚁群觅食原理图图2-5为从开始算起,经过18个时间单位时的情形:走ABD的蚂蚁到达终点后得到食物又返回了起点A,而走ACD的蚂蚁刚好走到D点。图 2-5 蚁群觅食原理图假设蚂蚁每经过一处所留下的信息素为一个单位,则经过36个时间单位后,所有开始一起出发的蚂蚁都经过不同路径从D点取得了食物,此时ABD的路线往返了2趟,每一处的信息素为4个单位,而 ACD的路线往返了一趟,每一处的信息素为2个单位,其比值为2:1。寻找食物的过程继续进行,则按信息素的指导,蚁群在ABD路线上增派一只蚂蚁(共2只),而ACD路线上仍然为一只蚂蚁。再经过36个时间单位后,两条线路上的信息素单位积累为12和4,比值为3:1。若按以上规则继续,蚁群在ABD路线上再增派一只蚂蚁(共3只),而ACD路线上仍然为一只蚂蚁。再经过36个时间单位后,两条线路上的信息素单位积累为24和6,比值为4:1。若继续进行,则按信息素的指导,最终所有的蚂蚁会放弃ACD路线,而都选择ABD路线。蚁群算法就是模拟了蚂蚁觅食的这一过程,该算法的思想是用蚂蚁的行走路线表示待求问题的可行解。每只蚂蚁在解空间独立地搜索可行解。搜索到的解的质量越高,在“行走路线”(可行解)留下的信息素也就越多。随着算法的推进,代表较好解的路线上的信息素逐渐增多,选择它的蚂蚁也逐渐增多,最终整个蚁群在正反馈机制的作用下集中到代表最优解的路线上,也就找到了最优解。2.3 算法基本流程算法基本流程如图 2-6。图 2-6蚁群算法流程图当然,迄今为止蚁群算法已经有了很多的变型或改进算法,但基于蚁群算法(ACA)寻找问题近似解的思想及实现优化过程的机制还是没有改变。由上图可见,蚁群算法区别于其他传统优化算法,因为它具有以下3个特点:(1) 模拟了一种大自然真实存在的现象,并建立模型;(2) 不可确定性;(3) 总是表现出一种并行性,不是在系统中强行加入,而是算法本身隐含具有的。2.4 蚁群觅食过程计算机动态模拟在上面小节中我们讲到了真实蚁群的集体觅食行为,在生活中我们可以见到,但是不会注意它们寻找食物的全过程,现在本文通过计算机动态模拟来模拟真实蚁群的集体觅食行为。使得大家对真实蚁群的集体觅食行为更加熟悉和了解,对真实蚁群的集体觅食行为的过程如图2-7、2-8、2-9、2-10所示:程序开始运行,蚂蚁们开始从窝里出动了,寻找食物;他们会顺着屏幕爬满整个画面,直到找到食物再返回窝。其中,F点表示食物,H表示窝,白色块表示障碍物,+ 表示蚂蚁,O表示找到食物的蚂蚁,粉红色的+是代表第一只蚂蚁。图2-7蚂蚁开始从蚁巢出来觅食蚂蚁从蚁巢出发沿随机路线去寻找食物,并且在所走的路上留下信息素作为蚂蚁之间交流的介质。图中粉红色的那只蚂蚁是特殊标记,便于研究。图2-8 蚂蚁沿各条路径随机觅食已经有蚂蚁找到了食物并在图中用圆圈表示,最先找到食物的蚂蚁走的路线就是目前的最优路径,而且此时这条路径上的信息量浓度比别的路径大,所以有更多的蚂蚁正在沿着这条路走。图2-9 已有蚂蚁找到最短路径找到食物的蚂蚁在随机继续寻找着路径,以便发现更优的路径,而没有找到食物的蚂蚁此时大多数都是沿着上图中的最优路径继续寻找,而且也逐渐靠近食物,而此时的最有路径的信息量浓度也越来越大,所以走这条路径的蚂蚁也越来越多。图2-10 所有蚂蚁找到最优路径此图中所有蚂蚁都已找到最优路径,并沿着最优路径返回到蚁巢。由以上4图我们可以清楚的知道蚁群的集体觅食行为的全过程并且得到了预期的结果蚂蚁找到了最优路径。2.5 人工蚂蚁与真实蚂蚁的对比蚁群算法是受到人们对自然界中真实的蚂蚁社会行为的研究成果启发而提出的一种基于种群的模拟进化算法,属于随机搜索算法。Dorigo 等人提出该算法时,正是充分利用了蚁群搜索食物的过程与旅行商问题(TSP)的相似性,通过人工模拟蚂蚁觅食的过程来求解 TSP 问题。下面简单介绍蚁群算法中的人工蚂蚁与真实蚂蚁的异同点。蚁群算法中进行搜索的人工蚂蚁(Agent)的很多观点都来源于真实蚁群,因此它们都包括下列几项19。(1) 存在一个群体中个体相互交流通信的机制,这里通常表现为信息素痕迹;真实蚂蚁和人工蚂蚁都存在一种机制改变它当前所处的环境:真实蚂蚁经过的路径上留下化学刺激物信息素(pheromone),人工蚂蚁在它们经过的路径上改变了路径上存储的数字信息,这个信息记录了蚂蚁当前解和历史解的性能状态,而且能够被经过的其他人工蚂蚁读写。类似的,本文称这种数字信息为人工信息素。在蚁群优化算法中蚂蚁就是通过当前路径 L 的信息素进行交流协作的。这种交流方式在收集可利用的知识上占据着重要的位置,其重要的作用在于它改变了当前蚂蚁所经过的路径周围的环境同时也像一个函数似的改变了整个蚁群所存储的历史信息。通常,在蚂蚁优化算法中有一个挥发机制,它像真实的信息素挥发一样随着时间的推移改变路径上的人工信息素。挥发现象使得蚁群可以逐渐的忘却历史遗留信息、这样就可以使路径的选则不局限于过去蚂蚁的路径选择经验。(2)群体中每个个体都记录当前遍历序列;人工蚂蚁和真实蚂蚁都要完成个相同的任务:寻找一个从源节点(巢穴到目的节点(食物源)的最短路径,它们都不具有跳跃性,都只能在相邻节点之间一步一步移动直至选择完所有城市得到一个遍历序列。为了能在多次寻优过程中找到最短路径,记录当前移动序列是必须的。(3)利用当前信息进行路径的随机选择策略;蚁群算法中人工蚂蚁从一个节点移动到下一个节点的求解方法是利用概率选择策略实现的,概率选择策略只利用当前的信息去预测未来的情况,而不能利用未来的信息,因此,该选择策略利用的都是当前信息。在从真实妈蚁的行为中获得启发构造蚁群算法的过程中,人工蚂蚁还具备了真实蚂蚁不具有的一些特性20:(1) 人工蚂蚁存在于一个离散的空间中,它们的移动是一个状态到另一个状态的转换;(2) 人工蚂蚁具有一个记忆了它本身过去行为的内在状态;(3) 人工蚂蚁更新信息素的时机是随不同问题而变化的,不反映真实蚁群的行为。如:有的问题中人工蚂蚁在产生一个解后改变信息量,有的问题中蚂蚁每做出一步选择就更改信息量。但无论哪种方法,信息素的更新并不是随时可以进行的。(4) 为了改善系统的性能,人工蚁群算法中可以增加一些性能,如:预测未来、局部优化、回退等,这些行为在真实蚂蚁中是不存在的。在很多应用中人工蚂蚁可以在局部优化过程中相互交换信息,还有一些蚁群算法实现了简单预测。2.6 本章小结本章阐述了 ACO 产生的背景、原理、模型及其研究现状。首先通过著名的“双桥实验”分析了蚁群的自组织行为及对该行为的数学建模。在此基础上,阐述了ACO 的原理并给出了蚁群算法的流程,而且还用计算机动态模拟了蚁群觅食过程。最后,进行了人工蚂蚁与真实蚂蚁的对比和分析。3 基本蚁群优化算法及其改进下面介绍基本蚁群算法及其典型的改进算法和对基本蚁群算法进行了计算机仿真。3.1 旅行商问题一般地,旅行商问题(Traveling Salesman Problem, 简称 TSP)可描述如下:设C = c1,c2,cn为 n 个城市的集合,L = lij |ci,cj C 是 C 中元素两两连接的集合,G = (C,L)是一个图,TSP 问题的目的是从 G 中找出长度最短的Hamiltonian 圈,即找出对C = c1,c2,cn中 n 个城市访问且只访问一次的最短的一条封闭曲线。目前TSP 问题分为对称型和非对称型。在对称型 TSP 问题中,有dij = d ji, ci,cj C(1,2,L,n),dij 是lij 的长度,问题文件的后缀名为.tsp;而在非对称型 TSP 问题中,至少存在一对ci,cj C ,使dij dji ,问题文件的后缀名为.atsp,对于部分对称型 TSP 问题和非对称型 TSP 问题,TSPLIB中还收集了到目前为止已知的最优解,其文件名为相应TSP问题名+.opt. tour。3.2 基本蚁群算法及其典型改进本小节将介绍蚁基本蚁群算法及其2种典型的改进算法。3.2.1 蚂蚁系统 AS 算法具有如下优点:(1)较强的鲁棒性:对 AS 算法的模型稍加修改,便可以应用于其它问题;(2)分布式计算:AS 算法是一种基于种群的进化算法,本质上具有并行性,易于并行实现; (3)易于与其它方法结合:AS 算法很容易与多种启发式算法结合,以改善算法的性能。虽然 AS 算法有许多优点,但同时也存在一些缺陷,如:(1)限于局部最优解,从算法解的性质而言,蚁群算法也是在寻找一个比较好的局部最优解,而不是强求是全局最优解。(2)工作过程的中间停滞问题(stagnation behaviour),和算法开始时收敛速度快一样, 在算法工作过程当中, 迭代到一定次数后, 蚂蚁也可能在某个或某些局部最优解的邻域附近产生停滞。(3)较长的搜索时间,尽管和其他算法相比,蚁群算法在迭代次数和解的质量上都有一定的优势,但对于目前计算机网络的实际情况,还是需要较长的搜索时间。虽然计算机计算速度的提高和蚁群算法的并行性在一定程度上可以缓解这一问题, 但是对于大规模复杂的计算机网络,这还是一个很大的障碍。对于以上三个问题,已经引起了许多研究者的注意,并提出了若干改进的蚂蚁算法,如 M. Dorigo 提出的蚁群系统(ACS)22和T. Stützle23-26等人提出的最大-最小蚂蚁系统(MMAS)等。下面就代表性的改进算法本文将对3种改进算法进行讨论。3.2.2 蚁群系统蚁群系统(Ant Colony System,简称 ACS)22是 AS 最成功的后续算法之一,与 AS 算法的主要区别在于:(i)在选择下一座城市时,ACS 算法更多地利用了当前的较好解;(ii)只在全局最优解所属的边上增加信息素;(iii)每次当蚂蚁从城市 i 转移到城市 j 时,边 ij 上的信息素将会适当的减少。3.2.3 最大-最小蚂蚁系统 最大-最小蚂蚁系统(MAX-MIN Ant System, 简称 MMAS)23-26是Thomas Stützle(2000)23提出的。它的基本思想是在信息素更新过程中,只允许最好的解可以增加信息素实现对已有经验的利用;同时,利用一个限制信息素强度的简单机制,这样成功的避免了在搜索过程中蚂蚁过早的集中到同一条路径上去,而且通过加入局部搜索,MAX-MIN 蚂蚁系统是很容易进行扩展的,有利于算法的拓展。3.3 基本蚁群算法仿真实验在3.2.1小节中本文详细介绍了基本蚁群算法的原理等,在本小节中将通过计算机仿真来理解基本蚁群算法的原理,并将作出的路径图和最终结果自动保存到文本文档(.txt)与Excel(.xls)中。3.3.1 软硬件环境本实验采用的硬件/软件环境分别为:CPU 3.0GHz,内存 256M,硬盘容量 80G,操作系统是Microsoft windows XP Service Pack 2,开发平台是Microsoft Visual C+ 6.0、MATLAB 7.0。3.3.2 重要参数设置蚁群算法在TSP问题的应用中取得了良好的效果,但也存在一些不足:如果参数、m、Q等设置不当,导致求解速度很慢且所得解的质量特别差;基本蚁群算法计算量大,求解所需的时间较长;基本蚁群算法中理论上要求所有的蚂蚁选择同一路线,该线路即为所求的最优线路;但在实际计算中,在给定一定循环次数的条件下很难实现这种情况。另一方面,在其他的实际应用中,如图像处理中寻求最优模板问题,并不要求所有的蚂蚁都能找到最优模板,而只需要一只找到即可。如果要求所有的蚂蚁都找到最优模板,反而影响了计算效率。目前,对基本蚁群算法的参数设置和属性的研究大多还处于实验阶段,M. Dorigo 31, 32 等人通过大量的实验对蚂蚁系统的参数和基本属性进行了探讨。所以本实验中重要参数设置如下:信息素浓度影响力参数:所有算法设为1.0。启发式信息影响力参数:所有算法设为5.0。信息素蒸发系数(1-)表示信息素的持久性系数):所有算法设为0.5(1-即为0.5)。蚂蚁数目m:本文将m设为问题规模n的2/5即m=n*2/5在算法开始时蚂蚁随机分布在各个城市上。(n为其中TSP问题中后面的数字,如:ATT48.TSP中48即为n值)。TSP问题:本文使用ATT48.TSP的TSP问题。3.3.3 仿真试验用上两小节中设置的基本蚁群算法的条件进行计算机仿真,以此来说明基本蚁群算法的原理并更充分的了解基本蚁群算法。图3-1 参数输入在DOS环境下首先输入城市数目,蚂蚁数目,迭代次数,还有相关重要参数、Q,并且该程序具有容错能力。图3-2 结果输出图3-3 结果输出自动保存到.txt中把刚才在DOS环境下运行时输入的参数和最后的输出结果在运行时就自动保存在此文本文档中,以便参考分析和下次运行时直接调用。图3-4 结果输出自动保存到Excel中把刚才在DOS环境下运行时输入的参数和最后的输出结果在运行时就自动保存在此Excel中,以便参考分析和下次运行时直接调用。图3-5 matlab自动绘出蚂蚁最优路径图调用C+的运行结果在matlab中自动绘图,以便更形象化的对数据和结果进行分析。从图中可以看出有交叉这可以说明算法没有实现真正的最优(目前还没有算法可以真正实现最优),这也是研究人员现在在大力改造蚁群算法使得可以越来越接近最优解。3.4 本章小结本章首先对旅行商问题(Traveling Salesman Problem, 简称 TSP)进行了解释,然后对蚁群算法基本原理以及3种蚁群优化算法原理进行了分析,并对基本蚁群算法进行仿真来说明基本蚁群算法的原理,以便更好的了解基本蚁群算法并且制作了帮助文件。4 蚁群聚类算法及其应用下面介绍蚁群聚类算法及蚁群聚类算法在中国2005年24所高校的计算机仿真。4.1 聚类问题蚁群算法是一种新型的模拟进化算法,其在数据挖掘中的应用正逐步引起人们的关注。目前,人工蚁群在知识发现的过程中主要用于发掘聚类模型和分类模型。聚类分析是数据挖掘研究的一个重要方面,它是将物理或抽象对象的集合分组成为有类似的对象组成的多个类的过程,是一种无指导学习过程。它是将一组对象分成若干个群体,每个群体构成一个簇,使得簇内的对象尽可能具有最大的相似性,不同簇之间的对象尽可能有最大的相异性。聚类分析是知识发现的主要方法,有着广泛的应用。它可以在商务上为客户关系管理提供重要的分析手段,从客户基本库中发现不同兴趣的客户群,帮助市场分析人员决定相应的市场策略和操作方式;可以在生物学上,用于推导植物和动物的分类,对基因进行分类,获得对种群的固有结构的认识;还可以应用于Web日志挖掘,通过网页聚类和用户聚类,为网站设计人员提供有关用户兴趣的信息,合理调整网页结构和内容。目前,聚类方法主要有K均值法,模糊聚类、神经网络聚类、基于遗传算法的聚类、小波变换聚类等以及将这些算法有效结合而形成的改进方法。随着蚁

    注意事项

    本文(毕业设计-基本蚁群优化算法及其改进.doc)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开