模拟退火原理

1.1  算法简介
模拟退火算法得益于材料的统计力学的研究成果。统计力学表明材料中粒子的不
同结构对应于粒子的不同能量水平。在高温条件下,粒子的能量较高,可以自由运动和
重新排列。在低温条件下,粒子能量较低。如果从高温开始,非常缓慢地降温(这个过
程被称为退火),粒子就可以在每个温度下达到热平衡。当系统完全被冷却时,最终形
成处于低能状态的晶体。
如果用粒子的能量定义材料的状态,Metropolis算法用一个简单的数学模型描述了
退火过程。假设材料在状态i之下的能量为 ) (i E ,那么材料在温度T时从状态i进入状
态j就遵循如下规律:
(1)如果 ) ( ) ( i E j E ≤ ,接受该状态被转换。
(2)如果 ) ( ) ( i E j E > ,则状态转换以如下概率被接受:
KT
j E i E
e
) ( ) ( −
其中K是物理学中的波尔兹曼常数,T是材料温度。
在某一个特定温度下,进行了充分的转换之后,材料将达到热平衡。这时材料处
于状态i的概率满足波尔兹曼分布:




= =
S j
KT
j E
KT
i E
T
e
e
i x P
) (
) (
) (
其中x表示材料当前状态的随机变量,S表示状态空间集合。
显然
| |
1
lim
) (
) (
S
e
e
S j
KT
j E
KT
i E
T
=




∞ →
-272-其中 | | S 表示集合S中状态的数量。这表明所有状态在高温下具有相同的概率。而当温
度下降时,
∑ ∑ ∑















+
=
min
min
min
min
min
min
min
) ( ) (
) (
0
) (
) (
0
lim lim
S j
KT
E j E
S j
KT
E j E
KT
E i E
T
S j
KT
E j E
KT
E i E
T
e e
e
e
e






= =







其它

0
| |
1
lim
min
min ) (
) (
0
min
min
min
S i
S
e
e
S j
KT
E j E
KT
E i E
T
其中 ) ( min min
j E E
S j∈
= 且 } ) ( | {
min min E i E i S = = 。
上式表明当温度降至很低时,材料会以很大概率进入最小能量状态。
假定我们要解决的问题是一个寻找最小值的优化问题。将物理学中模拟退火的思
想应用于优化问题就可以得到模拟退火寻优方法。
考虑这样一个组合优化问题:优化函数为
+ →R x f : ,其中 S x∈ ,它表示优化
问题的一个可行解, } 0 , | { > ∈ =
+
y R y y R ,S表示函数的定义域。 S x N ⊆ ) ( 表示x
的一个邻域集合。
首先给定一个初始温度0 T和该优化问题的一个初始解 ) 0 ( x ,并由 ) 0 ( x 生成下一个
解 )) 0 ( ( ' x N x∈ ,是否接受' x作为一个新解 ) 1 ( x 依赖于下面概率:




⎧ <
= → −

其它

)) 0 ( ( ) ' (
0
)) 0 ( ( ) ' (       1
) ' ) 0 ( (
T
x f x f
e
x f x f
x x P
换句话说,如果生成的解' x的函数值比前一个解的函数值更小,则接受 ' ) 1 ( x x = 作为
一个新解。否则以概率 0
)) 0 ( ( ) ' (
T
x f x f
e


接受' x作为一个新解。
泛泛地说,对于某一个温度i T和该优化问题的一个解 ) (k x ,可以生成' x。接受' x
作为下一个新解 ) 1 ( + k x 的概率为:




⎧ <
= → −

其它

)) ( ( ) ' (
0
)) ( ( ) ' (       1
) ' ) ( (
T
k x f x f
e
k x f x f
x k x P   (1)
在温度i T下,经过很多次的转移之后,降低温度i T,得到 i i T T < +1 。在 1 + i T 下重复上述
过程。因此整个优化过程就是不断寻找新解和缓慢降温的交替过程。最终的解是对该问
题寻优的结果。
我们注意到,在每个i T下,所得到的一个新状态 ) 1 ( + k x 完全依赖于前一个状态
) (k x ,可以和前面的状态 ) 1 ( , ), 0 ( − k x x L 无关,因此这是一个马尔可夫过程。使用马
尔可夫过程对上述模拟退火的步骤进行分析,结果表明:从任何一个状态 ) (k x 生成' x的
概率,在 )) ( ( k x N 中是均匀分布的,且新状态' x被接受的概率满足式(1),那么经过
有限次的转换,在温度i T下的平衡态i
x的分布由下式给出: 
-273-∑



=
S j
T
x f
T
x f
i i
i
i
i
e
e
T P
) (
) (
) (   (2)
当温度T降为0时,i
x的分布为:






=
其它

0
| |
1
min
min
*
S x
S P
i
i
并且
1
min
*
= ∑
∈S x
i
i
P
这说明如果温度下降十分缓慢,而在每个温度都有足够多次的状态转移,使之在每一个
温度下达到热平衡,则全局最优解将以概率1被找到。因此可以说模拟退火算法可以找
到全局最优解。
在模拟退火算法中应注意以下问题:
(1)理论上,降温过程要足够缓慢,要使得在每一温度下达到热平衡。但在计算
机实现中,如果降温速度过缓,所得到的解的性能会较为令人满意,但是算法会太慢,
相对于简单的搜索算法不具有明显优势。如果降温速度过快,很可能最终得不到全局最
优解。因此使用时要综合考虑解的性能和算法速度,在两者之间采取一种折衷。
(2)要确定在每一温度下状态转换的结束准则。实际操作可以考虑当连续m次的
转换过程没有使状态发生变化时结束该温度下的状态转换。最终温度的确定可以提前定
为一个较小的值e T,或连续几个温度下转换过程没有使状态发生变化算法就结束。
(3)选择初始温度和确定某个可行解的邻域的方法也要恰当
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值