模拟退火算法的教程_第1页
模拟退火算法的教程_第2页
模拟退火算法的教程_第3页
模拟退火算法的教程_第4页
模拟退火算法的教程_第5页
免费预览已结束,剩余49页可下载查看

下载本文档

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

文档简介

模拟退火算法SimulatedAnnealingAlgorithm,信息与计算科学,卿铭,模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却;加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到某种稳定状态,基态,内能减为最小。,1模拟退火算法的思想,物理退火过程加温过程增强粒子的热运动,消除系统原先可能存在的非均匀态;等温过程对于与环境换热而温度不变的封闭系统,系统状态的自发变化总是朝自由能减少的方向进行,当自由能达到最小时,系统达到平衡态;冷却过程使粒子热运动减弱并渐趋有序,系统能量逐渐下降,从而得到低能的晶体结构。,1模拟退火算法的思想,缓慢降温(退火,annealing)时,可达到最低能量状态,较为柔韧;但如果快速降温(淬火,quenching),会导致不是最低能态的非晶形,较硬易断。大自然知道慢工出细活:缓缓降温,使得物体分子在每一温度时,能够有足够时间找到安顿位置,则逐渐地,到最后可得到最低能态,系统最稳定。,1模拟退火算法的思想,模拟退火算法(SimulatedAnnealing,SA)最早的思想是由N.Metropolis等人于1953年提出。1983年,S.Kirkpatrick等成功地将退火思想引入到组合优化领域。它是基于Monte-Carlo迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。模拟退火算法从某一较高初温出发,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部最优解能概率性地跳出并最终趋于全局最优。,模拟退火算法是通过赋予搜索过程一种时变且最终趋于零的概率突跳性,从而可有效避免陷入局部极小并最终趋于全局最优的串行结构的优化算法。模拟退火算法是一种通用的优化算法,理论上算法具有概率的全局优化性能,目前已在工程中得到了广泛应用。,组合优化与物理退火的相似性比较,从某一初始温度开始,伴随温度的不断下降,结合概率突跳特性在解空间中随机寻找全局最优解,根据Metropolis准则,粒子在温度T时趋于平衡的概率为exp(-E/(kT),其中E为温度T时的内能,E为其改变量,k为Boltzmann常数。用固体退火模拟组合优化问题,将内能E模拟为目标函数值f,温度T演化成控制参数t,即得到解组合优化问题的模拟退火算法:由初始解i和控制参数初值t开始,对当前解重复“产生新解计算目标函数差接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。退火过程由冷却进度表(CoolingSchedule)控制,包括控制参数的初值t及其衰减因子t、每个t值时的迭代次数L和停止条件S。,2模拟退火算法的原理,在温度T,分子停留在状态r满足Boltzmann概率分布,2物理退火过程的数学表示,在同一个温度T,选定两个能量E1=randrom0,1s=sj;Until抽样稳定准则满足;退温tk+1=update(tk)并令k=k+1;Until算法终止准则满足;输出算法搜索结果。,三函数两准则初始温度,5模拟退火算法的具体步骤,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.固定的抽样步数,模拟退火算法的步骤,5模拟退火算法的具体步骤,6模拟退火算法关键参数和操作的设计,原则产生的候选解应遍布全部解空间方法在当前状态的邻域结构内以一定概率方式(均匀分布、正态分布、指数分布等)产生,状态产生函数,原则(1)在固定温度下,接受使目标函数下降的候选解的概率要大于使目标函数上升的候选解概率;(2)随温度的下降,接受使目标函数上升的解的概率要逐渐减小;(3)当温度趋于零时,只能接受目标函数下降的解。方法具体形式对算法影响不大一般采用min1,exp(-C/t),6模拟退火算法关键参数和操作的设计,状态接受函数,收敛性分析通过理论分析可以得到初温的解析式,但解决实际问题时难以得到精确的参数;初温应充分大;实验表明初温越大,获得高质量解的机率越大,但花费较多的计算时间;,初温,6模拟退火算法关键参数和操作的设计,方法(1)均匀抽样一组状态,以各状态目标值得方差为初温;(2)随机产生一组状态,确定两两状态间的最大目标值差,根据差值,利用一定的函数确定初温;(3)利用经验公式。,初温,6模拟退火算法关键参数和操作的设计,温度下降函数(1),越接近1温度下降越慢,且其大小可以不断变化;(2),其中t0为起始温度,K为算法温度下降的总次数。,温度更新函数,6模拟退火算法关键参数和操作的设计,非时齐模拟退火算法每个温度下只产生一个或少量候选解时齐算法常用的Metropolis抽样稳定准则(1)检验目标函数的均值是否稳定;(2)连续若干步的目标值变化较小;(3)按一定的步数抽样。,内循环终止准则,6模拟退火算法关键参数和操作的设计,模拟退火算法对应了一个马尔可夫链,新状态接受概率仅依赖于新状态和当前状态,并由温度加以控制。若固定每一温度,算法均计算马氏链的变化直至平稳分布,然后下降温度,则称为时齐算法;若无需各温度下算法均达到平稳分布,但温度需按一定速率下降,则称为非时齐算法。,常用方法(1)设置终止温度的阈值;(2)设置外循环迭代次数;(3)算法搜索到的最优值连续若干步保持不变;(4)概率分析方法。,外循环终止准则,6模拟退火算法关键参数和操作的设计,7模拟退火算法的改进,模拟退火算法的优点质量高;初值鲁棒性强;简单、通用、易实现。模拟退火算法的缺点由于要求较高的初始温度、较慢的降温速率、较低的终止温度,以及各温度下足够多次的抽样,因此优化过程较长。,模拟退火算法的优缺点,7模拟退火算法的改进,改进的可行方案(1)设计合适的状态产生函数;(2)设计高效的退火历程;(3)避免状态的迂回搜索;(4)采用并行搜索结构;(5)避免陷入局部极小,改进对温度的控制方式;(6)选择合适的初始状态;(7)设计合适的算法终止准则。,改进内容,改进的方式(1)增加升温或重升温过程,避免陷入局部极小;(2)增加记忆功能(记忆“Bestsofar”状态);(3)增加补充搜索过程(以最优结果为初始解);(4)对每一当前状态,采用多次搜索策略,以概率接受区域内的最优状态;(5)结合其它搜索机制的算法;(6)上述各方法的综合。,7模拟退火算法的改进,改进的思路(1)记录“Bestsofar”状态,并即时更新;(2)设置双阈值,使得在尽量保持最优性的前提下减少计算量,即在各温度下当前状态连续m1步保持不变则认为Metropolis抽样稳定,若连续m2次退温过程中所得最优解不变则认为算法收敛。,一种改进的模拟退火算法,7模拟退火算法的改进,改进的退火过程(1)给定初温t0,随机产生初始状态s,令初始最优解s*=s,当前状态为s(0)=s,i=p=0;(2)令t=ti,以t,s*和s(i)调用改进的抽样过程,返回其所得最优解s*和当前状态s(k),令当前状态s(i)=s(k);(3)判断C(s*)m2?若是,则转第(6)步;否则,返回第(2)步;(6)以最优解s*作为最终解输出,停止算法。,一种改进的模拟退火算法,7模拟退火算法的改进,改进的抽样过程(1)令k=0时的初始当前状态为s(0)=s(i),q=0;(2)由状态s通过状态产生函数产生新状态s,计算增量C=C(s)-C(s);(3)若CC(s)?若是,则令s*=s,q=0;否则,令q=q+1。若C0,则以概率exp(-C/t)接受s作为下一当前状态;(4)令k=k+1,判断qm1?若是,则转第(5)步;否则,返回第(2)步;(5)将当前最优解s*和当前状态s(k)返回改进退火过程。,一种改进的模拟退火算法,7模拟退火算法的改进,8模拟退火算法的实现与应用,130城市TSP问题(d*=423.741byDBFogel),TSPBenchmark问题4194;3784;5467;2562;764;299;6858;7144;5462;8369;6460;1854;2260;8346;9138;2538;2442;5869;7171;7478;8776;1840;1340;827;6232;5835;4521;4126;4435;450,算法流程,130城市TSP问题(d*=423.741byDBFogel),8模拟退火算法的实现与应用,初始温度的计算fori=1:100route=randperm(CityNum);fval0(i)=CalDist(dislist,route);endt0=-(max(fval0)-min(fval0)/log(0.9);,130城市TSP问题(d*=423.741byDBFogel),8模拟退火算法的实现与应用,状态产生函数的设计(1)互换操作,随机交换两个城市的顺序;(2)逆序操作,两个随机位置间的城市逆序;(3)插入操作,随机选择某点插入某随机位置。,130城市TSP问题(d*=423.741byDBFogel),2,8,3,5,9,1,4,6,7,2,8,3,5,9,1,4,6,7,2,8,3,5,9,1,4,6,7,8模拟退火算法的实现与应用,参数设定截止温度tf=0.01;退温系数alpha=0.90;内循环次数L=200*CityNum;,130城市TSP问题(d*=423.741byDBFogel),8模拟退火算法的实现与应用,运行过程,130城市TSP问题(d*=423.741byDBFogel),8模拟退火算法的实现与应用,运行过程,130城市TSP问题(d*=423.741byDBFogel),8模拟退火算法的实现与应用,运行过程,130城市TSP问题(d*=423.741byDBFogel),8模拟退火算法的实现与应用,运行过程,130城市TSP问题(d*=423.741byDBFogel),8模拟退火算法的实现与应用,运行过程,130城市TSP问题(d*=423.741byDBFogel),8模拟退火算法的实现与应用,运行结果,130城市TSP问题(d*=423.741byDBFogel),8模拟退火算法的实现与应用,换热器模型两级管壳式换热器组成的换热器系统,数学模型高度非线性,其目标函数通常是多峰(谷)的,具有很多局部最优解。,2模拟退火算法在管壳式换热器优化设计中的应用,8模拟退火算法的实现与应用,优化目标以换热器系统的总费用年值最小作为优化设计的目标。其中,f1(X)是两级换热器的初始投资,f2(X)是两级换热器年维护费(包括除垢、保养、维修等),f3(X)是冷却水资源费以及管程压降能耗费,f4(X)是壳程压降能耗费。,2模拟退火算法在管壳式换热器优化设计中的应用,8模拟退火算法的实现与应用,优化目标经过分析,优化问题的独立变量共12个,分别是一级换热器煤油出口温度t2、冷却水流量G1、两个换热器的管内径d1,d2和管间距S1,S2、折流板间距B1,B2、折流板开口角1,2、单管长度L1,L2。,2模拟退火算法在管壳式换热器优化设计中的应用,8模拟退火算法的实现与应用,应用模拟退火算法解决优化设计状态表示12个变量的实数表示;初始温度100;结束温度0.001;状态产生函数,为扰动幅度参数,为随机扰动变量,随机扰动可服从柯西、高斯、均匀分布。降温因子0.98;马氏链长度1200。,2模拟退火算法在管壳式换热器优化设计中的应用,8模拟退火算法的实现与应用,优化结果优化目标值0.25565E06独立变量取值,2模拟退火算法在管壳式换热器优化设计中的应用,8模拟退火算法的实现与应用,47,3问题:成组技术中加工中心的组成问题设有m台机器,要组成若干个加工中心,每个加工中心可有最多q台、最少p台机器,有n

温馨提示

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

最新文档

评论

0/150

提交评论