蚁群算法课件_第1页
蚁群算法课件_第2页
蚁群算法课件_第3页
蚁群算法课件_第4页
蚁群算法课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、蚁群算法及其应用 算法的背景与意义 一国内外研究现状二 研究内容与方法三蚁群算法的应用四预期结果五背景2001年至今1996年-2001年意大利学者Dorigo1991年启发各种改进算法的提出,应用领域更广 引起学者关注,在应用领域得到拓宽ACO首次被系统的提出自然界中真实蚁群集体行为Macro Dorigo从自然界中蚁群的的觅食行为中受启发,M Dorigo于20世纪90年代处提出了蚁群系统。针对该算法的不足,一些学者提出了许多改进的蚁群优化算法,如蚁群系统,最大-最小蚂蚁系统,最优保留蚁群系统等。近年来,一些学者提出了蚁群优化元启发式这一求解复杂问题的统一框架,这一框架为蚁群优化算法的理论

2、研究和设计提供了技术上的保障。我国最早研究蚁群算法的是东北大学的张纪会博士和徐心和教授。背景有学者通过对比实验发现,在组合优化问题中,蚁群算法的优化性能要好于遗传算法等算法。蚁群算法是一种基于种群的启发式搜索算法 。蚁群算法广泛应用于求解TSP问题,Job-Shop调度问题,二次指派问题,背包问题等。蚁群算法 是一种很有发展前景的优化算法 意义对蚁群算法的研究虽然刚刚起步,但初步的研究结果已显示出该算法在求解复杂优化问题(特别是离散优化问题)方面的优越性。蚁群算法正在受到越来越多的人的研究和注意,应用范围已由当初单一的TSP领域渗透到了多个应用领域。 从当前可以检索到的文献情况看,研究和应用蚁

3、群优化算法的学者主要集中在比利时,意大利,英国,法国和德国等欧洲国家。日本和美国在这两年也开始启动对蚁群算法的研究。目前,蚁群优化算法在启发式方法范畴内已逐渐成为一个独立的分支。 尽管蚁群优化的严格理论基础尚未奠定,国内外的有关研究仍停留在实验探索阶段,但从当前的应用效果来看,这种新型的寻优思想无疑是具有十分光明的前景更多深入细致的工作还有待于进一步展开。国内外研究现状蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径

4、的行为。 什么是蚁群算法信息素:信息素多的地方显然经过这里的蚂蚁多,因而会有更多的蚂蚁聚集过来。正反馈现象:某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大。蚂蚁如何找到最短路径当蚂蚁沿着一条路到达终点以后会马上返回来,这样,短的路蚂蚁来回一次的时间就短,这也意味着重复的频率就快,因而在单位时间里走过的蚂蚁数目就多,洒下的信息素自然也会多,自然会有更多的蚂蚁被吸引过来,从而洒下更多的信息素;而长的路正相反,因此,越来越多地蚂蚁聚集到较短的路径上来,最短的路径就近似找到了。蚁群算法的基本思想蚂蚁系统是最早的蚁群优化算法。蚂蚁算法在解决一些小规模的TSP问题时的表现尚可令人满意。但随着问题

5、规模的扩大,蚂蚁系统很难在可接受的循环次数内找出最优解。蚁群系统做了三个方面的改进:状态转移规则为更好更合理地利用新路径和利用关于问题的先验知识提供了方法;全局更新规则只应用于最优的蚂蚁路径上;在建立问题解决方案的过程中,应用局部信息素更新规则。蚁群算法将蚂蚁的搜索行为集中到最优解的附近可以提高解的质量和收敛速度,从而改进算法的性能。但这种搜索方式会使早熟收敛行为更容易发生。 MMAS能将这种搜索方式和一种能够有效避免早熟收敛的机制结合在一起,从而使算法获得最优的性能1.基本蚁群算法2.蚁群系统3.最大-最小蚂蚁系统基本蚁群算法以及改进算法基本蚁群算法蚂蚁k(k=1,2,,m)根据各个城市间连

6、接路径上的信息素浓度决定其下一个访问城市,设Pijk(t)表示t时刻蚂蚁k从城市i转移到城市j的概率,其计算公式为: 信息更新公式为:基本蚁群算法针对蚂蚁释放信息是问题,M.Dorigo等人曾给出3中不同的模型,分别为蚁周系统、蚁量系统和蚁密系统,其计算公式如下:1.蚁周系统模型2.蚁量系统模型3.蚁密系统模型蚁群系统蚁群系统(Ant Colony System, ACS)是由Dorigo和Gambardella在1996年提出的蚁群系统做了三个方面的改进:状态转移规则为更好更合理地利用新路径和利用关于问题的先验知识提供了方法全局更新规则只应用于最优的蚂蚁路径上在建立问题解决方案的过程中,应用

7、局部信息素更新规则蚁群系统状态转移规则一只位于节点r的蚂蚁通过应用下式给出的规则选择下一个将要移动到的城市s其中,S根据下列公式得到蚁群系统状态转移规则q是在0,1区间均匀分布的随机数q0的大小决定了利用先验知识与探索新路径之间的相对重要性。上述状态转移规则被称为伪随机比例规则特点:倾向于选择短的且有着大量信息素的边作为移动方向蚁群系统全局更新规则只有全局最优的蚂蚁才被允许释放信息素目的:使蚂蚁的搜索主要集中在当前循环为止所找出的最好路径的领域内全局更新在所有蚂蚁都完成它们的路径之后执行,使用下式对所建立的路径进行更新蚁群系统全局更新规则 为信息素挥发参数,0 1 为到目前为止找出的全局最优路

8、径全局更新规则的另一个类型称为迭代最优区别:使用 代替 , 为当前迭代(循环)中的最优路径长度这两种类型对蚁群系统性能的影响差别很小,全局最优的性能要稍微好一些蚁群系统局部更新规则类似于蚁密和蚁量模型中的更新规则蚂蚁应用下列局部更新规则对它们所经过的边进行激素更新实验发现, 可以产生好的结果,其中n是城市的数量, 是由最近的邻域启发产生的一个路径长度局部更新规则可以有效地避免蚂蚁收敛到同一路径最大-最小蚂蚁系统蚁群算法将蚂蚁的搜索行为集中到最优解的附近可以提高解的质量和收敛速度,从而改进算法的性能。但这种搜索方式会使早熟收敛行为更容易发生最大-最小蚂蚁系统(Max-Min Ant System

9、, MMAS)能将这种搜索方式和一种能够有效避免早熟收敛的机制结合在一起,从而使算法获得最优的性能最大-最小蚂蚁系统MMAS和AS主要有三个方面不同:为了充分利用循环最优解和到目前为止找出的最优解,在每次循环之后,只有一只蚂蚁进行信息素更新。这只蚂蚁可能是找出当前循环中最优解的蚂蚁,也可能是找出从实验开始以来最优解的蚂蚁为避免搜索的停滞,在每个解的元素上的的信息素轨迹量的值域范围被限制在 区间内将信息素轨迹初始化为信息素轨迹更新在MMAS中,只有一只蚂蚁用于在每次循环后更新信息轨迹经修改的轨迹更新规则如下: 表示迭代最优解或全局最优解的值在蚁群算法中主要使用全局最优解,而在MMAS中则主要使用

10、迭代最优解信息素轨迹的限制不管是选择迭代最优还是全局最优蚂蚁来进行信息素更新,都可能导致搜索的停滞。停滞现象发生的原因:在每个选择点上一个选择的信息素轨迹量明显高于其他的选择。避免停滞状态发生的方法:影响用来选择下一解元素的概率,它直接依赖于信息素轨迹和启发信息。通过限制信息素轨迹的影响,可以很容易地避免各信息素轨迹之间的差异过大。信息素轨迹的限制MMAS对信息素轨迹的最小值和最大值分别施加了 和 的限制,从而使得对所有信息素轨迹 ,有MMAS收敛:在每个选择点上,其中一个解元素上的轨迹量为 ,而所有其他可选择的解元素上的轨迹量为 。若MMAS收敛,通过始终选择信息素量最大的解元素所构造的解将

11、与算法找出的最优解相一致信息素轨迹的限制 的选取 的选取要基于两点假设最优解在搜索停滞发生之前不久被找出对解构造的主要影响是由信息素轨迹的上限与下限之间的相对差异决定信息素轨迹的限制在一个选择点上选择相应解元素的概率Pdec直接取决于 和在每个选择点上蚂蚁需在avg=n/2个解元素中选择蚂蚁构造最优解,需作n次正确的决策信息素轨迹的初始化在第一次循环后所有信息素轨迹与 相一致通过选择对这种类型的轨迹初始化来增加在算法的第一次循环期间对新解的探索当将信息素轨迹初始化为 时,选择概率将增加得更加缓慢实验表明,将初始值设为 可以改善最大-最小蚂蚁系统的性能信息素轨迹的平滑化基本思想:通过增加选择有着

12、低强度信息素轨迹量解元素的概率以提高探索新解的能力平滑机制有助于对搜索空间进行更有效的探索TSP问题旅行商问题(TSP,traveling salesman problem)1960年首先提出。问题描述:一商人去n个城市销货,所有城市走一遍再回到起点,使所走路程最短。TSP在许多工程领域具有广泛的应用价值例如电路板布线、VLSI芯片设计、机器人控制、交通路由等。TSP的求解是NP-hard问题。随着城市数目的增多,问题空间将呈指数级增长。 蚁群系统在TSP问题中的应用10城市TSP问题20城市TSP问题蚁群系统在TSP问题中的应用30城市TSP问题48城市TSP问题TSP问题的数学描述TSP问

13、题表示为一个N个城市的有向图G=(N,A),其中城市之间距离目标函数为其中, ,为城市1,2,n的一个排列, 。下面以TSP为例说明基本蚁群算法模型。首先将m只蚂蚁随机放置在n个城市,位于城市i的第k只蚂蚁选择下一个城市j的概率为: 蚁群算法求解TSP问题其中:表示边(i,j)上的信息素浓度; 是启发信息,d是城市i和j之间的距离; 和反映了信息素与启发信息的相对重要性;表示蚂蚁k已经访问过的城市列表。当所有蚂蚁完成周游后,按以下公式进行信息素更新。蚁群算法求解TSP问题其中,为小于1的常数,表示信息的持久性。其中, Q为常数;Lk表示第k只蚂蚁在本次迭代中走过的路径,Lk为路径长度。 求解TSP算法步骤初始化随机放置蚂蚁,为每只蚂蚁建立禁忌表tabuk,将初始节点置入禁忌表中;迭代过程k=1while k=ItCount do (执行迭代)for i = 1 to m do (对m只蚂蚁循环) for j = 1 to n - 1 do (对n个城市循环) 根据式(1),采用轮盘赌方法在窗口外选择下一个城市j; 将j置入禁忌表,蚂蚁转移到j; end for end for 计算每只蚂蚁的路径长度; 根据式(2)更新所有蚂蚁路径上的信息量; k = k + 1;end while输出结果,结束算法.TSP问题java程序验证输入项:需要输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论