模拟退火算法详解讲解

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第二章模拟退火算法现代优化计算3.1模拟退火算法及模型3.1.1物理退火过程3.1.2组合优化与物理退火的相似性3.1.3模拟退火算法的基本思想和步骤3.2模拟退火算法的马氏链描述3.2.1马尔可夫链3.2.2模拟退火算法与马尔可夫链3.3模拟退火算法的关键参数和操作的设计3.3.1状态产生函数3.3.2状态接受函数3.3.3初温3.3.4温度更新函数3.3.5内循环终止准则3.3.6外循环终止准则现代优化计算3.4模拟退火算法的改进3.4.1模拟退火算法的优缺点3.4.2改进内容3.4.3一种改进的模拟退火算法3.5模拟退火算法实现与应用3.5.130城市TSP问题(d*=423.741byDBFogel)3.5.2模拟退火算法在管壳式换热器优化设计中的应用现代优化计算3.1模拟退火算法及模型现代优化计算算法的提出模拟退火算法最早的思想由Metropolis等(1953)提出,1983年Kirkpatrick等将其应用于组合优化。算法的目的解决NP复杂性问题;克服优化过程陷入局部极小;克服初值依赖性。3.1.1物理退火过程3.1模拟退火算法及模型现代优化计算物理退火过程什么是退火:退火是指将固体加热到足够高的温度,使分子呈随机排列状态,然后逐步降温使之冷却,最后分子以低能状态排列,固体达到某种稳定状态。3.1.1物理退火过程3.1模拟退火算法及模型现代优化计算物理退火过程加温过程——增强粒子的热运动,消除系统原先可能存在的非均匀态;等温过程——对于与环境换热而温度不变的封闭系统,系统状态的自发变化总是朝自由能减少的方向进行,当自由能达到最小时,系统达到平衡态;冷却过程——使粒子热运动减弱并渐趋有序,系统能量逐渐下降,从而得到低能的晶体结构。3.1.1物理退火过程热力学中的退火现象指物体逐渐降温时发生的物理現象:温度越低,物体的能量状态越低,到达足够的低点时,液体开始冷凝与结晶,在结晶状态时,系统的能量状态最低。缓慢降温(退火,annealing)时,可达到最低能量状态;但如果快速降温(淬火,quenching),会导致不是最低能态的非晶形。大自然知道慢工出细活:缓缓降温,使得物体分子在每一温度时,能够有足够时间找到安顿位置,则逐渐地,到最后可得到最低能态,系统最稳定。3.1模拟退火算法及模型3.1.1物理退火过程现代优化计算模仿自然界退火現象而得,利用了物理中固体物质的退火过程与一般优化问题的相似性从某一初始温度开始,伴随温度的不断下降,结合概率突跳特性在解空间中随机寻找全局最优解3.1模拟退火算法及模型3.1.1物理退火过程现代优化计算3.1模拟退火算法及模型现代优化计算数学表述在温度T,分子停留在状态r满足Boltzmann概率分布3.1.1物理退火过程DsBBBTksETZTZkrrEETkrETZrEEP)(exp)()(Boltzmann0)()(exp)(1)}({子:为概率分布的标准化因常数。为的能量,表示状态机变量,表示分子能量的一个随3.1模拟退火算法及模型现代优化计算数学表述在同一个温度T,选定两个能量E1E2,有3.1.1物理退火过程TkEETkETZEEPEEPBB12121exp1exp)(1}{}{10模拟退火算法基本思想:在一定温度下,搜索从一个状态随机地变化到另一个状态;随着温度的不断下降直到最低温度,搜索过程以概率1停留在最优解3.1模拟退火算法及模型3.1.1物理退火过程现代优化计算Boltzman概率分布告诉我们:(1)在同一个温度,分子停留在能量小状态的概率大于停留在能量大状态的概率(2)温度越高,不同能量状态对应的概率相差越小;温度足够高时,各状态对应概率基本相同。(3)随着温度的下降,能量最低状态对应概率越来越大;温度趋于0时,其状态趋于13.1模拟退火算法及模型现代优化计算数学表述若|D|为状态空间D中状态的个数,D0是具有最低能量的状态集合:当温度很高时,每个状态概率基本相同,接近平均值1/|D|;状态空间存在超过两个不同能量时,具有最低能量状态的概率超出平均值1/|D|;当温度趋于0时,分子停留在最低能量状态的概率趋于1。3.1.1物理退火过程能量最低状态非能量最低状态3.1模拟退火算法及模型现代优化计算Metropolis准则(1953)——以概率接受新状态固体在恒定温度下达到热平衡的过程可以用MonteCarlo方法(计算机随机模拟方法)加以模拟,虽然该方法简单,但必须大量采样才能得到比较精确的结果,计算量很大。3.1.1物理退火过程3.1模拟退火算法及模型现代优化计算Metropolis准则(1953)——以概率接受新状态若在温度T,当前状态i→新状态j若EjEi,则接受j为当前状态;否则,若概率p=exp[-(Ej-Ei)/kBT]大于[0,1)区间的随机数,则仍接受状态j为当前状态;若不成立则保留状态i为当前状态。3.1.1物理退火过程01-(Ej-Ei)/kTp3.1模拟退火算法及模型现代优化计算Metropolis准则(1953)——以概率接受新状态p=exp[-(Ej-Ei)/kBT]在高温下,可接受与当前状态能量差较大的新状态;在低温下,只接受与当前状态能量差较小的新状态。3.1.1物理退火过程3.1模拟退火算法及模型现代优化计算相似性比较3.1.2组合优化与物理退火的相似性组合优化问题金属物体解粒子状态最优解能量最低的状态设定初温熔解过程Metropolis抽样过程等温过程控制参数的下降冷却目标函数能量3.1模拟退火算法及模型现代优化计算基本步骤给定初温t=t0,随机产生初始状态s=s0,令k=0;RepeatRepeat产生新状态sj=Genete(s);ifmin{1,exp[-(C(sj)-C(s))/tk]}=randrom[0,1]s=sj;Until抽样稳定准则满足;退温tk+1=update(tk)并令k=k+1;Until算法终止准则满足;输出算法搜索结果。3.1.3模拟退火算法的基本思想和步骤3.1模拟退火算法及模型现代优化计算影响优化结果的主要因素给定初温t=t0,随机产生初始状态s=s0,令k=0;RepeatRepeat产生新状态sj=Genete(s);ifmin{1,exp[-(C(sj)-C(s))/tk]}=randrom[0,1]s=sj;Until抽样稳定准则满足;退温tk+1=update(tk)并令k=k+1;Until算法终止准则满足;输出算法搜索结果。3.1.3模拟退火算法的基本思想和步骤三函数两准则初始温度3.1模拟退火算法及模型现代优化计算3.1.3模拟退火算法的基本思想和步骤Step1设定初始温度t=tmax,任选初始解r=r0Step2内循环Step2.1从r的邻域中随机选一个解rt,计算r和rt对应目标函数值,如rt对应目标函数值较小,则令r=rt;否则若exp(-(E(rt)-E(r))/t)random(0,1),则令r=rt.Step2.2不满足内循环停止条件时,重复Step2.1Step3外循环Step3.1降温t=decrease(t)Step3.2如不满足外循环停止条件,则转Step2;否则算法结束1.达到终止温度2.达到迭代次数3.最优值连续若干步保持不变1.目标函数均值稳定2.连续若干步的目标值变化较小3.固定的抽样步数模拟退火算法的步骤3.2模拟退火算法的马氏链描述现代优化计算定义3.2.1马尔科夫链})1()(Pr{})1(,,)1(,)0()(Pr{)}({)(},,{1021inXjnXinXiXiXjnXZnkXkkXss,满足称为马尔可夫链,若随机序列时刻状态变量的取值。为间,为所有状态构成的解空令3.2模拟退火算法的马氏链描述现代优化计算定义一步转移概率:n步转移概率:若解空间有限,称马尔可夫链为有限状态;若,称马尔可夫链为时齐的。3.2.1马尔科夫链})1()(Pr{)1(,inXjnXnpji)1()(,,,npnpZnjiji})0()(Pr{)(,iXjnXpnji3.2模拟退火算法的马氏链描述现代优化计算模拟退火算法对应了一个马尔可夫链模拟退火算法:新状态接受概率仅依赖于新状态和当前状态,并由温度加以控制。若固定每一温度,算法均计算马氏链的变化直至平稳分布,然后下降温度,则称为时齐算法;若无需各温度下算法均达到平稳分布,但温度需按一定速率下降,则称为非时齐算法。分析收敛性3.2.2模拟退火算法与马尔科夫链3.3模拟退火算法关键参数和操作的设计现代优化计算原则产生的候选解应遍布全部解空间方法在当前状态的邻域结构内以一定概率方式(均匀分布、正态分布、指数分布等)产生3.3.1状态产生函数3.3模拟退火算法关键参数和操作的设计现代优化计算原则(1)在固定温度下,接受使目标函数下降的候选解的概率要大于使目标函数上升的候选解概率;(2)随温度的下降,接受使目标函数上升的解的概率要逐渐减小;(3)当温度趋于零时,只能接受目标函数下降的解。方法具体形式对算法影响不大一般采用min[1,exp(-∆C/t)]3.3.2状态接受函数3.3模拟退火算法关键参数和操作的设计现代优化计算收敛性分析通过理论分析可以得到初温的解析式,但解决实际问题时难以得到精确的参数;初温应充分大;实验表明初温越大,获得高质量解的机率越大,但花费较多的计算时间;3.3.3初温3.3模拟退火算法关键参数和操作的设计现代优化计算方法(1)均匀抽样一组状态,以各状态目标值得方差为初温;(2)随机产生一组状态,确定两两状态间的最大目标值差,根据差值,利用一定的函数确定初温;(3)利用经验公式。3.3.3初温3.3模拟退火算法关键参数和操作的设计现代优化计算时齐算法的温度下降函数(1),α越接近1温度下降越慢,且其大小可以不断变化;(2),其中t0为起始温度,K为算法温度下降的总次数。3.3.4温度更新函数10,0,1kttkk0tKkKtk3.3模拟退火算法关键参数和操作的设计现代优化计算非时齐模拟退火算法每个温度下只产生一个或少量候选解时齐算法——常用的Metropolis抽样稳定准则(1)检验目标函数的均值是否稳定;(2)连续若干步的目标值变化较小;(3)按一定的步数抽样。3.3.5内循环终止准则3.3模拟退火算法关键参数和操作的设计现代优化计算常用方法(1)设置终止温度的阈值;(2)设置外循环迭代次数;(3)算法搜索到的最优值连续若干步保持不变;(4)概率分析方法。3.3.6外循环终止准则3.4模拟退火算法的改进现代优化计算模拟退火算法的优点质量高;初值鲁棒性强;简单、通用、易实现。模拟退火算法的缺点由于要求较高的初始温度、较慢的降温速率、较低的终止温度,以及各温度下足够多次的抽样,因此优化过程较长。3.4.1模拟退火算法的优缺点3.4模拟退火算法的改进现代优化计算改进的可行方案(1)设计合适的状态产生函数;(2)设计高效的退火历程;(3)避免状态的迂回搜索;(4)采用并行搜索结构;(5)避免陷入局部极小,改进对温度的控制方式;(6)选择合适的初始状态;(7)设计合适的算法终止准则。3.4.2改进内容3.4模拟退火算法的改进现代优化计算改进的方式(1)增加升温或重升温过程,避免陷入局部极小;(2)增加记忆功能(记忆“Bestsofar”状态);(3)增加补充搜索过程(以最优结果为初始解);(4)对每一当前状态,采用多次搜索策略,以概率接受区域内的最优状态;(5)结合其它搜索机制的算法;(6)上述各方法的综合。3.4.2改进内容3.4模拟退火算法的改进现代优化计算改进的思路(1)记录“Bestsofar”状态,并即时更新;(2)设置双阈值,使得在尽量保持最优性的前提下减少计算量,即在各温度下当前状态连续m1步保持不变则认为M

1 / 52
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功