《模拟退火算法详解讲解ppt课件.ppt》由会员分享,可在线阅读,更多相关《模拟退火算法详解讲解ppt课件.ppt(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 w算法的提出算法的提出 模拟退火算法最早的思想由模拟退火算法最早的思想由Metropolis等(等(1953)提出,提出,1983年年Kirkpatrick等将其应用于组合优化。等将其应用于组合优化。w算法的目的算法的目的 解决解决NP复杂性复杂性问题;问题; 克服优化过程陷入局部极小;克服优化过程陷入局部极小; 克服初值依赖性。克服初值依赖性。 w物理退火过程物理退火过程 什么是退火:什么是退火: 退火是指将固体加热到足够高的温度,使分子呈随退火是指将固体加热到足够高的温度,使分子呈随机排列状态,然后逐步降温使之冷却,最后分子以机排列状态,然后逐步降温使之冷却,最后分子以低能状态排列,固体
2、达到某种稳定状态。低能状态排列,固体达到某种稳定状态。 w物理退火过程物理退火过程 加温过程加温过程增强粒子的热运动,消除系统原先可增强粒子的热运动,消除系统原先可能存在的非均匀态;能存在的非均匀态; 等温过程等温过程对于与环境换热而温度不变的封闭系对于与环境换热而温度不变的封闭系统,系统状态的自发变化总是朝自由能减少的方向统,系统状态的自发变化总是朝自由能减少的方向进行,当自由能达到最小时,系统达到平衡态;进行,当自由能达到最小时,系统达到平衡态; 冷却过程冷却过程使粒子热运动减弱并渐趋有序,系统使粒子热运动减弱并渐趋有序,系统能量逐渐下降,从而得到低能的晶体结构。能量逐渐下降,从而得到低能
3、的晶体结构。w热力学中的退火现象指物体逐渐降温时发生的物理热力学中的退火现象指物体逐渐降温时发生的物理現象:現象: 温度越低,物体的能量状态越低,到达足够的低点温度越低,物体的能量状态越低,到达足够的低点时,液体开始冷凝与结晶,在结晶状态时,系统的时,液体开始冷凝与结晶,在结晶状态时,系统的能量状态最低。缓慢降温(退火,能量状态最低。缓慢降温(退火,annealing)时,)时,可达到最低能量状态;但如果快速降温(淬火,可达到最低能量状态;但如果快速降温(淬火,quenching),会导致不是最低能态的非晶形。),会导致不是最低能态的非晶形。w大自然知道大自然知道慢工出细活慢工出细活: 缓缓降
4、温,使得物体分子在每一温度时,能够有足缓缓降温,使得物体分子在每一温度时,能够有足够时间找到安顿位置,则逐渐地,到最后可得到最够时间找到安顿位置,则逐渐地,到最后可得到最低能态,系统最稳定。低能态,系统最稳定。 w模仿自然界退火現象而得,利用了物理中固体物质模仿自然界退火現象而得,利用了物理中固体物质的的退火过程退火过程与一般与一般优化优化问题的相似性问题的相似性 从某一初始从某一初始温度温度开始,伴随温度的不断下降,结合开始,伴随温度的不断下降,结合概率突跳概率突跳特性在解空间中特性在解空间中随机随机寻找寻找全局最优解全局最优解 w数学表述数学表述 在温度在温度T,分子停留在状态,分子停留在
5、状态r满足满足Boltzmann概率分概率分布布DsBBBTksETZTZkrrEETkrETZrEEP)(exp)()(Boltzmann0)()(exp)(1)(子:为概率分布的标准化因常数。为的能量,表示状态机变量,表示分子能量的一个随 w数学表述数学表述 在在同一个温度同一个温度T,选定两个能量,选定两个能量E1E2,有,有TkEETkETZEEPEEPBB12121exp1exp)(10模拟退火算法基本思想模拟退火算法基本思想:在一定温度下,搜索从一个状态:在一定温度下,搜索从一个状态随机地变化到另一个状态;随着温度的不断下降直到最低温度,随机地变化到另一个状态;随着温度的不断下降直
6、到最低温度,搜索过程以概率搜索过程以概率1停留在最优解停留在最优解 wBoltzmanBoltzman概率分布概率分布告诉我们:告诉我们: (1)在同一个温度,分子停留在能量小状态的概率)在同一个温度,分子停留在能量小状态的概率大于停留在能量大状态的概率大于停留在能量大状态的概率 (2)温度越高,不同能量状态对应的概率相差越小;)温度越高,不同能量状态对应的概率相差越小;温度足够高时,各状态对应概率基本相同。温度足够高时,各状态对应概率基本相同。 (3)随着温度的下降,能量最低状态对应概率越来)随着温度的下降,能量最低状态对应概率越来越大;温度趋于越大;温度趋于0时,其状态趋于时,其状态趋于1
7、 w数学表述数学表述 若若|D|为状态空间为状态空间D中状态的个数,中状态的个数,D0是具有最低能是具有最低能量的状态集合:量的状态集合: 当温度很高时,每个状态概率基本相同,接近平均当温度很高时,每个状态概率基本相同,接近平均值值1/|D|; 状态空间存在超过两个不同能量时,具有最低能量状态空间存在超过两个不同能量时,具有最低能量状态的概率超出平均值状态的概率超出平均值1/|D| ; 当温度趋于当温度趋于0时,分子停留在最低能量状态的概率时,分子停留在最低能量状态的概率趋于趋于1。能量最低状态能量最低状态 非能量最低状态非能量最低状态 wMetropolis准则(准则(1953)以概率接受新
8、状态以概率接受新状态 固体在恒定温度下达到热平衡的过程可以用固体在恒定温度下达到热平衡的过程可以用Monte Carlo方法方法(计算机随机模拟方法)加以模拟,虽(计算机随机模拟方法)加以模拟,虽然该方法简单,但必须大量采样才能得到比较精确然该方法简单,但必须大量采样才能得到比较精确的结果,计算量很大。的结果,计算量很大。 wMetropolis准则(准则(1953)以概率接受新状态以概率接受新状态 若在温度若在温度T,当前状态,当前状态i 新状态新状态j 若若Ej=randrom0,1 s=sj; Until 抽样稳定准则满足;抽样稳定准则满足; 退温退温tk+1=update(tk)并令并
9、令k=k+1; Until 算法终止准则满足;算法终止准则满足; 输出算法搜索结果。输出算法搜索结果。 w影响优化结果的主要因素影响优化结果的主要因素 给定初温给定初温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 内循环内循环 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 = decre
11、ase(t) Step3.2 如不满足外循环停止条件,则转如不满足外循环停止条件,则转Step2;否则算;否则算法结束法结束1. 达到终止温度达到终止温度2. 达到迭代次数达到迭代次数3. 最优值连续若干步最优值连续若干步保持不变保持不变1. 目标函数均值稳定目标函数均值稳定2. 连续若干步的目标连续若干步的目标值变化较小值变化较小3. 固定的抽样步数固定的抽样步数w模拟退火算法的步骤模拟退火算法的步骤 w定义定义 ) 1()(Pr) 1(,) 1 (,)0()(Pr )( )(,1021inXjnXinXiXiXjnXZnkXkkXss,满足称为马尔可夫链,若随机序列时刻状态变量的取值。为间
12、,为所有状态构成的解空令 w定义定义 一步转移概率:一步转移概率: n步转移概率:步转移概率: 若解空间有限,称马尔可夫链为若解空间有限,称马尔可夫链为有限状态有限状态; 若若 ,称马尔可夫链为,称马尔可夫链为时齐的时齐的。) 1()(Pr) 1(,inXjnXnpji) 1()(,npnpZnjiji)0()(Pr)(,iXjnXpnji w模拟退火算法对应了一个马尔可夫链模拟退火算法对应了一个马尔可夫链 模拟退火算法:新状态接受概率仅依赖于新状态和模拟退火算法:新状态接受概率仅依赖于新状态和当前状态,并由温度加以控制。当前状态,并由温度加以控制。 若固定每一温度,算法均计算马氏链的变化直至
13、平若固定每一温度,算法均计算马氏链的变化直至平稳分布,然后下降温度,则称为稳分布,然后下降温度,则称为时齐算法时齐算法; 若无需各温度下算法均达到平稳分布,但温度需按若无需各温度下算法均达到平稳分布,但温度需按一定速率下降,则称为一定速率下降,则称为非时齐算法非时齐算法。w分析收敛性分析收敛性w原则原则 产生的候选解应遍布全部解空间产生的候选解应遍布全部解空间w方法方法 在当前状态的邻域结构内以一定概率方式(均匀分在当前状态的邻域结构内以一定概率方式(均匀分布、正态分布、指数分布等)产生布、正态分布、指数分布等)产生w原则原则 (1)在固定温度下,接受使目标函数下降的候选解的在固定温度下,接受
14、使目标函数下降的候选解的概率要大于使目标函数上升的候选解概率;概率要大于使目标函数上升的候选解概率; (2)随温度的下降,接受使目标函数上升的解的概率随温度的下降,接受使目标函数上升的解的概率要逐渐减小;要逐渐减小; (3)当温度趋于零时,只能接受目标函数下降的解。当温度趋于零时,只能接受目标函数下降的解。w方法方法 具体形式对算法影响不大具体形式对算法影响不大 一般采用一般采用min1,exp(-C/t)w收敛性分析收敛性分析 通过理论分析可以得到初温的解析式,但解决实际通过理论分析可以得到初温的解析式,但解决实际问题时难以得到精确的参数;问题时难以得到精确的参数; 初温应充分大;初温应充分
15、大;w实验表明实验表明 初温越大,获得高质量解的机率越大,但花费较多初温越大,获得高质量解的机率越大,但花费较多的计算时间;的计算时间;w方法方法 (1)均匀抽样一组状态,以各状态目标值得方差)均匀抽样一组状态,以各状态目标值得方差为初温;为初温; (2)随机产生一组状态,确定两两状态间的最大)随机产生一组状态,确定两两状态间的最大目标值差,根据差值,利用一定的函数确定初温;目标值差,根据差值,利用一定的函数确定初温; (3)利用经验公式。)利用经验公式。w时齐算法的温度下降函数时齐算法的温度下降函数 (1) ,越接近越接近1 1温度下降越温度下降越慢,且其大小可以不断变化;慢,且其大小可以不
16、断变化; (2) ,其中,其中t0为起始温度,为起始温度,K为算法温度为算法温度下降的总次数。下降的总次数。10 , 0 ,1kttkk0tKkKtkw非时齐模拟退火算法非时齐模拟退火算法 每个温度下只产生一个或少量候选解每个温度下只产生一个或少量候选解w时齐算法时齐算法常用的常用的Metropolis抽样稳定准则抽样稳定准则 (1)检验目标函数的均值是否稳定;)检验目标函数的均值是否稳定; (2)连续若干步的目标值变化较小;)连续若干步的目标值变化较小; (3)按一定的步数抽样。)按一定的步数抽样。w常用方法常用方法 (1)设置终止温度的阈值;)设置终止温度的阈值; (2)设置外循环迭代次数
17、;)设置外循环迭代次数; (3)算法搜索到的最优值连续若干步保持不变;)算法搜索到的最优值连续若干步保持不变; (4)概率分析方法。)概率分析方法。w模拟退火算法的优点模拟退火算法的优点 质量高;质量高; 初值鲁棒性强;初值鲁棒性强; 简单、通用、易实现。简单、通用、易实现。w模拟退火算法的缺点模拟退火算法的缺点 由于要求较高的初始温度、较慢的降温速率、较低由于要求较高的初始温度、较慢的降温速率、较低的终止温度,以及各温度下足够多次的抽样,因此的终止温度,以及各温度下足够多次的抽样,因此优化过程较长。优化过程较长。w改进的可行方案改进的可行方案 (1)设计合适的状态产生函数;)设计合适的状态产
18、生函数; (2)设计高效的退火历程;)设计高效的退火历程; (3)避免状态的迂回搜索;)避免状态的迂回搜索; (4)采用并行搜索结构;)采用并行搜索结构; (5)避免陷入局部极小,改进对温度的控制方式;)避免陷入局部极小,改进对温度的控制方式; (6)选择合适的初始状态;)选择合适的初始状态; (7)设计合适的算法终止准则。)设计合适的算法终止准则。 w改进的方式改进的方式 (1)增加升温或重升温过程,避免陷入局部极小;)增加升温或重升温过程,避免陷入局部极小; (2)增加记忆功能(记忆)增加记忆功能(记忆“Best so far”状态);状态); (3)增加补充搜索过程(以最优结果为初始解)
19、;)增加补充搜索过程(以最优结果为初始解); (4)对每一当前状态,采用多次搜索策略,以概率)对每一当前状态,采用多次搜索策略,以概率接受区域内的最优状态;接受区域内的最优状态; (5)结合其它搜索机制的算法;)结合其它搜索机制的算法; (6)上述各方法的综合。)上述各方法的综合。 w改进的思路改进的思路 (1)记录)记录“Best so far”状态,并即时更新;状态,并即时更新; (2)设置双阈值,使得在尽量保持最优性的前提下)设置双阈值,使得在尽量保持最优性的前提下减少计算量,即在各温度下当前状态连续减少计算量,即在各温度下当前状态连续 m1 步保持步保持不变则认为不变则认为Metrop
20、olis抽样稳定,若连续抽样稳定,若连续 m2 次退温次退温过程中所得最优解不变则认为算法收敛。过程中所得最优解不变则认为算法收敛。w改进的退火过程改进的退火过程 (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)步;否则,返回第步;否
21、则,返回第(2)步;步; (6)以最优解)以最优解s*作为最终解输出,停止算法。作为最终解输出,停止算法。w改进的抽样过程改进的抽样过程 (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? 若是,则转第若是,则转
22、第(5)步;否则,返回步;否则,返回第第(2)步;步; (5)将当前最优解)将当前最优解s*和当前状态和当前状态s(k)返回改进退火过程。返回改进退火过程。 wTSP 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 50w算法流程算法流程 w初始温度的计算初始温度的计
23、算 for i=1:100 route=randperm(CityNum); fval0(i)=CalDist(dislist,route); end t0=-(max(fval0)-min(fval0)/log(0.9); w状态产生函数的设计状态产生函数的设计 (1)互换操作,随机交换两个城市的顺序;)互换操作,随机交换两个城市的顺序; (2)逆序操作,两个随机位置间的城市逆序;)逆序操作,两个随机位置间的城市逆序; (3)插入操作,随机选择某点插入某随机位置。)插入操作,随机选择某点插入某随机位置。 28359146728359146728359146728159346728341956
24、7235981467w参数设定参数设定 截止温度截止温度 tf=0.01; 退温系数退温系数 alpha=0.90; 内循环次数内循环次数 L=200*CityNum; w运行过程运行过程 w运行过程运行过程 w运行过程运行过程 w运行过程运行过程 w运行过程运行过程 w运行结果运行结果 w换热器模型换热器模型 两级管壳式换热器组成的换热器系统,数学模型高两级管壳式换热器组成的换热器系统,数学模型高度非线性,其目标函数通常是多峰度非线性,其目标函数通常是多峰(谷谷)的,具有很的,具有很多局部最优解。多局部最优解。w优化目标优化目标 以换热器系统的总费用年值最小作为优化设计的目以换热器系统的总费
25、用年值最小作为优化设计的目标。标。 其中,其中,f1 (X)是两级换热器的初始投资,是两级换热器的初始投资, f2 (X)是两是两级换热器年维护费级换热器年维护费(包括除垢、保养、维修等包括除垢、保养、维修等), f3 (X)是冷却水资源费以及管程压降能耗费,是冷却水资源费以及管程压降能耗费, f4 (X)是是壳程压降能耗费。壳程压降能耗费。)()()(1)1 ()1 ()()(min4321XfXfXfiiiXfXfnnw优化目标优化目标 经过分析,优化问题的独立变量共经过分析,优化问题的独立变量共12个,分别是一个,分别是一级换热器煤油出口温度级换热器煤油出口温度t2、冷却水流量、冷却水流
26、量G1、两个换、两个换热器的管内径热器的管内径d1,d2和管间距和管间距S1,S2、折流板间距、折流板间距B1,B2、折流板开口角、折流板开口角1,2、单管长度、单管长度L1,L2。),()(min212121212112LLBBSSddGtfXfw应用模拟退火算法解决优化设计应用模拟退火算法解决优化设计 状态表示状态表示12个变量的实数表示;个变量的实数表示; 初始温度初始温度100; 结束温度结束温度0.001; 状态产生函数状态产生函数 ,为扰动幅度为扰动幅度参数,参数,为随机扰动变量,随机扰动可服从柯西、高为随机扰动变量,随机扰动可服从柯西、高斯、均匀分布。斯、均匀分布。 降温因子降温因子0.98; 马氏链长度马氏链长度1200。)() 1(kxkxw优化结果优化结果 优化目标值优化目标值0.25565E06 独立变量取值独立变量取值t2G1Kg/sd1mmS1mmB1m1弧度64.419415.9716615.5716334.097160.924361.93421L1md2mmS2mmB2m2弧度L2m5.9423416.7793527.740120.729532.199285.78314