当前位置:文档之家› 模拟退火算法的教程

模拟退火算法的教程


6 模拟退火算法关键参数和操作的设计 状态产生函数

原则
产生的候选解应遍布全部解空间

方法 在当前状态的邻域结构内以一定概率方式(均匀分 布、正态分布、指数分布等)产生

6 模拟退火算法关键参数和操作的设计 状态接受函数

原则
(1)在固定温度下,接受使目标函数下降的候选解的 概率要大于使目标函数上升的候选解概率;

6 模拟退火算法关键参数和操作的设计
温度更新函数

温度下降函数
(1) tk 1 tk , k 0, 0 1 ,α越接近1温度下降越 慢,且其大小可以不断变化;
( 2) ,其中t0为起始温度,K为算法温度 下降的总次数。
tk K k t0 K

6 模拟退火算法关键参数和操作的设计 内循环终止准则 非时齐模拟退火算法
随机地变化到另一个状态;随着温度的不断下降直到最低温度, 搜索过程以概率1停留在最优解
2物理退火过程的数学表示
能量最低状态 非能量最低状态
若|D|为状态空间D中状态的个数,D0是具有最低能 量的状态集合:
当温度很高时,每个状态概率基本相同,接近平 均值1/|D|; 状态空间存在超过两个不同能量时,具有最低能 量状态的概率超出平均值1/|D| ; 当温度趋于0时,分子停留在最低能量状态的概 率趋于1。
1 模拟退火算法的思想

缓慢降温(退火,annealing)时,可达到最低能量 状态,较为柔韧;但如果快速降温(淬火, quenching),会导致不是最低能态的非晶形,较硬 易断。

大自然知道慢工出细活: 缓缓降温,使得物体分子在每一温度时,能够有足 够时间找到安顿位臵,则逐渐地,到最后可得到最 低能态,系统最稳定。
模拟退火算法
Simulated Annealing Algorithm
信息与计算科学


1 模拟退火算法的思想
模拟退火算法来源于固体退火原理,将固体加温至 充分高,再让其徐徐冷却;加温时,固体内部粒子 随温升变为无序状,内能增大,而徐徐冷却时粒子 渐趋有序,在每个温度都达到平衡态,最后在常温 时达到某种稳定状态,基态,内能减为最小。
每个温度下只产生一个或少量候选解

时齐算法——常用的Metropolis抽样稳定准则 (1)检验目标函数的均值是否稳定; (2)连续若干步的目标值变化较小; (3)按一定的步数抽样。
模拟退火算法对应了一个马尔可夫链,新状态接受概率仅依赖于新状态和 当前状态,并由温度加以控制。 若固定每一温度,算法均计算马氏链的变化直至平稳分布,然后下降温度, 则称为时齐算法; 若无需各温度下算法均达到平稳分布,但温度需按一定速率下降,则称为 非时齐算法。
模拟退火算法(Simulated Annealing,SA)最早的思想是由N. Metropolis等人于1953年提出。1983 年,S. Kirkpatrick 等成功地将退火思想引入到组合优化领域。它是基于MonteCarlo迭代求解策略的一种随机寻优算法,其出发点是基于 物理中固体物质的退火过程与一般组合优化问题之间的相似 性。模拟退火算法从某一较高初温出发,伴随温度参数的不 断下降,结合概率突跳特性在解空间中随机寻找目标函数的 全局最优解,即在局部最优解能概率性地跳出并最终趋于全 局最优。 模拟退火算法是通过赋予搜索过程一种时变且最 终趋于零的概率突跳性,从而可有效避免陷入局部 极小并最终趋于全局最优的串行结构的优化算法。 模拟退火算法是一种通用的优化算法,理论上算 法具有概率的全局优化性能,目前已在工程中得到了 广泛应用。
退温tk+1=update(tk)并令k=k+1;
Until 算法终止准则满足; 输出算法搜索结果。
三函数两准则
初始温度
5 模拟退火算法的具体步骤

模拟退火算法的步骤 Step1 设定初始温度t = tmax, 任选初始解r = r0 1. 目标函数均值稳定 Step2 内循环 2. 连续若干步的目标 值变化较小 Step2.1 从r的邻域中随机选一个解 rt, 计算r和rt对应目标 3. 固定的抽样步数 函 数值, 如rt对应目标函数值较小,则令 r = rt; 否则若 exp(-(E(rt)-E(r))/t)>random(0,1), 则令r=rt. 1. 达到终止温度 Step2.2 不满足内循环停止条件时,重复 Step2.1 2. 达到迭代次数 Step3 外循环 3. 最优值连续若干步 Step3.1 降温t = decrease(t) 保持不变 Step3.2 如不满足外循环停止条件,则转Step2;否则算 法结束
5 模拟退火算法的具体步骤

影响优化结果的主要因素
给定初温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 抽样稳定准则满足;
2物理退火过程的数学表示 Metropolis准则(1953)——以概率接受新状态
固体在恒定温度下达到热平衡的过程可以用Monte Carlo方 法(计算机随机模拟方法)加以模拟,虽然该方法简单, 但必须大量采样才能得到比较精确的结果,计算量很大。

Metropolis准则(1953)——以概率接受新状态
4模拟退火算法的模型与特点
1模拟退火算法可以分解为解空间、目标函数和初始解三部 分。 2模拟退火的基本步骤: (1) 初始化:初始温度T(充分大),初始解状态S(是算法迭 代的起点),每个T值的迭代次数L。 (2) 对k=1,……,L做第(3)至第6步: (3) 产生新解S′ (4) 计算增量Δt′=C(S′)-C(S),其中C(S)为评价函数 (5) 若Δt′<0则接受S′作为新的当前解,否则以概率 exp(-Δt′/kT)接受S′作为新的当前解. (6) 如果满足终止条件则输出当前解作为最优解,结束程序。 终止条件通常取为连续若干个新解都没有被接受时终止算法。 (7) T逐渐减少,且T->0,然后转第2步。 模拟退火算法与初始值无关,算法求得的解与初始解状态S(是 算法迭代的起点)无关;模拟退火算法具有渐近收敛性,已在理 论上被证明是一种以概率l 收敛于全局最优解的全局优化算法; 模拟退火算法具有并行性。
若在温度T,当前状态i → 新状态j
若Ej<Ei,则接受 j 为当前状态; 否则,若概率 p=exp[-(Ej-Ei)/kBT] 大于[0,1)区间的随 机数,则仍接受状态 j 为当前状态;若不成立则保留状态
i 为当前状态。
p
1
2物理退火过程的数学表示

Metropolis准则(1953)——以概率接受新状态

组合优化与物理退火的相似性比较 组合优化问题 解 金属物体 粒子状态
最优解 设定初温 Metropolis抽样过程 控制参数的下降 目标函数
能量最低的状态 熔解过程 等温过程 冷却 能量
从某一初始温度开始,伴随温度的不断下降,结合 概率突跳特性在解空间中随机寻找全局最优解
2模拟退火算法的原理

初温应充分大;

实验表明 初温越大,获得高质量解的机率越大,但花费较多 的计算时间;

6 模拟退火算法关键参数和操作的设计 初温

方法
(1)均匀抽样一组状态,以各状态目标值得方差 为初温;
(2)随机产生一组状态,确定两两状态间的最大 目标值差,根据差值,利用一定的函数确定初温; (3)利用经验公式。
2物理退火过程的数学表示 在同一个温度T,选定两个能量E1<E2,有
E1 1 P{E E1} P{E E2 } exp k T Z (T ) B E2 E1 1 exp k T B
可知:
>0 <1 (1)在同一个温度,分子停留在能量小状态的概率 大于停留在能量大状态的概率 (2)温度越高,不同能量状态对应的概率相差越小; 温度足够高时,各状态对应概率基本相同。 (3)随着温度的下降,能量最低状态对应概率越来 越大;温度趋于0时,其状态趋于1 模拟退火算法基本思想:在一定温度下,搜索从一个状态

6 模拟退火算法关键参数和操作的设计
外循环终止准则

常用方法
(1)设臵终止温度的阈值;
(2)设臵外循环迭代次数; (3)算法搜索到的最优值连续若干步保持不变; (4)概率分析方法。
7 模拟退火算法的改进
模拟退火算法的优缺点

模拟退火算法的优点
质量高;
初值鲁棒性强; 简单、通用、易实现。

模拟退火算法的缺点 由于要求较高的初始温度、较慢的降温速率、较低 的终止温度,以及各温度下足够多次的抽样,因此 优化过程较长。
1 模拟退火算—增强粒子的热运动,消除系统原先可能存在 的非均匀态; 等温过程——对于与环境换热而温度不变的封闭系统, 系统状态的自发变化总是朝自由能减少的方向进行,当自 由能达到最小时,系统达到平衡态; 冷却过程——使粒子热运动减弱并渐趋有序,系统能量 逐渐下降,从而得到低能的晶体结构。
(2)随温度的下降,接受使目标函数上升的解的概率 要逐渐减小; (3)当温度趋于零时,只能接受目标函数下降的解。

方法
具体形式对算法影响不大 一般采用min[1,exp(-∆C/t)]

6 模拟退火算法关键参数和操作的设计
初温

收敛性分析
通过理论分析可以得到初温的解析式,但解决实际 问题时难以得到精确的参数;
p=exp[-(Ej-Ei)/kBT]
在高温下,可接受与当前状态能量差较大的新状态; 在低温下,只接受与当前状态能量差较小的新状态。
3模拟退火算法的原理
相关主题