- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高等运筹学(第5章节).ppt
第5章 模拟退火算法
模拟退火算法(Simulated Annealing, 简称SA)是Kirkpatrick等人于1982年提出的一种适合求解大规模组合优化问题,特别是NP-难问题的通用启发式算法.
算法思想源于对固体物质退火过程的模拟;采用Metropolis接受准则;并用一组称之为冷却进度表的参数控制算法进程,使算法在多项式时间里给出一个近似最优解.
SA的物理背景:固体物质退火过程.
使算法跳离局部最优的关键:Metropolis接受准则.
算法应用的前提:冷却进度表的合理选择.
主要内容
5.1 固体退火过程和Metropolis准则
5.2 模拟退火算法的基本思想和步骤
5.3 模拟退火算法关键参数和操作的设计
5.4 模拟退火算法实现与应用
5.5 模拟退火算法的改进
5.1 固体退火过程和Metropolis准则
固体物质退火是先将固体加热至熔化,再徐徐冷却使之凝固成规整晶体的热力学过程.
固体物质的退火过程由三部分组成:
加温过程
等温过程
冷却过程
对于固体在恒定温度下达到热平衡的过程模拟,Metropolis等人在1953年提出了“重要性采样法”,即以概率接受新状态.
若EjEi则接受新状态j为当前状态(“重要”状态);
若EjEi,要依据概率 来确定.
5.2 模拟退火算法的基本思想和步骤
1. 固体退火与组合优化之间的相似性
固体退火概念与优化问题的对应关系
2.算法思想和步骤
Metropolis算法:从某一初始状态出发,通过计算系统的时间演化过程,求出系统最终达到的状态.
SA:从某个初始解出发,经过大量解的变换后,求得给定控制参数值t时优化问题的相对最优解.然后,减少t的值,重复执行Metropolis算法,就可以在t趋于零时,求得优化问题的全局最优解.
SA由与Metropolis准则对应的转移概率Pt确定是否接受从当前解xi到新解xj的转移,即
Procedure Simulated_Annealing;
Begin
任选一个初始解x0;确定初始温度t0和每一个t值下进行迭代的次数L;
xi := x0; (置初始解为当前解)
k := 0; (温度变化计数器置0)
Repeat
l := 0; (迭代次数计数器)
Repeat
从邻域N (xi)中随机选一xj;计算Δf = f (xj)-f (xi);
if (Δf≤0) then xi := xj;
else if exp(-Δf / tk) random [0, 1] then xi := xj;
l := l +1;
until l = L;
k := k+1; tk := t (k);
until 满足终止条件;
End;
3.模拟退火算法的特点分析
SA依据Metropolis准则接受新解,因此除接受优化解外,还在一定范围内接受恶化解,这正是SA与局部搜索算法的本质区别所在.
SA具有如下特点:
(1)优于局部搜索算法.
(2) 若在每个t值都达到平衡分布,且所构造的邻域结构能使解空间中的任何两个状态可达,则SA渐近收敛于全局最优解.
(3)随着控制参数t值的减小,算法返回某个全局最优解的概率单调增大.
3.初始温度
从理论上说,初始温度t0应使平稳分布中每一状态被接受的概率相等,也就是使
若取P=0.9,则在Δf = 100时,t0>949.
在实际应用中可用以下方法进行简单地估计:
(1)Δf =(目标函数值的上界)-(目标函数值的下界).
(2)随机产生若干个解,求所有解对间的目标函数差,然后取其中的最大者作为Δf.
4.温度更新函数
表示温度下降的方式并控制温度下降的速度.
常用的温度更新函数是tk+1=αtk,0α1,通常α=0.75~0.99.
5.内循环终止准则
用于决定在各温度下产生候选解的数目,即每一个tk值下进行迭代的次数L.
L往往只能取一个近似的足够大的数,如L = 100n~300n,其中n为问题的规模.
还可用如下的抽样稳定准则来判断L是否足够大:
(1)目标函数的均值是否稳定.
(2)连续若干步的目标值变化较小.
6.外循环终止准则
用于决定SA何时结束.常用的终止准则有:
(1)设定终止温度.在实际应用中,可以给定一个足够小的正数ε,当温度tk≤ε时,算法终止.
(2)给定一个确定的外循环总迭代次数.
(3)给定当前的最好解保持不变的最大连续迭代次数.
7.冷却进度表
初始温
文档评论(0)