1、模拟退火算法LOREM IPSUM DOLOR1.导论模拟退火算法(Simulated Annealing,SA)是一种通用的优化算法。目前,已在:生产调度、控制工程、计算机视觉、神经网络、图像处理等工程领域中得到了广泛应用。最早的思想是由N.Metropolis等人于1953年提出。1983年,S.Kirkpatrick等成功地将退火思想引入到组合优化领域。它是基于Monte-Carlo迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。模拟退火算法从某一较高初温出发,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最
2、优解,即在局部最优解能概率性地跳出并最终趋于全局最优。模拟退火算法是通过赋予搜索过程一种时变且最终趋于零的概率突跳性,从而可有效避免陷入局部极小并最终趋于全局最优的串行结构的优化算法。2.模拟退火算法的思想模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却;加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到某种稳定状态,基态,内能减为最小。高温高温低温低温缓缓慢下降慢下降高能状高能状态态低能状低能状态态3.模拟退火算法的思想物理退火物理退火过程程加温过程增强粒子的热运动,消除系统原先可能存在的非均匀态;等温过程对于
3、与环境换热而温度不变的封闭系统,系统状态的自发变化总是朝自由能减少的方向进行,当自由能达到最小时,系统达到平衡态;冷却过程使粒子热运动减弱并渐趋有序,系统能量逐渐下降,从而得到低能的晶体结构。退火的作用退火的作用(1)降低硬度,改善切削加工性.(2)消除残余应力,稳定尺寸,减少变形与裂纹倾向;(3)细化晶粒,调整组织,消除组织缺陷。(4)均匀材料组织和成分,改善材料性能或为以后热处理做组织准备。4.数学描述在同一个温度T,选定两个能量E10=randrom0,1 s=sj;Until 抽抽样稳定准定准则满足;足;退温退温tk+1=update(tk)并令并令k=k+1;Until 算法算法终止
4、准止准则满足;足;输出算法搜索出算法搜索结果。果。9.影响优化结果的主要因素给定定初温初温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 算法算法终止准止准则满足;足;输出算法搜索出算法搜索结果。果。10.模拟退火算法具体步骤Step1 设定初始温度定初始温度t=tmax,任任选初始解初始解r=r0Step2 内循内
5、循环 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.固定的抽固定的抽
6、样步数步数1.达到达到终止温度止温度2.达到迭代次数达到迭代次数3.最最优值连续若干步若干步保持不保持不变11.模拟退火算法的流程图初使化设定随机产生一个初始解扰动产生一个新解是否接受?修改目前解降温缩减温度 是否达到中止条件?最佳解NoYesYesYesNoNo12.算法的关键参数和操作的设定状态产生函数:原则:设计状态产生函数(邻域函数)的出发点应该是尽可能保证产生的候选解遍布全部的解空间。通常,状态产生函数由两部分组成,即产生候选解的方式和候选解产生的概率分布方法:在当前状态的邻域结构内以一定概率方式(均匀分布、正态分布、指数分布等)产生13.算法的关键参数和操作的设定状态接受函数:原则
7、:函数一般以概率的方式给出,不同接受函数的差别主要在于接受概率的形式不同。设计状态接受概率,应该遵循以下原则:(1)在固定温度下,接受使目标函数下降的候选解的概率要大于使目标函数上升的候选解概率;(2)随温度的下降,接受使目标函数上升的解的概率要逐渐减小;(3)当温度趋于零时,只能接受目标函数下降的解。方法:状态接受函数的引入是模拟退火算法实现全局搜索的最关键的因素,模拟退火算法中通常采用min1,exp(-C/t)作为状态接受函数14.算法的关键参数和操作的设定初始温度:初始温度、温度更新函数、内循环终止准则和外循环终止准则通常被称为退火历程。原则:通过理论分析可以得到初温的解析式,但解决实
8、际问题时难以得到精确的参数;实际应用时往往要让初温充分大。实验表明:初温越大,获得高质量解的机率越大,但花费较多的计算时间。方法:1)均匀抽样一组状态,以各状态目标值的方差为初温;2)随机产生一组状态,确定两两状态间的最大目标值差,根据差值,利用一定的函数确定初温,譬如 ,其中 为初始接受概率;3)利用经验公式。15.算法的关键参数和操作的设定温度更新函数:温度更新函数,即温度的下降方式,用于在外循环中修改温度值。常用的算法温度下降函数:1):越接近1温度下降越慢,且其大小可以不断变化;2):其中t0为起始温度,K为算法温度下降的总次数16.算法的关键参数和操作的设定内循环终止准则:常用的Me
9、tropolis抽样稳定准则:(1)检验目标函数的均值是否稳定;(2)连续若干步的目标值变化较小;(3)按一定的步数抽样。外循环终止准则(1)设置终止温度的阈值;(2)设置外循环迭代次数;(3)算法搜索到的最优值连续若干步保持不变;(4)概率分析方法。17.模拟退火算法的优缺点模模拟退火算法的退火算法的优点点 (1)质量高;量高;(2)初)初值鲁棒性棒性强;(3)简单、通用、易、通用、易实现。模模拟退火算法的缺点退火算法的缺点 由由于于要要求求较高高的的初初始始温温度度、较慢慢的的降降温温速速率率、较低低的的终止止温温度度,以以及及各各温温度度下下足足够多多次次的的抽抽样,因因此此优化化过程程
10、较长。18.模拟退火算法的应用3.1 30城市城市TSP问题TSP Benchmark 问题 41 94;37 84;54 67;25 62;7 64;2 99;68 58;71 44;54 62;83 69;64 60;18 54;22 60;83 46;91 38;25 38;24 42;58 69;71 71;74 78;87 76;18 40;13 40;82 7;62 32;58 35;45 21;41 26;44 35;4 5019.模拟退火算法的应用初始温度的初始温度的计算算 for i=1:100 route=randperm(CityNum);fval0(i)=CalDist
11、(dislist,route);end t0=-(max(fval0)-min(fval0)/log(0.9);20.模拟退火算法的应用状状态产生函数的生函数的设计 (1)互)互换操作,随机交操作,随机交换两个城市的两个城市的顺序;序;(2)逆序操作,两个随机位置)逆序操作,两个随机位置间的城市逆序;的城市逆序;(3)插入操作,随机)插入操作,随机选择某点插入某随机位置某点插入某随机位置。2835912815934674672859167283419567283591428359146723598146721.模拟退火算法的应用参数参数设定定 截止温度截止温度 tf=0.01;退温系数退温系数 alpha=0.90;内循内循环次数次数 L=200*CityNum;22.模拟退火算法的应用运行过程23.Thank you!24.