第四章模拟退火
This presentation is the property of its rightful owner.
Sponsored Links
1 / 60

第四章模拟退火 PowerPoint PPT Presentation


  • 63 Views
  • Uploaded on
  • Presentation posted in: General

第四章模拟退火. 第四章 模拟退火. 一 . 前言 二 . 基本算法框架 三 . 算法举例 四 . 算法收敛性 分析. 一 . 前言. 算法 的提出 原始算法是由 Metropolis 等 (1953) 提出,但未引起反响; 1982 年 Kirkpatrick 等将其应用于组合优化,才得到广泛的应用 目的是为了克服优化过程中陷入局优和初值依赖等弊端 基本思想是模拟热力学中的退火过程. 一 . 前言. 金属退火过程 什么是退火 退火 是指将固体加热到足够高的温度,使分子呈随机排列状态,然后逐步降温使之冷却,最后分子以低能状态排列,固体达到某种稳定状态。.

Download Presentation

第四章模拟退火

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


6484469

第四章模拟退火


6484469

第四章 模拟退火

一.前言

二.基本算法框架

三.算法举例

四.算法收敛性分析


6484469

一.前言

  • 算法的提出

    • 原始算法是由Metropolis等(1953)提出,但未引起反响; 1982年Kirkpatrick等将其应用于组合优化,才得到广泛的应用

    • 目的是为了克服优化过程中陷入局优和初值依赖等弊端

    • 基本思想是模拟热力学中的退火过程


6484469

一.前言

  • 金属退火过程

    • 什么是退火

      退火是指将固体加热到足够高的温度,使分子呈随机排列状态,然后逐步降温使之冷却,最后分子以低能状态排列,固体达到某种稳定状态。


6484469

一.导言

  • 金属退火过程

    • 什么是退火

      加温过程——增强粒子的热运动,消除系统原先可能存在的非均匀态

      等温过程——对于与环境换热而温度不变的封闭系统,系统状态的自发变化总是朝自由能减少的方向进行,当自由能达到最小时,系统达到平衡态

      冷却过程——使粒子热运动减弱并渐趋有序,系统能量逐渐下降,从而得到低能的晶体结构


6484469

缓慢下降

快速下降

高温

高温

低温

低温

高能状态

高能状态

低能状态

高能状态

一.前言

  • 金属退火过程

    • 什么是退火

      退火

      淬火


6484469

一.前言

  • 金属退火过程

    • 数学描述

      设热力学系统S中有n个状态(有限且离散的),其中状态i的能量为Ei,在温度Tk下,经一段时间达到热平衡,此时处在状态i的概率为:

      则有如下关系:Ei↓→ Pi ↑, Tk↓→ Pi ↓

如何确定Ck?


6484469

一.前言

  • 金属退火过程

    • 数学描述


6484469

一.前言

  • 金属退火过程

    • 数学描述

      通过求Ck,获得Bolzman方程:


6484469

一.前言

  • 金属退火过程

    • Bolzman方程

      • 同一温度下,S处在能量小的状态要比处在能量大的状态概率大

        若存在E1<E2,则在同一温度Tk下,有

        故P1(Tk)>P2(Tk)


6484469

一.前言

  • 金属退火过程

    • Bolzman方程

      • 若i*表示S中唯一的最低能量的状态, 是关于温度Tk单调递减

        对Pi(Tk)求对温度的导数,则


6484469

一.前言

  • 金属退火过程

    • Bolzman方程

      由于

      且存在当 时,


6484469

一.前言

  • 金属退火过程

    • Bolzman方程

      • 当 时,

        同理,当 时,


6484469

一.前言

  • 金属退火过程

    • 温度Tk对 的影响

      • 当Tk 很大时,

      • 当 时,

各状态的概率几乎相等

与 的小差别带来 和 的巨大差别


6484469

一.前言

  • 金属退火过程

    • 温度Tk对 的影响

      例:

      当 时


6484469

一.前言

  • 金属退火过程

    • 温度Tk对 的影响

      例:

      当 时

      此时

温度趋于0时,以概率1趋于最小能量状态


6484469

能量越低越稳定!!!

——自然界的普遍规律


6484469

一.前言

  • 组合优化与退火

    • Metropolis准则—以概率接受新状态

      若在温度Tk,当前状态i→新状态j

      若Ej<Ei,则接受 j 为当前状态

      否则,若概率 p=exp[-(Ej-Ei)/Tk] 大于[0,1)区间的随机数,则仍接受状态 j为当前状态;若不成立则保留状态 i为当前状态

在高温下,可接受与当前状态能量差较大的新状态在低温下,只接受与当前状态能量差较小的新状态


6484469

一.前言

  • 组合优化与退火


6484469

二.基本算法框架

  • 构成要素

    • 解的表达与邻域移动方式同TS

    • 邻域解的产生

      在当前解的邻域结构内以一定概率方式(均匀分布、

      正态分布、指数分布等)产生

    • 选择策略

      一般采用min[1,exp(-∆f/t)]


6484469

二.基本算法框架

  • 构成要素

    • 初始温度

      • 均匀抽样一组状态,以各状态目标值的方差为初温

      • 随机产生一组状态,确定两两状态间的最大目标值差,根据差值,利用一定的函数确定初温

      • 利用经验公式

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


6484469

二.基本算法框架

  • 构成要素

    • 降温函数

      • ,其中

优点:简单易行,很美丽的方法


6484469

二.基本算法框架

  • 构成要素

    • 热平衡条件

      Metropolis抽样稳定准则

      • 设置内循环迭代次数

      • 检验目标函数的均值是否稳定

      • 连续若干步的目标值变化较小

    • 停止准则

      • 设置外循环迭代次数

      • 设置终止温度的阈值

      • 算法搜索到的最优值连续若干步保持不变


6484469

二.基本算法框架

  • 算法流程

    Step 1

    选一个初始点i( ),给定初始温度 ,终止温度 ,令迭代指标 , ;

    Step 2

    随机产生一个邻域解 ,计算目标值增量 ;

注:选择 时,要足够高,使


6484469

二.基本算法框架

  • 算法流程

    Step 3

    若 ,令i=j;(j比i好,无条件转移)

    否则产生 ,若 ,则令i=j ;(i比j好,有条件转移)

    Step 4

    若达到热平衡(内循环停止准则),转Step 5;否则,转Step 2;

注: 高时,广域搜索; 低时,局域搜索


6484469

二.基本算法框架

  • 算法流程

    Step 5

    若k=k+1,更新 ,若 (外循环停止准则),则停止;否则,转Step 2。


6484469

二.基本算法框架

  • 算法伪码图


6484469

二.基本算法框架

  • SA的两种变型

MA:

Microcanonic annealing


6484469

二.基本算法框架

  • SA的两种变型

TA:

Threshold accepting method


6484469

作 业

分析SA与MA和TA的异同点。


6484469

三.算法举例

  • 问题提出

    单机极小化总流水时间的排序问题

    四个工作:

    求使 的最优顺序


6484469

三.算法举例

  • 问题提出

    预备知识:按SPT准则,最优顺序为3-1-4-2


6484469

三.算法举例

  • 算法设计

    • 编码方式:顺序编码

    • 初始解的产生:随机产生,如1-4-2-3

    • 邻域移动方式:2-OPT,即两两交换

    • 初始温度

    • 终止温度

    • 降温函数

    • 内循环次数


6484469

三.算法举例

初始解:i=1-4-2-3

(1)

① j=1-3-2-4

②j=4-3-2-1

③j=4-2-3-1

注释:

  • ①无条件转移;

  • ②③为有条件转移;

  • 在②③中,虽然目标值变坏,但搜索范围变大;

  • 是随机产生的


6484469

三.算法举例

(2)

① j=4-2-1-3

②j=4-3-1-2

③j=4-2-3-1

注释:

  • ①有条件转移;

  • ②为无条件转移;

  • 在③中,停在4-3-1-2状态,目标值仍为109


6484469

三.算法举例

(3)

注释:

  • ① ②无条件转移;

  • 在③中,停在3-1-4-2状态,目标值仍为92;

SA没有历史最优,不会终止在最优解,故算法一

定要保持历史最优


6484469

四.算法收敛性分析

  • Markov过程的基本概念

    例:青蛙在3块石头上随机跳动,行动的特点是无记忆性

1/3

1/3

1/3

1/4

1/2

1/4

1/4

1/4

1/2


6484469

四.算法收敛性分析

  • Markov过程的基本概念

    • 状态:处于系统中的一种特定状况的表达

    • 状态转移概率:从状态i转移到状态 j 的可能性

    • 无后效性:到一个状态后,决策只与本状态有关,与以前的历史状态无关


6484469

四.算法收敛性分析

  • Markov过程的基本概念

    • 以青蛙跳动为例说明状态转移概率

      用石头唯一的表达青蛙所处的状态,假设青蛙

      跳动具有无后效应的特点。

1/3

1/3

1/3

1/4

状态转移概率矩阵

1/2

1/4

1/4

1/4

1/2

青蛙跳动图示


6484469

四.算法收敛性分析

  • Markov过程的基本概念

    • 以青蛙跳动为例说明状态转移概率

      表示t时刻青蛙处在各状

      态的概率分布向量, 是行向量,在t+1时刻有:

      若 ,则


6484469

四.算法收敛性分析

  • Markov过程的基本概念

    • 以青蛙跳动为例说明状态转移概率

      假设系统在t+1时达到稳态,则

      故 存在唯一解


6484469

四.算法收敛性分析

  • Markov过程的基本概念

    • 以青蛙跳动为例说明状态转移概率

      在上面的小例子中解方程组:

      可得结果

      可见系统达到稳态时,青蛙是在第三块石头上

      的机会多一些


6484469

四.算法收敛性分析

  • SA的Markov描述

    • 问题

      , ,S是有限集,设 (集S中

      元素个数为N),将状态按照目标值进行升序编号,


6484469

四.算法收敛性分析

  • SA的Markov描述

    • 状态转移概率

      设为i选j 为邻域点时, 的转移概率

      无条件转移

      有条件转移


6484469

四.算法收敛性分析

  • SA的Markov描述

    • 状态转移概率

      设 是系统处于状态 i时选择 j 为邻域移动点

      的概率, 为状态 i的邻域点的个数,有

      则状态i到状态 j的转移概率为


6484469

四.算法收敛性分析

  • SA的Markov描述

    • 状态转移概率

      状态转移矩阵为:

      分两种情况讨论:


6484469

四.算法收敛性分析

  • SA的Markov描述

    • 状态转移概率

    • 当 时

      若i<j,则

      若i>j,则


6484469

四.算法收敛性分析

  • SA的Markov描述

    • 状态转移概率


6484469

四.算法收敛性分析

  • SA的Markov描述

    • 状态转移概率

    • 当 时

      若i<j,则

      若i>j,则


6484469

四.算法收敛性分析

  • SA的Markov描述

    • 状态转移概率

状态1是 “捕捉的”(任何状态到1状态后都无法转出)即青蛙跳到石头1上无法跳出


6484469

四.算法收敛性分析

  • SA的收敛性证明

    • 引理

      当 时,系统达到稳态时的状态概率分布向量

      证明:

      当系统达到稳态时,存在


6484469

四.算法收敛性分析

  • SA的收敛性证明

    • 引理

      证明:


6484469

四.算法收敛性分析

  • SA的收敛性证明

    • 引理

      证明:


6484469

四.算法收敛性分析

  • SA的收敛性证明

    • 引理

      证明:

      又 ,

      故当 时,

      当 时,得证。


6484469

四.算法收敛性分析

  • SA的收敛性证明

    • 定理

      定理:G对称,当达到热平衡时,对所有

      有:

      注释:

      表示状态概率分布向量

      表示系统处在状态1的概率

      表示表示从1移向状态i的概率


6484469

四.算法收敛性分析

  • SA的收敛性证明

    • 定理

      证明:

      在温度Tk下达到热平衡时,有

      当i=1时,


6484469

四.算法收敛性分析

  • SA的收敛性证明

    • 定理

      证明:

      因此,对于所有 ,当达到热平衡时

      得证。


6484469

四.算法收敛性分析

  • SA的收敛性证明

由以上定理可知,当Tk趋近于0时,对于所有状态

i>1,有 趋近于0, 趋近于1,即SA对应

的Markov过程将以概率1收敛于状态1。


6484469

四.算法收敛性分析

  • SA实现全局收敛的条件

    • 状态可达

    • 初值鲁棒

    • 极限分布的存在


6484469

实 验

工作指派问题

n个工作可以由n个工人分别完成。工人i完成工作j的时间为dij,问如何安排可是总的工作时间达到最小。试按SA思想设计一个该问题的求解算法,并利用计算机语言实现设计的算法。


  • Login