240 likes | 647 Views
§ 7.5 模拟退火. 模拟退火( Simulated Annealing Algorithm) 是近几年提出的一种适合解大规模组合优化问题,特别是解 NP 完全问题的通用有效近似算法。 与以往的近似算法相比,具有描述简单、使用灵活、运用广泛、运行效率高和较少受初始条件限制等优点,而且特别适合并行计算。. § 7.5.1 固体退火与模拟退火算法. 固体退火过程. Metropolis 准则. 模拟退火算法的原理. 1.固体退火过程. 固体退火是指将固体加热至熔化,再徐徐冷却使之凝固成规整晶体的热力学过程,属于热力学与统计物理研究的范畴。
E N D
§7.5 模拟退火 模拟退火(Simulated Annealing Algorithm)是近几年提出的一种适合解大规模组合优化问题,特别是解NP完全问题的通用有效近似算法。 与以往的近似算法相比,具有描述简单、使用灵活、运用广泛、运行效率高和较少受初始条件限制等优点,而且特别适合并行计算。
§7.5.1 固体退火与模拟退火算法 固体退火过程 Metropolis准则 模拟退火算法的原理
1.固体退火过程 • 固体退火是指将固体加热至熔化,再徐徐冷却使之凝固成规整晶体的热力学过程,属于热力学与统计物理研究的范畴。 • 热力学定律 ─ 系统状态的自发变化总是朝着自由能减小的方向进行,当自由能达到最小时,系统达到平衡。 • 系统自由能变化:
系统平衡时,宏观状态已经确定,但系统的微观状态不断变化。对于一确定的宏观状态系统处于某一微观状态(或其附近)的几率分布为Gibbs正则分布,即:其中, 称为Boltzmann因子,T 是绝对温度,k, Z 是常数。
2. Metropolis接受准则 • 重要性采样法(Metropolis等, 1953年):初始状态—当前状态—重要状态
3. 模拟退火算法的提出 • 1982年,Kirkpatrick等提出。 初始解—当前解—新解—最终解
§7.5.2 模拟退火算法的基本过程 • 程序: procedure SIMULATED_ANNEALING; begin INITIALIZE(i0,t0,L0); k:=0; i:=i0; repeat for l:=1 to Lk do begin GENERATE(j from Si); if >random [0,1) then i:=j end; k:=k+1; CALCULATE_LENGTH(Lk); CALCULATE_CONTROL(tk); until stop_criterion end;
START 降温 产生新解 评 价 马尔克夫链结束? 满足结束条件? Metropolis准则 STOP 程序框图 设置起始温度T0; 产生随机解 {xi} 冷却进度表 (Annealing Schedule) 初始化 Y N N Y
§7.5.3 模拟退火算法的冷却进度表 • 模拟退火算法中参数tk和Lk(k=0,1,2…)的选择是算法的关键,直接决定收敛速度。 • 冷却进度表(Cooling Schedule) • 1.控制参数t的初始值t0; • 2.控制参数t的衰减函数; • 3.控制参数t的终值tf (停止准则); • 4.马尔柯夫链的长度Lk与x的产生。
BA FA VFA T(k)与G(x) 退火进度表 Annealing Schedule 概率密度函数 Generation Distribution
BA FA VFA
§7.5.4 模拟退火算法的特点与改进 • 特点:高效、健壮、通用、灵活 • 改进措施 • 1. 加温过程 • 2. 记忆功能 • 3. 返回搜索过程(局部搜索最优解) • 4. 回火功能 • 5. 演化策略(GA-SAA的结合)
退火演化算法 initialization while (!stop) for i=1, popsize SA: 马尔柯夫链(产生新解、Metropolis准则) end GA: selection crossover mutation SA: annealing end of while
快速退火演化(FAEA)算法 START SA, GA:初始化 SA:马尔柯夫链 GA:个体i pop GA:选择 基因交换 变异 VFA:产生新解 SA:接受新解? N N tk<tf? VFA:调整 Y Y SA:新解转移 STOP
§7.5.5 模拟退火算法的应用 • 优化问题——与遗传算法相同
方法 成功次数 / 成功率 评价次数(min/av/max) GA(100) VFA AEA(30) FAEA(30) 20 / 100 20 / 100 20 / 100 20 / 100 115474 / 829130 / 400009 527 / 1113 / 3000 9510 / 12417 / 17370 10684 / 13587 / 10172 几种算法用于函数极值问题的结果比较(1 — F8) n=5时, 155个局部极小, 其中之一为全局极小。
方法 成功次数 / 成功率 评价次数(min/av/max) GA(100) VFA AEA(30) FAEA(30) 18 / 90.0 20 /100 20 / 100 20 /100 665766 / 2793513 / 6529018 399 / 469 / 697 5160 / 7640 / 8760 7700 / 9219 / 11102 几种算法用于函数极值问题的结果比较(2 — F9, Shubert’s function) 18个全局极小
方法 成功次数 / 成功率 评价次数(min/av/max) 0 / 0.0 0 / 0.0 0 / 0.0 19 / 95.0 0 / 0.0 20 / 100 - / - / - - / - / - - / - / - 99562 / 546045 / 1633593 - / - / - 220946 / 613997 / 1294277 GA(100) VFA AEA(30) AEA(100) FAEA(30) FAEA(100) 几种算法用于函数极值问题的结果比较(3 — F4, Griewank’s function) It has many widespread local minima.
FAEA算法 Wensheng Cai, Xueguang Shao A fast annealing evolutionary algorithm for global optimization Journal of Computational Chemistry, 2002, 23(4):427-435
FAEA应用于取代-环糊精与氨基酸的手性识别研究FAEA应用于取代-环糊精与氨基酸的手性识别研究 夏保云,蔡文生,潘忠孝,邵学广 快速退火演化算法用于取代-环糊精与氨基酸手性识别研究 高等学校化学学报,2002,23(6):1122-1125
FAEA应用于(C60)N分子簇的结构优化 Wensheng Cai, Yan Feng, Xueguang Shao, Zhongxiao Pan Global optimization of (C60)Nmolecular clusters Chemical Physics Letters, 2002,359(1-2):27-34 • Girifalco potential
The Cambridge Cluster Database 对(C60)N分子簇计算结果的引用 http://www-wales.ch.cam.ac.uk/~jon/ structures/ C60/Girifalco/tables.html (C60)30的最优结构 (C60)62的最优结构 引用
作 业 • 简述模拟退火算法的基本思想。 • 什么是马尔柯夫链?