1、蚁群算法研究及其应用主要内容1:论文研究背景 2:本文改进算法 3:蚁群算法参数组合优化 4:TSP仿真系统介绍 5:本文结论 6:致谢研究背景蚁群算法原理蚂蚁算法是一种用来寻找最优解决方案的机率型技术,其灵 感来源于蚂蚁在寻找食物过程中发现最短路径的行为.自然蚂蚁寻找食物行为:蚂蚁在路径上前进时会根据前边走过的 蚂蚁所留下的分泌物(信息素)选择其要走的路径。其选择一条路径 的概率与该路径上分泌物的强度成正比。因此,由大量蚂蚁组成的 群体的集体行为实际上构成一种学习信息的正反馈现象:某一条路 径走过的蚂蚁越多,后面的蚂蚁选择该路径的可能性就越大。蚂蚁 的个体间通过这种信息的交流寻求通向食物的最短路径。这种优化过程的本质: 协调机制:蚂蚁间实际上是通过分泌物来互相通信、协同工作的。 选择机制:信息素越多的路径,被选择的概率越大。 更新机制:路径上面的信息素会随蚂蚁的经过而增长,而且同时也 随时间的推移逐渐挥发消失。研究背景蚁群算法数学模型(1)初始时刻( ),各条路径上的信息素相等.选择机制:在 t( ) 时刻,蚂蚁在运动过程中根据各条路 径上信息素和路径长度因素共同决定移动方向,蚂蚁由
2、位 置i移动到位置j 的转移概率的计算公式如下:本文以著名的旅行商问题(TSP)为例,建立蚁群算法数学模型,该问 题可以描述为:一个旅行商从n个城市的某一出发个访问其他所有城市一 次且仅一次后再回到出发城市,要求找出一条最短的路径;该问题可抽象 像为求完全图( n个节点)的最短路径问题。更新机制:在 t+n时刻,此时所有的蚂蚁完成了一次遍历,为了避免 残留信息素过多而淹没距离因素,在每只蚂蚁走完一步或者迭代一次后 ,要对路径上的信息素进行更新操作,各路径上信息素可根据以下公式 做调整:根据计算方式不同,有蚁周模型、蚁量模型和蚁密模型三种基本模型 ,本文的研究都是基于蚁周模型的,其模型为:研究背景蚁群算法数学模型(2)研究背景蚁群算法研究方向算法理论改进 参数分析应用推广数学证明1:算法易出现局部最优、停滞等不良现象2:在求解较大规模问题时,算法的运行时间过长3:算法的收敛速度慢4:算法参数的设置带有很强的经验性和随机性,没有严格的理论认证研究表明蚁群算法具有较强的鲁棒性、分布式计算、易于与其优化算法 结合等优点;但随着问题规模的扩大,算法的运行时间和最优解都不能认 人满意,性能明显下降
3、。大量研究表明蚁群算法也存在一些不足,主要有 :蚁群算法研究方向:算法改进研究背景针对蚁群算法存在的不足,国内外学者开展了大量 有意义的研究。研究成果主要涉及路径搜索策略、信息 素更新策略和最优解保留策略等方面;研究行为主要是 进行算法改进或验证。有些改进算法的性能相比基本蚁 群算法而言有了较大水平的提高,如最大最小蚁群算法 是目前求解TSP问题的最好方法之一;有些已成为主流 的蚁群算法,如:蚁群系统,基于排序的蚁群系统,最优 最差蚁群系统等。针对基本蚁群算法的不足,本文在借鉴其他算法优 点的基础上提出一种改进的蚁群算法。该算法从以下几 个方面对基本蚁群算法进行了改进:1:初始信息素的改进 2:路径选择策略的改进 3:信息素更新策略的改进本文算法改进研究过程(1)基本蚁群算法中,路径上的初始信息素大小是相同的,蚁群创建的第 一条路径所获得的信息主要是城市之间的距离信息,此时,蚁群算法相当 于贪婪算法。第一次循环中蚁群在所经过的路径上留下的信息素不一定能 反映出最优路径的方向。正反馈的作用会使得这条不是最优解的路径上的 信息素得到不应有的增强,阻碍以后的蚂蚁发现更好的全局最优解。为此 ,
4、本文改进算法在任意两个城市之间安排的信息素是等量的,但是这等量的 信息素要平均到两个之间的路径上,由于城市之间的距离是不相同的,所以平 均到每一小段上的信息素量就是距离的倒数与分配到这两城市之间的信息 素量之积。为提高初始阶段蚂蚁的搜索能力,改进算法将各路径上的初始 信息素的值按照最大最小蚁群算法思想限定其大小。所以其数学模型为:1:初始信息素本文算法改进研究过程(2)2:路径选择策略的改进相关文献表明,自然蚂蚁无视觉能力,无法感知距离的远近,在节点选择 时,仅能依靠信息素浓度。为更好的模拟自然蚂蚁,本文改进算法在选择 下一个城市时不再考虑距离因素,仅考虑信息素浓度。同时为有效的提高 优化速度,降低局部最优解停滞的可能性,本文采用伪随机性选择策略,并在 搜索过程中动态地调整确定性选择的概率。即蚂蚁 在 t时刻有城市 i 到城 市 j 的转移概率由下式确定:3:信息素更新策略策略的改进本文算法改进研究过程(3)两层信息素更新策略: 第1层:原有信息素的挥发 第2层:借鉴奖惩蚁群算法思想,在完成每次循环进行信息素挥发后,根据蚂蚁所建 立路径的长短,进行排序,只有前w只建立短路径的蚂蚁被挑选
5、出来进行奖励,其 他 (m-w )只建立路径的蚂蚁进行惩罚。最大最小蚁群算法思想:若某段路径弧段的信息素相对其他路径弧段的信息 素而言在数量上占据绝对的优势时,会引起算法过早地收敛。对这一不足,本文借 鉴MMAS思想,对各路径上的信息素量施加最小最大限制。采用两层信息素更新策略和最大最小蚁群算法思想开始初始化蚂蚁构建路径所有蚂蚁结束 ?路径排序信息素更新满足结束条件?结束NYNY本文算法改进算法流程本文算法改进性能验证算法平均最优解平均迭代次数平均运行时间(s)基本蚁群算法449.353512429最大最小蚁群算法437.96289829本文改进算法443.992710423文献48算法439.9628未知31文献49算法447.7771未知33TSP51问题各算法性能比较表算法平均最优解平均迭代次数平均运行时间基本蚁群算法564.649823839最大最小蚁群系统559.223819834本文改进算法561.341018926TSP76问题的实验结果参数组合优化研究背景蚁群算法的参数数目众多,参数对算法性能的影响较 大。文献表明:蚁群算法参数的合理组合能够在一定程度上 提高算法的全局
6、搜索能力和加快算法的收敛速度,但遗憾 的是,目前各参数该如何取值只是根据经验来选取合适的 参数值。针对蚁群算法参数空间大、参数选择难的问题,本文 对蚁群算法参数的组合优化问题进行了讨论。采用实例仿 真法确定各个参数的合理取值区间,采用粒子群算法首次 对蚁群算法的五个重要参数的组合优化问题进行了探讨, 提出了基于粒子群的蚁群算法参数最优组合优化方案。参数组合优化研究过程提出问题:本文将蚁群算法抽象为一个函数,其五个参数为函数的自变量,则 有函数 ,那么参数的连续区域优化问题可以定义为:确定蚁群算 法五个主要参数 的值,使得函数 取得最优值。由这个定义我们自然地可以将参 数的优化看成一个组合优化问题,而且是一个连续域的组合优化问题。 选定方法:粒子群算法,因粒子群优化算法具有很强的全局优化能力,能较快 地收敛于可接受解;而且粒子群优化算法参数少,算法简单易实现,效率较高。 解决问题:实例仿真法:综合考虑算法的全局搜索能力和收敛速度两项性能指标 ,确定各参数的合理区间.采用“三步走”策略确定蚁群算法参数的较优组合:(1)利用实例仿真法确定的各个参数的合理区间(2)利用粒子群优化算法,确定参数
7、的最佳组合(3)多次结果,求平均结束初始化生成粒子群循环迭代求全局最佳位置以及最优适应度函数值求每个粒子个体最佳位置移动粒子更新粒子速度向量满足循环条件?开始NYYN参数组合优化关键技术参数组合优化有效性验证参数类型组 次参数取值最优路径长 度参数最 佳组合11.604.89340.7547544.721.495.10330.7857554.031.055.08300.8057576.141.014.75340.7467614.87参数随 机组合51.351.25200.5018027.062.504.90340.187794.673.505.79400.898059.281.005.00280.5047670.495.305.04460.8028205.24应用推广研究背景蚁群算法提出十几年来,取得了丰硕的应用性成果,主要 有:物流配送问题、VRP问题、函数优化问题、车间作业调 度问题、网络路由问题、电力系统机器人领域、控制参数组 合优化问题、聚类分析、数据挖掘、数字图象处理、生命科 学化学工业等等。大量有价值的研究成果将陆续发表,不断 地拓宽了其应用领域。 本文主要从算法实现方面进
8、行应用推 广。本文采用软件工程思想,利用软件开发技术,设计并实现 了蚁群算法参数训练系统及蚁群算法TSP问题仿真系统;通 过参数训练仿真系统,用户可以训练得到蚁群算法参数的理 想组合;通过蚁群算法仿真系统,用户可以记录并查看算法 求解TSP问题过程的中间数据,最优解及最优路径,查看收 敛图,路径收敛趋势图及算法间性能比较图。 应用推广研究方案采用方法:软件工程方法,UML方法模块划分:关键技术UML关键类图CAnt成员属性int *ptabu int m_dLength int m_iCityCount int *pAllowedCity成员员属性double *m_distance double *m_dTrial double *m_dDeltTrailCMapInfo成员员方法 CMapInfo(int m_iCityCount) CMapInfo()CAntProject成员属性CAnt *ants double m_dLength成员方法CAntProject( ) CAntProject( ) int initMap( ) int UpdateTrail( ) int Ge
9、tAnt( ) int StartSearch( )CAgent成员属性double dposiAgentDim double dbestiAgentDim double dviAgentDim double m_dFitness double m_dBestFitness成员方法CAgent( ) CAgent( ) int UpdateFitness( ) int UpdatePos( )成员方法Cant( ) Cant( ) int addcity(int city) int ChooseNextCity( ) int MoveTo(int city) int MoveToLast( ) int UpdateResult( ) int Clear( )应用推广研究结果主界面收敛趋势图最佳路径图收敛趋势比较图研究结论在算法研究方面:本文改进的蚁群算法,理论上更加接近自然 蚂蚁行为;仿真结果表明改进算法降低了算法的运行时间,提 高算法的收敛速度,该算法能在求解速度和解的质量上取得一 个较好的平衡,该算法是一种有效的算法。 在算法参数组合优化方面:本文采用实例仿真法,全面分析蚁 群算法五个重要参数对算法性能的影响,求得各参数的合理区 间;结合粒子群算法,首次全面探讨蚁群算法的五个重要参数 的组合优化问题,提出蚁群算法参数组优化方案,该方案突了 传统取值的局限性。 在算法应用推广方面:本文运用软件开发技术,设计并实现蚁 群算法仿真系统,包括蚁群算法参数训练模块和蚁群算法TSP 问题仿真模块。通过仿真系统用户可以很直观的了解各算法求 解TSP问题时的收敛趋势图、路径图、运行时间及最优路径等 等。未来研究1:对所提出的改进算法的收敛性进行研究 2:对所提出的蚁群算法参数组合优化方案的可行性进行 理论论证 3:对仿真系统进行压力测试,进一步排除bug 4:封装算法代码为库文件,方便第三方调用,推广蚁群 蚁群算法应用致谢感谢王更生教授的指导! 感谢各位老师的莅临! 感谢父母的支持! 感谢各位同学的支持!敬请各位老师指导!
《硕士毕业论文答辩》由会员ji****72分享,可在线阅读,更多相关《硕士毕业论文答辩》请在金锄头文库上搜索。