- 1. 1 模拟退火算法及模型
1.1 物理退火过程
1.2 组合优化与物理退火的相似性
1.3 模拟退火算法的基本思想和步骤
2 模拟退火算法的关键参数和操作的设计
2.1 状态产生函数
2.2 状态接受函数
2.3 初温
2.4 温度更新函数
2.5 内循环终止准则
2.6 外循环终止准则 模拟退火算法
- 2. 1 模拟退火算法及模型 算法的提出
模拟退火算法最早的思想由Metropolis等(1953)提出,1983年Kirkpatrick等将其应用于组合优化。
算法的目的
解决NP复杂性问题;
克服优化过程陷入局部极小;
克服初值依赖性。 1.1 物理退火过程
- 3. 1 模拟退火算法及模型 物理退火过程
退火是指将固体加热到足够高的温度,使分子呈随机排列状态,然后逐步降温使之冷却,最后分子以低能状态排列,固体达到某种稳定状态。 1.1 物理退火过程
- 4. 1 模拟退火算法及模型 物理退火过程
加温过程——增强粒子的热运动,消除系统原先可能存在的非均匀态;
等温过程——对于与环境换热而温度不变的封闭系统,系统状态的自发变化总是朝自由能减少的方向进行,当自由能达到最小时,系统达到平衡态;
冷却过程——使粒子热运动减弱并渐趋有序,系统能量逐渐下降,从而得到低能的晶体结构。 1.1 物理退火过程
- 5. 热力学中的退火现象指物体逐渐降温时发生的物理現象:
温度越低,物体的能量状态越低,到达足够的低点时,液体开始冷凝与结晶,在结晶状态时,系统的能量状态最低。缓慢降温(退火,annealing)时,可达到最低能量状态;但如果快速降温(淬火,quenching),会导致不是最低能态的非晶形。
大自然知道慢工出细活:
缓缓降温,使得物体分子在每一温度时,能够有足够时间找到安顿位置,则逐渐地,到最后可得到最低能态,系统最稳定。1 模拟退火算法及模型 3.1.1 物理退火过程
- 6. 模仿自然界退火現象而得,利用了物理中固体物质的退火过程与一般优化问题的相似性
从某一初始温度开始,伴随温度的不断下降,结合概率突跳特性在解空间中随机寻找全局最优解
1 模拟退火算法及模型 1.1 物理退火过程
- 7. 1 模拟退火算法及模型 数学表述
在温度T,分子停留在状态r满足Boltzmann概率分布 1.1 物理退火过程
- 8. 1 模拟退火算法及模型 数学表述
在同一个温度T,选定两个能量E1<E2,有
1.1 物理退火过程<1>0模拟退火算法基本思想:在一定温度下,搜索从一个状态随机地变化到另一个状态;随着温度的不断下降直到最低温度,搜索过程以概率1停留在最优解
- 9. 1 模拟退火算法及模型 1.1 物理退火过程Boltzman概率分布告诉我们:
(1)在同一个温度,分子停留在能量小状态的概率大于停留在能量大状态的概率
(2)温度越高,不同能量状态对应的概率相差越小;温度足够高时,各状态对应概率基本相同。
(3)随着温度的下降,能量最低状态对应概率越来越大;温度趋于0时,其状态趋于1
- 10. 1 模拟退火算法及模型 数学表述
若|D|为状态空间D中状态的个数,D0是具有最低能量的状态集合:
当温度很高时,每个状态概率基本相同,接近平均值1/|D|;
状态空间存在超过两个不同能量时,具有最低能量状态的概率超出平均值1/|D| ;
当温度趋于0时,分子停留在最低能量状态的概率趋于1。 1.1 物理退火过程能量最低状态 非能量最低状态
- 11. 1 模拟退火算法及模型 Metropolis准则(1953)——以概率接受新状态
固体在恒定温度下达到热平衡的过程可以用Monte Carlo方法(计算机随机模拟方法)加以模拟,虽然该方法简单,但必须大量采样才能得到比较精确的结果,计算量很大。 1.1 物理退火过程
- 12. 1 模拟退火算法及模型 Metropolis准则(1953)——以概率接受新状态
若在温度T,当前状态i → 新状态j
若Ej<Ei,则接受 j 为当前状态;
否则,若概率 p=exp[-(Ej-Ei)/kBT] 大于[0,1)区间的随机数,则仍接受状态 j 为当前状态;若不成立则保留状态 i 为当前状态。 1.1 物理退火过程
- 13. 1 模拟退火算法及模型 Metropolis准则(1953)——以概率接受新状态
p=exp[-(Ej-Ei)/kBT]
在高温下,可接受与当前状态能量差较大的新状态;
在低温下,只接受与当前状态能量差较小的新状态。 1.1 物理退火过程
- 14. 1 模拟退火算法及模型 组合优化问题金属物体解粒子状态最优解能量最低的状态设定初温熔解过程Metropolis抽样过程等温过程控制参数的下降冷却目标函数能量相似性比较
1.2 组合优化与物理退火的相似性
- 15. 1 模拟退火算法及模型 基本步骤
给定初温t=t0,随机产生初始状态s=s0,令k=0;
Repeat
Repeat
产生新状态sj=Genete(s);
if min{1,exp[-(C(sj)-C(s))/tk]}>=randrom[0,1] s=sj;
Until 抽样稳定准则满足;
退温tk+1=update(tk)并令k=k+1;
Until 算法终止准则满足;
输出算法搜索结果。 1.3 模拟退火算法的基本思想和步骤
- 16. 1 模拟退火算法及模型 影响优化结果的主要因素
给定初温t=t0,随机产生初始状态s=s0,令k=0;
Repeat
Repeat
产生新状态sj=Genete(s);
if min{1,exp[-(C(sj)-C(s))/tk]}>=randrom[0,1] s=sj;
Until 抽样稳定准则满足;
退温tk+1=update(tk)并令k=k+1;
Until 算法终止准则满足;
输出算法搜索结果。 1.3 模拟退火算法的基本思想和步骤三函数两准则
初始温度
- 17. 2 模拟退火算法关键参数和操作的设计原则
产生的候选解应遍布全部解空间
方法
在当前状态的邻域结构内以一定概率方式(均匀分布、正态分布、指数分布等)产生 2.1 状态产生函数
- 18. 3.3 模拟退火算法关键参数和操作的设计原则
(1)在固定温度下,接受使目标函数下降的候选解的概率要大于使目标函数上升的候选解概率;
(2)随温度的下降,接受使目标函数上升的解的概率要逐渐减小;
(3)当温度趋于零时,只能接受目标函数下降的解。
方法
具体形式对算法影响不大
一般采用min[1,exp(-∆C/t)] 2.2 状态接受函数
- 19. 2 模拟退火算法关键参数和操作的设计收敛性分析
通过理论分析可以得到初温的解析式,但解决实际问题时难以得到精确的参数;
初温应充分大;
实验表明
初温越大,获得高质量解的机率越大,但花费较多的计算时间; 2.3 初温
- 20. 2 模拟退火算法关键参数和操作的设计方法
(1)均匀抽样一组状态,以各状态目标值的方差为初温;
(2)随机产生一组状态,确定两两状态间的最大目标值差,根据差值,利用一定的函数确定初温;
(3)利用经验公式。 2.3 初温
- 21. 2 模拟退火算法关键参数和操作的设计温度下降函数
(1) ,α越接近1温度下降越慢,且其大小可以不断变化;
(2) ,其中t0为起始温度,K为算法温度下降的总次数。 2.4 温度更新函数
- 22. 2 模拟退火算法关键参数和操作的设计常用的Metropolis抽样稳定准则
(1)检验目标函数的均值是否稳定;
(2)连续若干步的目标值变化较小;
(3)按一定的步数抽样。 2.5 内循环终止准则
- 23. 2 模拟退火算法关键参数和操作的设计常用方法
(1)设置终止温度的阈值;
(2)设置外循环迭代次数;
(3)算法搜索到的最优值连续若干步保持不变;
(4)概率分析方法。 2.6 外循环终止准则