蚁群算法介绍幻灯片.ppt
《蚁群算法介绍幻灯片.ppt》由会员分享,可在线阅读,更多相关《蚁群算法介绍幻灯片.ppt(110页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、蚁群算法介绍第1页,共110页,编辑于2022年,星期二2内 容一、启发式方法概述二、蚁群优化算法第2页,共110页,编辑于2022年,星期二3背 景n传统实际问题的特点 连续性问题主要以微积分为基础,且问题规模较小n传统的优化方法 追求准确精确解 理论的完美结果漂亮 主要方法:线性与非线性规划、动态规划、多目标规划、整数规划等;排队论、库存论、对策论、决策论等。n传统的评价方法 算法收敛性(从极限角度考虑)收敛速度(线性、超线性、二次收敛等)第3页,共110页,编辑于2022年,星期二4传统运筹学面临新挑战n现代问题的特点 离散性问题主要以组合优化(针对离散问题,定义见后)理论为基础 不确定
2、性问题随机性数学模型 半结构或非结构化的问题计算机模拟、决 策支持系统 大规模问题并行计算、大型分解理论、近似理论n现代优化方法 追求满意近似解 实用性强解决实际问题n现代优化算法的评价方法 算法复杂性第4页,共110页,编辑于2022年,星期二5现代优化(启发式)方法种类n禁忌搜索(tabu search)n模拟退火(simulated annealing)n遗传算法(genetic algorithms)n神经网络(neural networks)n蚁群算法(群体(群集)智能,Swarm Intelligence)n拉格朗日松弛算法(lagrangean relaxation)第5页,共1
3、10页,编辑于2022年,星期二61 现代优化计算方法概述n1.1 组合优化问题n1.2 计算复杂性的概念n1.3 启发式算法第6页,共110页,编辑于2022年,星期二71.1 组合优化问题 1/8 组合优化(combinatorial optimization):解决离散问题的优化问题运筹学分支。通过数学方法的研究去寻找离散事件的最优编排、分组、次序或筛选等,可以涉及信息技术、经济管理、工业工程、交通运输和通信网络等许多方面。数学模型:第7页,共110页,编辑于2022年,星期二81.1 组合优化问题 2/8组合优化问题的三参数表示:第8页,共110页,编辑于2022年,星期二91.1 组
4、合优化问题 3/8n例1 0-1背包问题(0-1 knapsack problem)第9页,共110页,编辑于2022年,星期二101.1 组合优化问题 4/8第10页,共110页,编辑于2022年,星期二111.1 组合优化问题 5/8n例2 旅行商问题(TSP,traveling salesman problem)管梅谷教授1960年首先提出,国际上称之为中国邮递员问题。问题描述:一商人去n个城市销货,所有城市走一遍再回到起点,使所走路程最短。第11页,共110页,编辑于2022年,星期二121.1 组合优化问题 6/8第12页,共110页,编辑于2022年,星期二131.1 组合优化问题
5、 7/8例3 装箱问题(bin packing)尺寸为1的箱子有若干个,怎样用最少的箱子装下n个尺寸不超过1 的物品,物品集合为:。第13页,共110页,编辑于2022年,星期二141.1 组合优化问题 8/8第14页,共110页,编辑于2022年,星期二151.2 计算复杂性的概念 1/11n评价算法的好坏计算时间的多少、解的偏离程度n例 非对称距离TSP问题的算法实现:所有路径枚举。计算时间:n个城市,固定1个为起终点需要(n-1)!个枚举,设计算机1秒能完成24个城市的枚举,则城市数与计算时间的关系如下表:第15页,共110页,编辑于2022年,星期二161.2 计算复杂性的概念 2/1
6、1城市数2425262728293031计算时间1sec24sec10min4.3hour4.9day136.5day10.8year325year随城市增多,计算时间增加很快。到31个城市时,要计算325年。描述算法的好坏计算复杂性讨论计算时间与问题规模之间的关系。以目前二进制计算机中的存储和计算为基础,以理论的形式系统描述,是评估算法性能的基础。第16页,共110页,编辑于2022年,星期二171.2 计算复杂性的概念 3/11n问题问题(problem):要回答的一般性提问,通常含有若干个满足一定条件的参数(或自由变量)。可以从两方面描述:(1)对所有参数的一般性描述;(2)答案(或解)
7、必须满足的性质。n实例实例(instance):给问题的所有参数指定具体值,得到问题的一个实例。这些具体值称为数据数据;这些数据输入计算机所占的空间称为实例的长度实例的长度(size).第17页,共110页,编辑于2022年,星期二181.2 计算复杂性的概念 4/11 一类最优化问题是由一些类似的具体问题(实例)组成的,每一个具体问题可表达成二元组(F,C).F为可行解集合;C是费用函数,是由F到R(实数集)的映像。问题是在F中找到一个点f*,使对F中任意的f,有C(f*)C(f),称f*为这一具体问题的最优解(或全局最优解).第18页,共110页,编辑于2022年,星期二191.2 计算复
8、杂性的概念 5/11n算法计算量的度量:算法计算量的度量:加、减、乘、除、比较的总运算次数与实例的计算机计算时的二进制输入数据的大小关系。n正整数正整数x的二进制位数是的二进制位数是:(整数到二进制的转换)第19页,共110页,编辑于2022年,星期二201.2 计算复杂性的概念 6/11n算法计算量的度量之例算法计算量的度量之例TSP枚举法枚举法计算量的统计:计算量的统计:第20页,共110页,编辑于2022年,星期二211.2 计算复杂性的概念 7/11n实例的输入长度:n实例的输入长度是n的多项式函数n枚举法的基本计算量是n的阶乘函数,随n的增加,比指数函数增加得还快.第21页,共110
9、页,编辑于2022年,星期二221.2 计算复杂性的概念 8/11第22页,共110页,编辑于2022年,星期二231.2 计算复杂性的概念 9/11定义定义 多项式算法多项式算法给定问题P,算法A,对一个实例I,存在多项式函数g(x),使(XX)成立,称算法算法A对实例对实例I是是多项式算法多项式算法;若存在多项式函数g(x),使(XX)对问题P的任意实例I都成立,称算法算法A为解决该问题为解决该问题P的多项的多项式算法式算法.当当g(x)为指数函数时,称为指数函数时,称A为为P的指数时间算法。的指数时间算法。第23页,共110页,编辑于2022年,星期二241.2 计算复杂性的概念 10/
10、11n利用复杂性分析对组合优化问题归类。n定义多项式问题多项式问题 给定一个组合优化问题,若存在一个多项式算法,称该问题为多项式时间可解问题,或简称多项式问题多项式问题(或或P问题问题).所有多项式问题的集合记为P.n例:线性规划是否为多项式问题?第24页,共110页,编辑于2022年,星期二251.2 计算复杂性参考书 11/11n计算复杂性计算复杂性,作者:Christos,Papadimitriou清华大学出版社,2004年9月第1版n计算复杂性导论,计算复杂性导论,作者:堵丁柱等,高等教育出版社,2002年8月第1版第25页,共110页,编辑于2022年,星期二261.3 启发式算法_
11、定义 1/6n启发式算法(heuristic algorithm)n定义定义1.基于直观或经验直观或经验构造的算法,在可接受的花费(时间、空间)下,给出待解组合优化问题的每个实例的一个可可行解行解,该可行解与最优解偏差事先不一定可以预计.n定义定义2.启发式算法是一种技术,在可接受的计算费用内寻找最好解,但不保证该解的可行性与最优性,无法描述该解与最优解的近似程度。n特点(与传统优化方法不同):特点(与传统优化方法不同):凭直观和经验给出算法;凭直观和经验给出算法;不考虑所得解与最优解的偏离程度不考虑所得解与最优解的偏离程度.第26页,共110页,编辑于2022年,星期二271.3 启发式算法
12、_优点 2/6 优点:优点:(1)有可能比简化数学模型解的误差小;(2)对有些难题,计算时间可接受;(3)可用于某些最优化算法(如分支定界算 法)之中的估界;(4)直观易行;(5)速度较快;(6)程序简单,易修改。第27页,共110页,编辑于2022年,星期二281.3 启发式算法_不足 3/6不足:不足:(1)不能保证求得全局最优解;(2)解的精度不稳定,有时好有时坏;(3)算法设计与问题、设计者经验、技术 有关,缺乏规律性;(4)不同算法之间难以比较。第28页,共110页,编辑于2022年,星期二291.3 启发式算法_分类 4/6(1)一步算法)一步算法(2)改进算法(迭代算法)改进算法
13、(迭代算法)(3)数学规划算法数学规划算法(4)解空间松弛法解空间松弛法 第29页,共110页,编辑于2022年,星期二301.3 启发式算法_分类 5/6(5)现代优化算法:)现代优化算法:80年代初兴起n禁忌搜索(tabu search)n模拟退火(simulated annealing)n遗传算法(genetic algorithms)n神经网络(neural networks)n蚂蚁算法(Ant Algorithm,群体(群集)智能,Swarm Intelligence)(6 6)其他算法:)其他算法:多种启发式算法的集成.第30页,共110页,编辑于2022年,星期二311.3 启发
14、式算法_性能分析 6/6(1)最坏情形分析(worst case analysis)利用最坏实例分析计算复杂性、解的效果。(2)概率分析(probability analysis)用最坏情况分析,会因一个最坏实例影响总体评价.在实例数据服从一定概率分布情形下,研究算法复杂性和解的效果.(3)大规模计算分析 通过大量实例计算,评价算法效果.n注意数据的随机性和代表性.第31页,共110页,编辑于2022年,星期二322 蚁群优化算法1.蚁群优化算法概述2.蚁群优化算法概念3.算法模型和收敛性分析4.算法实现的技术问题5.应用6.参考资料第32页,共110页,编辑于2022年,星期二332.1 蚁
15、群优化算法概述n2.1.1 起源n2.1.2 应用领域n2.1.3 研究背景n2.1.4 研究现状n2.1.5 应用现状第33页,共110页,编辑于2022年,星期二342.1.1 蚁群优化算法起源 20世纪50年代中期创立了仿生学,人们从生物进化的机理中受到启发。提出了许多用以解决复杂优化问题的新方法,如进化规划、进化策略、遗传算法等,这些算法成功地解决了一些实际问题。20世纪90年代意大利学者MDorigo,VManiezzo,AColorni等从生物进化的机制中受到启发,通过模拟自然界蚂蚁搜索路径的行为,提出来一种新型的模拟进化算法 蚁群算法,是群智能理论研究领域的一种主要算法。用该方法
16、求解TSP问题、分配问题、job-shop调度问题,取得了较好的试验结果虽然研究时间不长,但是现在的研究显示出,蚁群算法在求解复杂优化问题(特别是离散优化问题)方面有一定优势,表明它是一种有发展前景的算法第34页,共110页,编辑于2022年,星期二352.1.2 蚁群优化算法应用领域 这种方法能够被用于解决大多数优化问题或者能够转化为优化求解的问题。现在其应用领域已扩展到多目标优化、数据分类、数据聚类、模式识别、电信QoS管理、生物系统建模、流程规划、信号处理、机器人控制、决策支持以及仿真和系统辩识等方面,群智能理论和方法为解决这类应用问题提供了新的途径。第35页,共110页,编辑于2022
17、年,星期二362.1.3 蚁群优化算法研究背景 1/3 群智能理论研究领域有两种主要的算法:蚁群算法(Ant Colony Optimization,ACO)和微粒群算法(Particle Swarm Optimization,PSO)。前者是对蚂蚁群落食物采集过程的模拟,已成功应用于许多离散优化问题。微粒群算法也是起源于对简单社会系统的模拟,最初是模拟鸟群觅食的过程,但后来发现它是一种很好的优化工具。第36页,共110页,编辑于2022年,星期二372.1.3 蚁群优化算法研究背景 2/3与大多数基于梯度的应用优化算法不同,群智能依靠的是概率搜索算法。虽然概率搜索算法通常要采用较多的评价函数
18、,但是与梯度方法及传统的演化算法相比,其优点还是显著的,主要表现在以下几个方面:1 无集中控制约束,不会因个别个体的故障影响整个问题 的求解,确保了系统具备更强的鲁棒性 2 以非直接的信息交流方式确保了系统的扩展性 3 并行分布式算法模型,可充分利用多处理器 4 对问题定义的连续性无特殊要求 5 算法实现简单 第37页,共110页,编辑于2022年,星期二382.1.3 蚁群优化算法研究背景 3/3 群智能方法易于实现,算法中仅涉及各种基本的数学操作,其数据处理过程对CPU和内存的要求也不高。而且,这种方法只需目标函数的输出值,而无需其梯度信息。已完成的群智能理论和应用方法研究证明群智能方法是
19、一种能够有效解决大多数全局优化问题的新方法。更为重要是,群智能潜在的并行性和分布式特点为处理大量的以数据库形式存在的数据提供了技术保证。无论是从理论研究还是应用研究的角度分析,群智能理论及其应用研究都是具有重要学术意义和现实价值的。第38页,共110页,编辑于2022年,星期二392.1.4 蚁群优化算法研究现状 1/7 90年代Dorigo最早提出了蚁群优化算法-蚂蚁系统(Ant System,AS)并将其应用于解决计算机算法学中经典的旅行商问题(TSP)。从蚂蚁系统开始,基本的蚁群算法得到了不断的发展和完善,并在TSP以及许多实际优化问题求解中进一步得到了验证。这些AS改进版本的一个共同点
20、就是增强了蚂蚁搜索过程中对最优解的探索能力,它们之间的差异仅在于搜索控制策略方面。而且,取得了最佳结果的ACO是通过引入局部搜索算法实现的,这实际上是一些结合了标准局域搜索算法的混合型概率搜索算法,有利于提高蚁群各级系统在优化问题中的求解质量。第39页,共110页,编辑于2022年,星期二402.1.4蚁群优化算法研究现状 2/7 最初提出的AS有三种版本:Ant-density、Ant-quantity和Ant-cycle。在Ant-density和Ant-quantity中蚂蚁在两个位置节点间每移动一次后即更新信息素,而在Ant-cycle中当所有的蚂蚁都完成了自己的行程后才对信息素进行更
21、新,而且每个蚂蚁所释放的信息素被表达为反映相应行程质量的函数。通过与其它各种通用的启发式算法相比,在不大于75城市的TSP中,这三种基本算法的求解能力还是比较理想的,但是当问题规模扩展时,AS的解题能力大幅度下降。因此,其后的ACO研究工作主要都集中于AS性能的改进方面。较早的一种改进方法是精英策略(Elitist Strategy),其思想是在算法开始后即对所有已发现的最好路径给予额外的增强,并将随后与之对应的行程记为Tgb(全局最优行程),当进行信息素更新时,对这些行程予以加权,同时将经过这些行程的蚂蚁记为“精英”,从而增大较好行程的选择机会。这种改进型算法能够以更快的速度获得更好的解。但
22、是若选择的精英过多则算法会由于较早的收敛于局部次优解而导致搜索的过早停滞。第40页,共110页,编辑于2022年,星期二412.1.4蚁群优化算法研究现状 3/7 为了进一步克服AS中暴露出的问题,提出了蚁群系统(Ant Colony System,ACS)。该系统的提出是以Ant-Q算法为基础的。Ant-Q将蚂蚁算法和一种增强型学习算法Q-learning有机的结合了起来。ACS与AS之间存在三方面的主要差异:首先,ACS采用了更为大胆的行为选择规则;其次,只增强属于全局最优解的路径上的信息素。其中,01是信息素挥发参数,是从寻路开始到当前为止全局最优的路径长度。第41页,共110页,编辑于
23、2022年,星期二422.1.4蚁群优化算法研究现状 4/7 再次,还引入了负反馈机制,每当一只蚂蚁由一个节点移动到另一个节点时,该路径上的信息素都按照如下公式被相应的消除一部分,从而实现一种信息素的局部调整,以减小已选择过的路径再次被选择的概率。第42页,共110页,编辑于2022年,星期二432.1.4蚁群优化算法研究现状 5/7 在对AS进行直接完善的方法中,MAX-MIN Ant System是一个典型代表。该算法修改了AS的信息素更新方式,每次迭代之后只有一只蚂蚁能够进行信息素的更新以获取更好的解。为了避免搜索停滞,路径上的信息素浓度被限制在MAX,MIN 范围内,另外,信息素的初始
24、值被设为其取值上限,这样有助于增加算法初始阶段的搜索能力。第43页,共110页,编辑于2022年,星期二442.1.4蚁群优化算法研究现状 6/7 另一种对AS改进的算法是Rank-based Version AS。与“精英策略”相似,在此算法中总是更新更好进程上的信息素,选择的标准是其行程长度 决定的排序,且每个蚂蚁放置信息素的强度通过下式中的排序加权处理确定,其中,为每次迭代后放置信息素的蚂蚁总数。第44页,共110页,编辑于2022年,星期二452.1.4蚁群优化算法研究现状 7/7 这种算法求解TSP的能力与AS、精英策略AS、遗传算法和模拟退火算法进行了比较。在大型TSP问题中(最多
25、包含132座城市),基于AS的算法都显示出了优于GA和SA的特性。而且在Rank-based AS和精英策略AS均优于基本AS的同时,前者还获得了比精英策略AS更好的解。第45页,共110页,编辑于2022年,星期二462.1.5 蚁群优化算法应用现状 1/5 随着群智能理论和应用算法研究的不断发展,研究者已尝试着将其用于各种工程优化问题,并取得了意想不到的收获。多种研究表明,群智能在离散求解空间和连续求解空间中均表现出良好的搜索效果,并在组合优化问题中表现突出。蚁群优化算法并不是旅行商问题的最佳解决方法,但是它却为解决组合优化问题提供了新思路,并很快被应用到其它组合优化问题中。比较典型的应用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 介绍 幻灯片
限制150内