模拟退火算法(自学材料)_第1页
模拟退火算法(自学材料)_第2页
模拟退火算法(自学材料)_第3页
模拟退火算法(自学材料)_第4页
模拟退火算法(自学材料)_第5页
已阅读5页,还剩43页未读, 继续免费阅读

下载本文档

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

文档简介

1、模拟退火法模拟退火法 算法的提出算法的提出 模拟退火算法最早的思想由模拟退火算法最早的思想由Metropolis(梅特罗波利梅特罗波利斯斯)等(等(1953)提出,)提出,1983年年Kirkpatrick等将其应等将其应用于组合优化。用于组合优化。算法的目的算法的目的 解决解决NP复杂性问题;复杂性问题; 克服优化过程陷入局部极小;克服优化过程陷入局部极小; 克服初值依赖性。克服初值依赖性。什么是退火:什么是退火: 退火是指将固体加热到足够高的温度,使分子呈随退火是指将固体加热到足够高的温度,使分子呈随机排列状态,然后逐步降温使之冷却,最后分子以机排列状态,然后逐步降温使之冷却,最后分子以低

2、能状态排列,固体达到某种稳定状态。低能状态排列,固体达到某种稳定状态。 等温过程对于与环境换热而温度不变的封闭系统,系统状态的自发变化总是朝自由能减少的方向进行,当自由能达到最小时,系统达到平衡态;物理退火过程物理退火过程 加温过程加温过程增强粒子的热运动,消除系统原先可能增强粒子的热运动,消除系统原先可能存在的非均匀态;存在的非均匀态; 冷却过程冷却过程使粒子热运动减弱并渐趋有序,系统能使粒子热运动减弱并渐趋有序,系统能量逐渐下降,从而得到低能的晶体结构。量逐渐下降,从而得到低能的晶体结构。 数学表述数学表述 在温度在温度T,分子停留在状态,分子停留在状态r满足满足Boltzmann概率分布

3、概率分布DsBBBTksETZTZkrrEETkrETZrEEP)(exp)()(Boltzmann0)()(exp)(1)(子:为概率分布的标准化因常数。为的能量,表示状态机变量,表示分子能量的一个随 数学表述数学表述 在在同一个温度同一个温度T,选定两个能量,选定两个能量E1E2,有,有 TkEETkETZEEPEEPBB12121exp1exp)(10 在同一个温度,分子停留在能量小的状态的概率比停留在同一个温度,分子停留在能量小的状态的概率比停留在能量大的状态的概率要大。在能量大的状态的概率要大。 若若|D|为状态空间为状态空间D中状态的个数,中状态的个数,D0是具有最低能量的状是具有

4、最低能量的状态集合:态集合: 1、当温度很高时,每个状态概率基本相同,接近平均值、当温度很高时,每个状态概率基本相同,接近平均值1/|D|; 2、状态空间存在超过两个不同能量时,具有最低能量状、状态空间存在超过两个不同能量时,具有最低能量状态的概率超出平均值态的概率超出平均值1/|D| ; 3、当温度趋于、当温度趋于0时,分子停在最低能量状态概率趋于时,分子停在最低能量状态概率趋于1。能量最低状态能量最低状态非能量最低状态非能量最低状态TkrETZrEEPB)(exp)(1)(数学表述数学表述 Metropolis准则(准则(1953)以概率接受新状态以概率接受新状态 固体在恒定温度下达到热平

5、衡的过程可以用固体在恒定温度下达到热平衡的过程可以用Monte Carlo方法方法(计算机随机模拟方法)加以模拟,虽然该方法简(计算机随机模拟方法)加以模拟,虽然该方法简单,但必须大量采样才能得到比较精确的结果,计算量单,但必须大量采样才能得到比较精确的结果,计算量很大。很大。 否则,以概率否则,以概率 p=exp-(Ej-Ei)/kBT 接受接受 j 为当前状态。为当前状态。Metropolis准则(准则(1953)以概率接受新状态以概率接受新状态 若在温度若在温度T,当前状态,当前状态i 新状态新状态j 若若Ej=randrom0,1 s=sj; Until 抽样稳定准则满足;抽样稳定准则

6、满足; 退温退温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 算法终止准则满足;算法终止

7、准则满足; 输出算法搜索结果。输出算法搜索结果。三函数两准则三函数两准则初始温度初始温度原则原则 产生的候选解应遍布全部解空间产生的候选解应遍布全部解空间(保证全局最优解保证全局最优解)方法方法 在当前状态的邻域结构内以一定概率方式(均匀分在当前状态的邻域结构内以一定概率方式(均匀分布、正态分布、指数分布等)产生布、正态分布、指数分布等)产生原则原则 (1)在固定温度下,接受使目标函数下降的候选解的概在固定温度下,接受使目标函数下降的候选解的概率要大于使目标函数上升的候选解概率;率要大于使目标函数上升的候选解概率; (2)随温度的下降,接受使目标函数上升的解的概率要随温度的下降,接受使目标函数

8、上升的解的概率要逐渐减小;逐渐减小; (3)当温度趋于零时,只能接受目标函数下降的解。当温度趋于零时,只能接受目标函数下降的解。方法方法 具体形式对算法影响不大具体形式对算法影响不大, 一般采用一般采用min1,exp(-C/t)收敛性分析收敛性分析 通过理论分析可以得到初温的解析式,但解决实际通过理论分析可以得到初温的解析式,但解决实际问题时难以得到精确的参数;问题时难以得到精确的参数; 初温应充分大;初温应充分大;实验表明实验表明 初温越大,获得高质量解的机率越大,但花费较多初温越大,获得高质量解的机率越大,但花费较多的计算时间;的计算时间;方法方法1.均匀抽样一组状态,以各状态目标值得方

9、差为初温;均匀抽样一组状态,以各状态目标值得方差为初温;2.随机产生一组状态,确定两两状态间的最大目标值随机产生一组状态,确定两两状态间的最大目标值 差,根据差值,利用一定的函数确定初温;差,根据差值,利用一定的函数确定初温;3.利用经验公式。利用经验公式。时齐算法的温度下降函数时齐算法的温度下降函数 (1) ,越接近越接近1温度下降越慢,温度下降越慢,且其大小可以不断变化;且其大小可以不断变化; (2) ,其中,其中t0为起始温度,为起始温度,K为算法温度下降的为算法温度下降的总次数。总次数。10 , 0 ,1kttkk0tKkKtk若固定每一温度,算法均计算至平稳分布,然后下降温度,则称为

10、时齐若固定每一温度,算法均计算至平稳分布,然后下降温度,则称为时齐算法;算法;若无需各温度下算法均达到平稳分布,但温度需按一定速率下降,则称若无需各温度下算法均达到平稳分布,但温度需按一定速率下降,则称为非时齐算法。为非时齐算法。非时齐模拟退火算法非时齐模拟退火算法 每个温度下只产生一个或少量候选解每个温度下只产生一个或少量候选解时齐算法时齐算法常用的常用的Metropolis抽样稳定准则抽样稳定准则 (1)检验目标函数的均值是否稳定;)检验目标函数的均值是否稳定; (2)连续若干步的目标值变化较小;)连续若干步的目标值变化较小; (3)按一定的步数抽样。)按一定的步数抽样。常用方法常用方法

11、(1)设置终止温度的阈值;)设置终止温度的阈值; (2)设置外循环迭代次数;)设置外循环迭代次数; (3)算法搜索到的最优值连续若干步保持不变;)算法搜索到的最优值连续若干步保持不变; (4)概率分析方法。)概率分析方法。模拟退火算法的优点模拟退火算法的优点 质量高;质量高; 初值鲁棒性强;初值鲁棒性强; 简单、通用、易实现。简单、通用、易实现。模拟退火算法的缺点模拟退火算法的缺点 由于要求较高的初始温度、较慢的降温速率、较低的由于要求较高的初始温度、较慢的降温速率、较低的终止温度,以及各温度下足够多次的抽样,因此优化终止温度,以及各温度下足够多次的抽样,因此优化过程较长。过程较长。 TSP

12、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 50算法流程算法流程 初始温度的计算初始温度的计算 for i=1:100 route=randperm(CityNum); fval0(i)=CalDist(dislist,route); end t0=-(max(f

13、val0)-min(fval0)/log(0.9); 状态产生函数的设计状态产生函数的设计 (1)互换操作,随机交换两个城市的顺序;)互换操作,随机交换两个城市的顺序; (2)逆序操作,两个随机位置间的城市逆序;)逆序操作,两个随机位置间的城市逆序; (3)插入操作,随机选择某点插入某随机位置。)插入操作,随机选择某点插入某随机位置。 283591467283591467283591467281593467283419567235981467参数设定参数设定 截止温度截止温度 tf=0.01; 退温系数退温系数 alpha=0.90; 内循环次数内循环次数 L=200*CityNum; 运行过

14、程运行过程 运行过程运行过程 运行过程运行过程 运行过程运行过程 运行过程运行过程 运行结果运行结果 改进的可行方案改进的可行方案 (1)设计合适的状态产生函数;)设计合适的状态产生函数; (2)设计高效的退火历程;)设计高效的退火历程; (3)避免状态的迂回搜索;)避免状态的迂回搜索; (4)采用并行搜索结构;)采用并行搜索结构; (5)避免陷入局部极小,改进对温度的控制方式;)避免陷入局部极小,改进对温度的控制方式; (6)选择合适的初始状态;)选择合适的初始状态; (7)设计合适的算法终止准则。)设计合适的算法终止准则。 改进的方式改进的方式 (1)增加升温或重升温过程,避免陷入局部极小

15、;)增加升温或重升温过程,避免陷入局部极小; (2)增加记忆功能(记忆)增加记忆功能(记忆“Best so far”状态);状态); (3)增加补充搜索过程(以最优结果为初始解);)增加补充搜索过程(以最优结果为初始解); (4)对每一当前状态,采用多次搜索策略,以概率接)对每一当前状态,采用多次搜索策略,以概率接受区域内的最优状态;受区域内的最优状态; (5)结合其它搜索机制的算法;)结合其它搜索机制的算法; (6)上述各方法的综合。)上述各方法的综合。 改进的思路改进的思路 (1)记录)记录“Best so far”状态,并即时更新;状态,并即时更新; (2)设置双阈值,使得在尽量保持最优

16、性的前提下减)设置双阈值,使得在尽量保持最优性的前提下减少计算量,即在各温度下当前状态连续少计算量,即在各温度下当前状态连续 m1 步保持不步保持不变则认为变则认为Metropolis抽样稳定,若连续抽样稳定,若连续 m2 次退温过次退温过程中所得最优解不变则认为算法收敛。程中所得最优解不变则认为算法收敛。改进的退火过程改进的退火过程 (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*作为最终解输出,停止算法。作为最终解输出,停止算法。改进的抽样过程改进的抽样过程 (1)令)令k=0时的初始当前状态为时的初始当前状态为s(0)=s(i),q=0; (2)由

温馨提示

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

最新文档

评论

0/150

提交评论