模拟退火算法详解1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.1 模拟退火算法及模型
3.1.1 物理退火过程
I.
当 Tk =100时
Pi E k Ck e
90 100
Pj E k
Ck e
0.406 0.367
100 100
u 0.406 C k
0.367 C k
现代优化计算
3.1 模拟退火算法及模型
3.1.1 物理退火过程
Exp((新的解-当前解)/T)=exp(-6/2000) Random[0,1]=0.99,拒绝新的解
T: 温度 Th:最高温度 t: 最低温度 BS:已经找到的 最好解 T=Th 求得初始解 BS=初始解 n=0 求得新的解 是 Start 接受新的解 用新的解替换 当前解; n=n+1
BS
Sequence The length of the route 132456 28
T: 温度 Th:最高温度 t: 最低温度 BS:已经找到的 最好解 T=Th 求得初始解 BS=初始解 n=0 求得新的解 是 Start 接受新的解 用新的解替换 当前解; n=n+1
N:某一温度下达 到平衡的搜索次 数
终止温度T f ,令迭代指标 k 0, Tk T0 。 注:选择 T0 时,要足够高,使
Ei Tk 0
②
j N i , N i 表示i的邻域 随机产生一个邻域解,
计算目标值增量 f f j f i
现代优化计算
3.1 模拟退火算法及模型
3.1.3 模拟退火算法的基本思想和步骤
现代优化计算
3.1 模拟退火算法及模型
3.1.1 物理退火过程
数学表述
在同一个温度T,选定两个能量E1<E2,有
E1 E2 E1 1 P{E E1} P{E E2 } exp 1 exp Z (T ) k BT k BT
次数N:根据计算耗时来确定),否则转步②。
现代优化计算
3.1 模拟退火算法及模型
3.1.3 模拟退火算法的基本思想和步骤
⑤ k k 1降低 Tk ,若 Tk T f
停止,否则转步②。
注:降低 Tk 的方法有以下两种 . 较好的方法Tk 1 Tk r 其中 r 0.95 0.99 。
现代优化计算
3.1 模拟退火算法及模型
3.1.1 物理退火过程
模仿自然界退火現象而得,利用了物理中固体物质
的退火过程与一般优化问题的相似性 从某一初始温度开始,伴随温度的不断下降,结合 概率突跳特性在解空间中随机寻找全局最优解
现代优化计算
3.1 模拟退火算法及模型
3.1.1 物理退火过程
数学表述
否
新的解比 当前解好? 否
T=rT
否 T<=t? 是 End
exp T random[01] ,
是
Example
Traveling Salesman Problem (TSP)
Given 6 cities and the traveling cost
between any two cities A salesman need to start from city 1 and travel all other cities then back to city 1 Minimize the total traveling cost
3.1 模拟退火算法及模型
3.1.1 物理退火过程
热力学中的退火现象指物体逐渐降温时发生的物理
現象: 温度越低,物体的能量状态越低,到达足够的低点 时,液体开始冷凝与结晶,在结晶状态时,系统的 能量状态最低。缓慢降温(退火,annealing)时, 可达到最低能量状态;但如果快速降温(淬火, quenching),会导致不是最低能态的非晶形。 为什么缓慢降温: 缓缓降温,使得物体分子在每一温度时,能够有足 够时间找到安顿位臵,则逐渐地,到最后可得到最 低能态,系统最稳定。
TSP算例
City to city
1 1
2 2
3 4
4 7
5 9
6 10
2
3 4
11
2
6
13
8 6
8
13 9
5
6
5
SA parameter setting
Th=2000
t=10
r=0.6 N=2 生成新的解:随机选择两个位置,交换其表
示的城市
T: 温度 Th:最高温度 t: 最低温度 BS:已经找到的 最好解 T=Th 求得初始解 BS=初始解 n=0 求得新的解 是 Start 接受新的解 用新的解替换 当前解; n=n+1
N:某一温度下达 到平衡的搜索次 数
新的解比BS好? 是 BS=新的解 是 n<N? 否
否
新的解比 当前解好? 否 否
T=rT
否 T<=t? 是 End
exp T random[01] ,
是
求得初始解 BS=初始解
初始解 温度T=2000 n=0
Sequence The length of the route 132456 28
N:某一温度下达 到平衡的搜索次 数
新的解比BS好? 是 BS=新的解 是 n<N? 否
否
新的解比 当前解好? 否 否
T=rT
否 T<=t? 是 End
exp T random[01] ,
是
当前解
Sequence The length of the route 132456 28
优点:简单易行 . Tk 1 Tk T 流程框图见下页
T: 温度
Th:最高温度 t: 最低温度 BS:已经找到的 最好解 N:某一温度下达 到平衡的搜索次数
Start T=Th 求得初始解 BS=初始解 n=0 求得新的解 是
接受新的解 用新的解替换 当前解; n=n+1
新的解比BS好? 是 BS=新的解 是 n<N? 否
BS:已经找 到的最好解
N:某一温度 下达到平衡 的搜索次数
新的解比BS好? 是 BS=新的解 是 n<N? 否
否
新的解比 当前解好? 否 否
T=rT
否 T<=t? 是 End
exp T random[01] ,
是
当前解
温度T=2000 n=1
Sequence The length of the route 123456 30
在温度T,分子停留在状态r满足Boltzmann概率分 布
E (r ) 1 P{E E (r )} exp Z (T ) k T B E 表示分子能量的一个随 机变量,E (r )表示状态r的能量, k B 0为Boltzmann 常数。Z (T )为概率分布的标准化因 子: E ( s) Z (T ) exp k T sD B
>0
<1
模拟退火算法基本思想:在一定温度下,搜索从一个状态
随机地变化到另一个状态;随着温度的不断下降直到最低温度, 搜索过程以概率1停留在最优解
现代优化计算
3.1 模拟退火算法及模型
3.1.1 物理退火过程
温度 Tk 对 Pi E r 的影响
①
当 Tk 很大时,Ei 0 T
k
n SA开始做广域搜索,随着温度的下降 Pi E i 差别
现代优化计算
第三章 模拟退火算法
现代优化计算
3.1 模拟退火算法及模型
3.1.1 物理退火过程 3.1.2 组合优化与物理退火的相似性 3.1.3 模拟退火算法的基本思想和步骤
3.2 模拟退火算法的关键参数和操作的设计
3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 状态产生函数 状态接受函数 初温 温度更新函数 内循环终止准则 外循环终止准则
Pi E i 1
,各状态的概率几乎相等
扩大
现代优化计算
3.1 模拟退火算法及模型
3.1.1 物理退火过程
E ② 当 Tk 0 时, i T k
E i 与 E j 的小差别带来 Pi Tk 和 Pj Tk 的巨大差别
例如: Ei =90, E j =100,
现代优化计算
新的解
Sequence The length of the route 123456 30
Exp((新的解-当前解)/T)=exp(-2/2000)
Random[0,1]=0.7
T: 温度 Th:最高温度 t: 最低温度 Start T=Th 求得初始解 BS=初始解 n=0 求得新的解 是 接受新的解 用新的解替换 当前解; n=n+1
物理退火过程
加温过程——增强粒子的热运动,消除系统原先可 能存在的非均匀态;
等温过程——对于与环境换热而温度不变的封闭系 统,系统状态的自发变化总是朝自由能减少的方向 进行,当自由能达到最小时,系统达到平衡态;
冷却过程——使粒子热运动减弱并渐趋有序,系统 能量逐渐下降,从而得到低能的晶体结构。
现代优化计算
II.
当Tk =1时
Pi E k 8.194 10 40 C k 20000 44 Pj E k 3.72 10 C k
此时 结论:
Pi E k i
1
n
Pi E k
Tk 0
时,以概率1趋于最小能量状态
现代优化计算
3.1 模拟退火算法及模型 3.1.1 物理退火过程
BS
Sequence The length of the route 132456 28
新的解
Sequence The length of the route 123456 30
T: 温度 Th:最高温度 t: 最低温度 BS:已经找到的 最好解 T=Th 求得初始解 BS=初始解 n=0 求得新的解 是 Start 接受新的解 用新的解替换 当前解; n=n+1
克服初值依赖性。
现代优化计算
3.1 模拟退火算法及模型
3.1.1 物理退火过程
物理退火过程
什么是退火:
退火是指将固体加热到足够高的温度,使分子呈随 机排列状态,然后逐步降温使之冷却,最后分子以 低能状态排列,固体达到某种稳定状态。
现代优化计算
3.1 模拟退火算法及模型
3.1.1 物理退火过程
新的解比BS好? 是 BS=新的解 是 n<N? 否
否
新的解比 当前解好? 否 否
T=rT
否 T<=t? 是 End
exp T random[01] ,
是
当前解
Sequence The length of the route 123456 30
新的解
Sequence The length of the route 123546 36
Boltzman概率分布告诉我们:
(1)在同一个温度,分子停留在能量小状态的概率 大于停留在能量大状态的概率 (2)温度越高,不同能量状态对应的概率相差越小; 温度足够高时,各状态对应概率基本相同。 (3)随着温度的下降,能量最低状态对应概率越来 越大;温度趋于0时,其状态趋于1
现代优化计算
3.1 模拟退火算法及模型
3.3 模拟退火算法的改进
3.3.1 模拟退火算法的优缺点 3.3.2 改进内容
现代优化计算
3.1 模拟退火算法及模型
3.1.1 物理退火过程
算法的提出
模拟退火算法最早的思想由Metropolis等(1953) 提出,1983年Kirkpatrick等将其应用于组合优化。
算法的目的
解决NP复杂性问题; 克服优化过程陷入局部极小;
③
若 f 0, 令 i j 转步④
(j比i好无条件转
f , 移) ;否则产生 U 0,1 , 若 exp T k 则令 i j (j比i好,有条件转移)。
注:Tk 高时,广域搜索;Tk 低时,局域搜索
④
若达到热平衡转步⑤(每个特定温度下的搜索
3.1.1 物理退火过程
数学表述
能量最低状态
非能量最低状态
若|D|为状态空间D中状态的个数,D0是具有最低能 量的状态集合:
当温度很高时,每个状态概率基本相同,接近平均 值1/|D|; 状态空间存在超过两个不同能量时,具有最低能量 状态的概率超出平均值1/|D| ; 当温度趋于0时,分子停留在最低能量状态的概率 趋于1。
现代优化计算
Βιβλιοθήκη Baidu
3.1 模拟退火算法及模型
3.1.2 组合优化与物理退火的相似性
相似性比较
组合优化问题 解 最优解 金属物体 粒子状态 能量最低的状态
目标函数
能量
现代优化计算
3.1 模拟退火算法及模型
3.1.3 模拟退火算法的基本思想和步骤
SA的计算步骤
①
初始化,任选初始解, i S ,给定初始温度 T0 ,