现代优化算法--课件.ppt
《现代优化算法--课件.ppt》由会员分享,可在线阅读,更多相关《现代优化算法--课件.ppt(162页珍藏版)》请在三一文库上搜索。
1、现代优化算法,潘克家 2011-8-8,目录,现在优化算法概论 模拟退火算法(SA) 遗传算法(GA),Part 1 概论 主要是说明现代优化算法的重要性。,现代优化算法,现代优化算法 遗传算法 模拟退火算法 禁忌搜索算法 人工神经网络 蚁群算法 粒子群算法 差分进化算法,特点: 基于客观世界中的一些自然现象; 建立在计算机迭代计算的基础上; 具有普适性,可解决实际应用问题。,数学建模竞赛中的算法(1),93A 非线性交调的频率设计: 拟合、规划 93B 足球队排名次: 矩阵论、图论、层次分析法、整数规划 94A 逢山开路: 图论、插值、动态规划 94B 锁具装箱问题: 图论、组合数学 95
2、A 飞行管理问题 : 非线性规划、线性规划 95B 天车与冶炼炉的作业调度: 非线性规划、动态规划、层次分析法、PETRI方法、图论方法、排队论方法 96A 最优捕鱼策略:微分方程、积分、非线性规划,96B 节水洗衣机:非线性规划 97A 零件参数设计:微积分、非线性规划、随机模拟 97B 截断切割:组合优化、几何变换、枚举、蒙特卡罗、递归、最短路 98A 投资收益与风险:线性规划、非线性规划 98B 灾情巡视:最小生成树、Hamilton圈、旅行商问题 99A 自动化车床:积分、概率分布、随机模拟、分布拟合度检验,数学建模竞赛中的算法(2),99B 钻井布局:几何变换、枚举、最大完全子图、混
3、合整数规划 00A DNA分类:神经网络、最小二乘拟合、统计分类 00B 管道订购:最短路、二次规划 01A 血管的三维重建:数据挖掘、曲面重建与拟合 01B 公交车调度:非线性规划 02A 车灯光源优化设计:最优化 02B 彩票中的数学:概率与优化,数学建模竞赛中的算法(3),1. 蒙特卡罗方法(Monte-Carlo方法, MC),数学建模竞赛常用算法(1),该算法又称计算机随机性模拟方法,也称统计试验 方法。MC方法是一种基于“随机数”的计算方法,能够 比较逼真地描述事物的特点及物理实验过程,解决一些 数值方法难以解决的问题。,MC方法的雏型可以追溯到十九世纪后期的蒲丰随机 投针试验,即
4、著名的蒲丰问题。 MC方法通过计算机仿 真(模拟)解决问题,同时也可以通过模拟来检验自己 模型的正确性,是比赛中经常使用的方法。,97年的A题 每个零件都有自己的标定值,也都有自 己的容差等级,而求解最优的组合方案将要面对着的是一 个极其复杂的公式和108种容差选取方案,根本不可能去求 解析解,那如何去找到最优的方案呢?随机性模拟搜索最 优方案就是其中的一种方法,在每个零件可行的区间中按 照正态分布随机的选取一个标定值和选取一个容差值作为 一种方案,然后通过蒙特卡罗算法仿真出大量的方案,从 中选取一个最佳的。 02年的B题 关于彩票第二问,要求设计一种更好的方 案,首先方案的优劣取决于很多复杂
5、的因素,同样不可能 刻画出一个模型进行求解,只能靠随机仿真模拟。,数学建模竞赛常用算法,98 年美国赛A 题 生物组织切片的三维插值处理 94 年A 题逢山开路 山体海拔高度的插值计算,数学建模竞赛常用算法(2),2. 数据拟合、参数估计、插值等数据处理算法,比赛中通常会遇到大量的数据需要处理,而处理数 据的关键就在于这些算法,通常使用MATLAB 作为工 具。与图形处理有关的问题很多与拟合有关系。,此类问题在MATLAB中有很多函数可以调用,只有熟 悉MATLAB,这些方法才能用好。,98年B 题 用很多不等式完全可以把问题刻画清楚,数学建模竞赛常用算法(3),3. 规划类问题算法,此类问题
6、主要有线性规划、整数规划、多元规划、 二次规划等。竞赛中很多问题都和数学规划有关,可以 说不少的模型都可以归结为一组不等式作为约束条件、 几个函数表达式作为目标函数的问题,遇到这类问题, 求解就是关键了。,因此列举出规划后用Lindo、Lingo 等软件来进行解决 比较方便,所以还需要熟悉这两个软件。,98 年B 题、00年B 题、95 年锁具装箱等问题体现了图论问题的重要性。,数学建模竞赛常用算法(4),4. 图论问题,这类问题算法有很多,包括:Dijkstra、Floyd、 Prim、Bellman-Ford,最大流,二分匹配等问题。,92 年B 题用分枝定界法 97 年B 题是典型的动态
7、规划问题 98 年B 题体现了分治算法,数学建模竞赛常用算法(5),5. 计算机算法设计中的问题,计算机算法设计包括很多内容:动态规划、回溯搜 索、分治算法、分枝定界等计算机算法.,这方面问题和ACM 程序设计竞赛中的问题类似, 可看一下与计算机算法有关的书。,97年A 题用模拟退火算法 00年B 题用神经网络分类算法 01年B 题这种难题也可以使用神经网络 美国89年A 题也和BP 算法有关系 美国03年B 题伽马刀问题也是目前研究的课题,目前算法最佳的是遗传算法。,最优化理论的三大非经典算法:,模拟退火法(SA)、神经网络(NN)、遗传算法(GA),近几年的赛题越来越复杂,很多问题没有什么
8、很好的 模型可以借鉴,于是这三类算法很多时候可以派上用场。,97 年A 题、99 年B 题都可以用网格法搜索,数学建模竞赛常用算法(7),网格算法和穷举法一样,只是网格法是连续问题的穷 举。此类算法运算量较大。,7. 网格算法和穷举算法,这种方法最好在运算速度较快的计算机中进行,还有 要用高级语言来做,最好不要用MATLAB 做网格,否则 会算很久的。,很多问题都是实际来的,数据可以是连续的,而计 算机只能处理离散的数据,因此需要将连续问题进行 离散化处理后再用计算机求解。比如差分代替微分、 求和代替积分等思想都是把连续问题离散化的常用方 法。,数学建模竞赛常用算法(8),8. 连续问题离散化
9、的方法,数值分析研究各种求解数学问题的数值计算方法, 特别是适合于计算机实现方法与算法。,数学建模竞赛常用算法(9),9. 数值分析方法,它的主要内容包括函数的数值逼近、数值微分与数 值积分、非线性方程的数值解法、数值代数、常微分方 程数值解等。数值分析是计算数学的一个重要分支,把 理论与计算紧密结合,是现代科学计算的基础 。,MATLAB等数学软件中已经有很多数值分析的函 数可以直接调用。,01年A 题中需要你会读BMP 图象 98年美国A 题需要你知道三维插值计算 03年B 题要求更高,不但需要编程计算还要进行处理,数学建模竞赛常用算法(10),10. 图象处理算法,赛题中有一类问题与图形
10、有关,即使问题与图形无 关,论文中也会需要图片来说明问题,这些图形如何展 示以及如何处理就是需要解决的问题,通常使用MATLAB 进行处理。,数模论文中也有很多图片需要展示,解决这类问题 要熟悉MATLAB图形图像工具箱。,优化模型,实际问题中 的优化模型,x决策变量,f(x)目标函数,gi(x)0约束条件,数学规划,线性规划(LP) 二次规划(QP) 非线性规划(NLP),纯整数规划(PIP) 混合整数规划(MIP),整数规划(IP),0-1整数规划 一般整数规划,连续规划,最优化问题(Optimization Problem),最优化问题:,组合优化问题(Combinatorial Opt
11、imization Problem ) : 最优化问题中的解空间X或S由离散集合构成。其中很 多问题是NP完全(Nondeterministic Polynomial Completeness)问题.,待解决的问题 连续性问题,以微积分为基础,规模较小 传统的优化方法 理论上的准确与完美,主要方法:线性与非线性规划、动态规划、多目标规划、整数规划等;排队论、库存论、对策论、决策论等。 传统的评价方法 算法收敛性、收敛速度,传统优化方法,现代优化算法,现代优化算法又称智能优化算法或现代启发式算法,是一种具有全局优化性能、通用性强、且适合于并行处理的算法。这种算法一般具有严密的理论依据,而不是单纯
12、凭借专家经验,理论上可以在一定的时间内找到最优解或近似最优解。,待解决的问题 离散性、连续的、不确定性、大规模 现代的优化方法 启发式算法(heuristic algorithm) 追求满意(近似解) 实用性强(解决实际工程问题) 现代的评价方法 算法复杂性,现代优化方法,现代优化算法的特点,它们的共同特点:都是从任一解出发,按照 某种机制,以一定的概率在整个求解空间中探索 最优解。由于它们可以把搜索空间扩展到整个问 题空间,因而具有全局优化性能。,全局优化,(Rastrigins Function),全局最小点(0,0),http:/ 1)不依赖于初始条件; 2)不与求解空间有紧密关系,对解
13、域无可微或连续的要求;容易实现,求解稳健。 3)但收敛速度慢,能获得全局最优;适合于求解空间不知的情况。 4)SA、GA可应用于大规模、多峰多态函数、含离散变量等全局优化问题;求解速度和质量远超过常规方法。,常用的现代优化算法,遗传算法 Genetic Algorithm,简称GA 模拟退火算法 Simulated Annealing,简称SA 禁忌搜索算法 Tabu Search,简称TS 神经网络算法 Neural Network Algorithm,简称NNA 粒子群算法 Particle Swarm Optimization,简称PSO 差分进化算法 Differential Evol
14、ution,简称DE,搜索示例:三个孩子的年龄(1),两个多年未见的朋友相遇,聊了很多事情。,A:既然你是数学教授,那你帮我算这个题,今天是 个特殊日子:我三个儿子都在今天庆祝生日!那么你 能算出他们都有多大吗?,B:好,但你得跟我讲讲他们的情况。,A:好的,我给你一些提示,他们三个年龄之积是36.,B:很好,但我还需要更多提示。,三个孩子的年龄(2),A:我的大儿子的眼睛是蓝色的。,B考虑了一下说,但是,我还有一点信息来解决你的这 个难题。,B:哦,够了,,B 给出了正确的答案,即三个小孩的年龄。,A:他们三个年龄之和等于那幢房子的窗户个数。,A指着对面的一幢房子说。,三个孩子的年龄(3),
15、根据对话信息,用搜索的方法来解此问题。,信息1:三个小孩年龄之积为36,只有以下8种可能,搜索范围减少至8种情况:,三个孩子的年龄(4),信息2:三个小孩年龄之和等于窗户数,窗户数: 38 21 16 14 13 13 11 10,如果窗户数为38、21、16、14、11、10即可得出答案,B还需信息,即窗户数为13.,则可能为(9、2、2)或(6、6、1),信息2:大儿子眼睛是蓝色的,得答案:(9、2、2),典型问题旅行商问题(Traveling salesman problem, TSP),搜索示例:TSP问题,给定n个城市和两两 城市之间的距离,要 求确定一条经过各城 市当且仅当一次的最
16、 短路线。,典型问题旅行商问题,TSP的搜索的困难,计算复杂度:指数灾难,Part 2 模拟退火法,模拟退火算法及模型,算法的提出 模拟退火算法最早的思想由Metropolis等(1953)提出,1983年Kirkpatrick等将其应用于组合优化。,物理退火过程,算法的目的 解决NP复杂性问题; 克服优化过程陷入局部极小; 克服初值依赖性。,什么是退火: 退火是指将固体加热到足够高的温度,使分子呈随机排列状态,然后逐步降温使之冷却,最后分子以低能状态排列,固体达到某种稳定状态。,物理退火过程,模拟退火算法及模型,等温过程对于与环境换热而温度不变的封闭系统,系统状态的自发变化总是朝自由能减少的
17、方向进行,当自由能达到最小时,系统达到平衡态;,物理退火过程 加温过程增强粒子的热运动,消除系统原先可能存在的非均匀态;,冷却过程使粒子热运动减弱并渐趋有序,系统能量逐渐下降,从而得到低能的晶体结构。,模拟退火算法及模型,智能优化计算,数学表述 在温度T,分子停留在状态r满足Boltzmann概率分布,物理退火过程,模拟退火算法及模型,智能优化计算,数学表述 在同一个温度T,选定两个能量E1E2,有,物理退火过程,1,0,在同一个温度,分子停留在能量小的状态的概率比停留在能量大的状态的概率要大。,智能优化计算,若|D|为状态空间D中状态的个数,D0是具有最低能量的状态集合: 1、当温度很高时,
18、每个状态概率基本相同,接近平均值1/|D|; 2、状态空间存在超过两个不同能量时,具有最低能量状态的概率超出平均值1/|D| ; 3、当温度趋于0时,分子停在最低能量状态概率趋于1。,模拟退火算法,能量最低状态,非能量最低状态,数学表述,模拟退火算法及模型,智能优化计算,Metropolis准则(1953)以概率接受新状态,物理退火过程,固体在恒定温度下达到热平衡的过程可以用Monte Carlo方法(计算机随机模拟方法)加以模拟,虽然该方法简单,但必须大量采样才能得到比较精确的结果,计算量很大。,模拟退火算法及模型,智能优化计算,否则,以概率 p=exp-(Ej-Ei)/kBT 接受j 为当
19、前状态。,物理退火过程,Metropolis准则(1953)以概率接受新状态,若在温度T,当前状态i 新状态j,若EjEi,则接受 j 为当前状态;,即:p大于0,1)区间的随机数,则仍接受状态 j 为当前状态;否则保留状态 i 为当前状态。,模拟退火算法及模型,智能优化计算,Metropolis准则(1953)以概率接受新状态 p=exp-(Ej-Ei)/kBT,物理退火过程,在低温下,只接受与当前状态能量差较小的新状态。,在高温下,可接受与当前状态能量差较大的新状态;,组合优化与物理退火的相似性,智能优化计算,相似性比较,SA算法描述,案例讲解,已知敌方100个目标的经度、纬度 我方有一个
20、基地,经度和纬度为(70,40)。假设我方飞机的速度为1000公里/小时。我方派一架飞机从基地出发,侦察完敌方所有目标,再返回原来的基地。在敌方每一目标点的侦察时间不计,求该架飞机所花费的时间(假设我方飞机巡航时间可以充分长)。,问题分析,算法描述(解空间与目标函数),算法描述,一次迭代由三步组成,算法描述,案例讲解,模拟退火算法及模型,智能优化计算,基本步骤 给定初温t=t0,随机产生初始状态s=s0,令k=0; Repeat Repeat 产生新状态sj=Genete(s); if min1,exp-(C(sj)-C(s)/tk=randrom0,1 s=sj; Until 抽样稳定准则满
21、足; 退温tk+1=update(tk)并令k=k+1; Until 算法终止准则满足; 输出算法搜索结果。,模拟退火算法的基本思想和步骤,模拟退火算法及模型,智能优化计算,影响优化结果的主要因素 给定初温t=t0,随机产生初始状态s=s0,令k=0; Repeat Repeat 产生新状态sj=Genete(s); if min1,exp-(C(sj)-C(s)/tk=randrom0,1 s=sj; Until 抽样稳定准则满足; 退温tk+1=update(tk)并令k=k+1; Until 算法终止准则满足; 输出算法搜索结果。,模拟退火算法的基本思想和步骤,三函数两准则 初始温度,3
22、.3 模拟退火算法关键参数和操作的设计,智能优化计算,华东理工大学自动化系 2007年,原则 产生的候选解应遍布全部解空间(保证全局最优解) 方法 在当前状态的邻域结构内以一定概率方式(均匀分布、正态分布、指数分布等)产生,状态产生函数,模拟退火算法关键参数和操作的设计,智能优化计算,原则 (1)在固定温度下,接受使目标函数下降的候选解的概率要大于使目标函数上升的候选解概率; (2)随温度的下降,接受使目标函数上升的解的概率要逐渐减小; (3)当温度趋于零时,只能接受目标函数下降的解。 方法 具体形式对算法影响不大, 一般采用min1,exp(-C/t),状态接受函数,模拟退火算法关键参数和操
23、作的设计,智能优化计算,收敛性分析 通过理论分析可以得到初温的解析式,但解决实际问题时难以得到精确的参数; 初温应充分大; 实验表明 初温越大,获得高质量解的机率越大,但花费较多的计算时间;,初温,模拟退火算法关键参数和操作的设计,智能优化计算,方法 (1)均匀抽样一组状态,以各状态目标值得方差为初温; (2)随机产生一组状态,确定两两状态间的最大目标值 差,根据差值,利用一定的函数确定初温; (3)利用经验公式。,初温,模拟退火算法关键参数和操作的设计,智能优化计算,时齐算法的温度下降函数 (1) ,越接近1温度下降越慢,且其大小可以不断变化; (2) ,其中t0为起始温度,K为算法温度下降
24、的总次数。,温度更新函数,若固定每一温度,算法均计算至平稳分布,然后下降温度,则称为时齐算法; 若无需各温度下算法均达到平稳分布,但温度需按一定速率下降,则称为非时齐算法。,模拟退火算法关键参数和操作的设计,智能优化计算,非时齐模拟退火算法 每个温度下只产生一个或少量候选解 时齐算法常用的Metropolis抽样稳定准则 (1)检验目标函数的均值是否稳定; (2)连续若干步的目标值变化较小; (3)按一定的步数抽样。,内循环终止准则,模拟退火算法关键参数和操作的设计,智能优化计算,常用方法 (1)设置终止温度的阈值; (2)设置外循环迭代次数; (3)算法搜索到的最优值连续若干步保持不变; (
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 优化 算法 课件
链接地址:https://www.31doc.com/p-2996006.html