模拟退火算法中分形和相变现象_张贵清

模拟退火算法中分形和相变现象_张贵清
模拟退火算法中分形和相变现象_张贵清

文章编号:0465-7942(2012)06-0001-05

模拟退火算法中分形和相变现象

X

张贵清1, 喻 孜1, 白 宇2, 杨秋英3(1.南京林业大学理学院物理系,江苏南京210037; 2.南开大学物理科学学院,天津300071;

3.常熟理工学院物理与电子工程学院,江苏常熟215500)

摘要:对模拟退火算法寻找极值的非线性动力学行为进行了研究.通过图像对比直观说明算法涉及的主要参数对寻优结果的影响,如初始温度、步长、退火速率等.适当控制模拟退火算法参量,画出步长、初值及最终所得到极值点的关系图像,在极大值吸引域附近对图像进一步放大,发现了和原图相似的图形和分形结构,分形维数为2维,将这一现象归原因于吸引子之间的相互作用.进一步对图形进行分析,发现随着初值的增加,最小值的寻优概率变化呈现很好的相变曲线和类渗流现象.

关键词:模拟退火;分形;类渗流;相变现象

中图分类号:O 41 文献标识码:A

0 引 言

模拟退火算法(Simulated Annealing ,简称为SA 算法)是启发式算法(Heuristic Alg orithm )的一种[1-6].模拟退火算法是自然计算的重要分支.Kirkpatrick S,Gelatt C D 和Vecchi M P 在1983年成功应用在组合优化问题中[1].而Cerny V 在1985年也独立发明此算法[2].由于模拟退火算法的特性,在寻优方面,能够避免陷入局部极小,得到全局最优解[7-12].

“模拟退火”的原理和金属退火的原理近似[11,13].退火是将材料加热后再经特定速率冷却,目的是增大晶粒的体积,减少晶格中的缺陷,材料中的原子原来停留在内能有局部最小值的位置,加热使能量变大,原子会离开原位置而随机在其他位置中移动.退火冷却时速度较慢,使得原子有较多可能可以找到内能比原先更低的位置,最终在晶格上瑕疵最小化.模拟退火算法在退火的过程中采用M etr opo lis 等提出的重要性采样法,即以概率接受新状态.具体而言,若当前状态为i ,产生的新状态j ,若两者能量E j

分形的概念是美籍数学家曼德布罗特(B.B.M andelbor t)首先提出的[14-15].按照分形几何学的观点,一切复杂对象虽然看似杂乱无章,但它们具有相似性,简单地说,就是把复杂对象的某个局部进行放大,其形态和复杂程度与整体相似.分形形体中的自相似性可以是完全相同,也可以是统计意义上的相似.发现了类似于渗流的相变行为和相变特征

[16],同时在此渗流体系中得到了很好的自相似分形结构.第46卷 第1期

2013年2月南开大学学报(自然科学版)

A cta S cientiar um N atur alium U niver sitatis N ankaiensis V o l.46 №1

 Feb.2013

X 收稿日期:2011-09-20基金项目:国家自然科学基金(10675060,11247217);江苏省高校自然科学基金(10K JB14002);南京林业大学高学历

人才(B2010-14)作者简介:张贵清(1983-),男,江苏南京人,博士,副教授,主要从事理论物理和非线性动力学研究.email :

nkzhang gq @163.co m

1 算法的关键问题

模拟退火算法的关键问题包括新模型的产生、温度更新函数、循环终止准则,以上环节的设计将决定算法的性能.新模型产生步骤:(1)状态产生函数.为了展现SA 算法的寻优过程,以概率分布方式构造状态产生函数为:X i +1=X i +s (rand -0.5),其中X i +1与X i 分别为新旧状态值,s 是步长扰动系数因子,与解空间的规模(即未知数个数)有直接关系,r and 是(-1,1)均匀分布的随机数.(2)温度更新函数.用于在循环中修改温度值.初始温度较高采用指数退温策略[12]

即T k +1=aT k ,a 为退温速率.初始温度越高,获得高质量解的几率越大.(3)内循环终止准则,也即抽样稳定准则,用于决定在各温度下产生候选解的数目.记录使目标函数在该温度下达到最小值的状态函数值,作为降温后的状态参数初值,内循环采用定步长抽样,外循环采用定温度.外循环终止采用运行达到控制参数的终值要求标准,算法停止,即T

选取下面函数作为研究对象:

f =x (x -1)(x -2)(x -5)

(1)其特点是在区间[0,5]上有2个最小值(横坐标分别为x min 1=0.3990、x min2= 4.0565),1个极大值

(横坐标为x max1= 1.5444).函数图像如图1所示.

2.1 寻优结果随初始温度和结束温度的变化

模拟退火算法包括状态产生函数、状态接受函数、温度更新函数、循环终止准则等,这些环节的设计将直接决定退火算法的寻优性能.初始温度T 的选择对算法性能有很大影响.循环终止准则采取按一定的步数抽样,结束温度T 0成为衡量循环终止的实际参数.这一部分主要研究初始温度T 和结束温度T 0对寻找函数极值的影响.图2是数值模拟100次寻优结果的直方图分布.图2(a)表示的是初始温度T 逐渐升高,对函数寻优的影响.在其他参数不变的情况下,初温越高,找到全局最小的次数越多,但同时寻优时间也会相应增长;图2(b)表示的是随着结束温度的逐渐降低函数寻优的直方图分布,和初温相反,结束温度越低找到全局最优的概率越大.通过图2分析,在实际寻优过程中,应根据实际需要选择合适的初始温度和结束温度,在保证寻优结果的同时,尽可能的减少计算机寻优时间

.图1 f (x )=x (x -1)(x -2)(x -5)函数图像

Fig .1 Conf iguration of f unction f (x )=x (x -1)(x -

2)(x -5)图2 初始温度和结束温度对模拟退火寻优影响的直方图Fig .2 Histogram graph of global optimization f or diff erent initial and end temperature

?2? 

南开大学学报(自然科学版)第45卷

2.2 退火速率和步长对寻优的影响

温度更新函数是用来在循环过程中修改温度值的,可以采用不同的形式,但温度的下降和状态产生函数需相互匹配,以保证算法的收敛性,采用T k+1=aT k,a为退火速率;步长s也对寻优结果有重要影响,同时和解空间的规模即未知数的个数有直接的关系.图3给出了不同退火速率a和步长s条件下寻优结果的直方图分布,在其他参数不变的情况下,退火速率a越高,全局最优越容易获得,a较低时,很难找到全局最优,甚至陷入局域极小.步长s很小时,很容易陷入局域极小,很难获得全局最优解,随着步长s逐渐增大,找到全局最优的概率增加.当s大到一定数值(s=0.28)时,会跳过局域极小,找到函数全局极小值.

图4给出了不同初值条件(当前状态)下退火速率和步长对函数寻优的影响,a=0.95,初值(当前状态)x1= 1.5时,函数的最终寻优结果既不是全局最小也不是局域极小,a较小时,初值取在函数极值附近很难找到函数极值,只会逐渐靠近极值,a越大,初值x1取在函数极值附近时,越容易找到函数极值.步长s 的影响和退火速率a的影响类似,步长s越大时,初值x1取在函数极值附近越容易找到函数极值,当s大到一定程度时,初值x1取在f(x)的峰值(x max1= 1.5444,图中竖线标注)左右邻域范围内时,两个极小值都可能找到.如果再进一步增大s,则对于所有初值x1,都只会找到全局最优解,但同时耗费更多计算时间.由于模拟退火算法的特性,在处理有多个局域最小值的函数时,可以避免陷入局域极小.算法依据M etropolis准则接受新解,不仅接受优化解,以一定概率接受恶化解,这是同其他算法的本质区别,但算法进行中参数的选取尤其重要

.

图3 退火速率和步长对模拟退火寻优影响的直方图

Fig.3 Histogram graph of global optimization for

dif f erent annealing rate and step length

图4 退火速率和步长对不同初值寻优的影响

Fig.4 Histogram graph of the minimum value f or

diff erent annealing rate and step length

3 算法吸引域附近的非线性动力学行为

3.1 步长、初值及极值点的关系图

选定一个T值(T=1000),画出步长、初值(当前状态)与函数寻优极值的对应图像,其中横坐标为s,纵坐标为初值x1,以星号点“*”表示极值落到局域极小值x min1=0.3990处,圆点“?”表示极值落到全局极小值x min2= 4.0565处,图5(a)所示.步长较小且初值小于极大值(x max1= 1.5444),大多数情况下寻优结果会陷入局域极小,相反初值大于极大值更容易获得全局最优解.在函数极大值附近取一小块区域进行放大操作,得图5(b),再次放大得到图5(c).通过比较可以发现图5(b)和图5(c)具有统计意义上的自相似结构,而且不论参数如何选择放大图中始终存在星号和圆点号镶嵌点.这样的结构符合分形的特征,理解为由于吸引子的相互作用,使得在吸引子中间极值附近出现了分形结构.

3.2 分形结构的分维分析

吸引子是这样一个集合,当时间趋于无穷大时,在任何一个有界集上出发的非定常流的所有轨道都趋于它.一个动力系统可以有若干个吸引子.就所调用的函数,横坐标为x min1=0.3990、x min2= 4.0565处分

?

3

?

 

第6期张贵清等:模拟退火算法中分形和相变现象

图5 不同初值和不同步长对寻优结果的影响

Fig .5 Eff ects of initial state and step on global optimization

别为它的两个吸引子,对于任何选定初值,经模拟退火算法,最终会落到这两吸引子中任意一个.因为两个吸引子(极小值)竞争的结果,预期在交界的地方(x max1= 1.5444)产生分形结构.

在分形几何中,要计算分形的维数,可以想象把这个分形放在一个均匀分割的网格上,数一数最小需要几个格子来覆盖这个分形.通过对网格的逐步精化,查看所需覆盖数目的变化,从而计算出盒维数.因为两种点始终镶嵌出现,取任意小的格子都将被两种点填充,相当于两种点遍布整个2维空间,所以图形分形盒维数为2维[14-15]

.

图6 不同初值时红色点占据的概率变化曲线

 Fig .6 Probability of red point with increasing initial

parameter 3.3 相变现象

对图5(a)进行仔细分析,发现其很类似于传统

的渗流行为,存在着从一个相向另一个相的转变过

程.统计圆点占整行点数的概率,概率是随着初值参

数的增大发生相应的变化,变化曲线如图6所示.图6

中方程:y =A 2+(A 1-A 2)/(1+exp(x -

x 0)/d x ),相关系数:0.98425,参数A 1=0.05737,

A 2=0.97463,x 0= 1.53512,d x =0.07182,相

应标准差为0.01384,0.00663,0.00597.在p =

0.5附近,百分比变化最快(图中虚线标记),此处亦

对应函数极大值处,概率有明显的变换,发生了类相

变行为.这里的x 1和渗流模型中的概率p 很类似,称

这种相变行为为类渗流现象[16-18].4 结 论

数值模拟结果表明,初始温度T 越大、结束温度

T 0越小、步长s 越大、退火速率a 值越高,能够获得全局最优解的几率越大.在s 适当大小时,初值在某些范围内(极大值附近)既可以找到全局极小值,也可以找到局部极小值.在选取寻优参数的时候应根据需要权衡选择.选定适当T 、T 0、a 等值,得出x 1,s 图像,并进行局部放大,结果在极大值附近有明显的分形结?4? 

南开大学学报(自然科学版)第45卷

构,其原因是俩吸引子的相互作用导致的,所得分形结构的盒维数是2维.不同初值和步长的寻优极值讨论中,发现了很好的相变行为,系统很好的从一个状态转变到另一个状态,和渗流行为很类似,建立了算法寻优和相变行为的联系.

参考文献

 1 K ir kpatrick.Optimizatio n by simulat ed annealing[J].Science,1983,220:671-680.

 2 Cer ny V.T hermo dy namical appro ach to the tr aveling salesman pr o blem:A n efficient simulatio n algo r ithm[J].Jo ur-

nal of O pt imization T heo ry and A pplicatio ns ,1985,45:41-51.

 3 M etr opo lis N .Equatio n o f st ate ca lculat ions by fast computing machines [J ].T he Jo urnal of Chemical Physics ,

1953,21:1087-1093.

 4 G r anv ille V.Simulat ed annealing:A pr oo f of conver gence[J].IEEE T ra nsactio ns o n P atter n A naly sis and M achine

I nt ellig ence ,1994,16:652-656.

 5 王鹏,李建平.不确定性与自然计算并行性的内在关联[J ].计算机科学,2010,37(2):216-220.

 6 汪镭,张永,郭为安,等.自然计算发展趋势研究[J].微型电脑应用,2010(7):1-5.

 7 胡志卷,杨巍,史峥.基于最速下降法的可制造性模型[J].计算机工程,2010,36(20):225-228.

 8 赵晶,唐焕文,朱动芝.模拟退火算法的一种改进及其应用研究[J ].大连理工大学学报,2006,46(5):775-780. 9 王知人,章胤.一种改进的模拟退火算法[J ].高等学校计算数学学报,2006,28(1):15-19.

10 靳利霞,唐焕文,李斌,等.一类连续函数模拟退火算法及其收敛性分析[J].计算数学,2005,27(1):19-30.11 杨若黎,顾基发.一种高效的模拟退火全局优化算法[J].系统工程理论与实践,1997(5):29-35.

12 李雪,刘弘,常亮.基于模拟退火机制的多微粒群协同进化算法[J ].计算机应用研究,2009,26(1):71-73.13 王凌.智能优化算法及其应用[M ].北京:清华大学出版社,2001.

14 M andelbr ot B B.T he F ra ct al G eometr y of N ature [M ].N ew Yo rk:Fr eeman W H and Co mpany pr ess,1982.

15 M andelbr o t B B.Ho w lo ng is the co ast o f br itain?St atistical self-similar it y and fr actio nal dimension [J].Science,

1967,156:636-638.

16 K ir kpa trick S.Per co latio n and conductio n[J].Rev M od Phy s,1973,45:574-588.

17 Co hen R ,Hav lin https://www.360docs.net/doc/af12521529.html,plex N etw or ks:Str uctur e,Ro bustness and F unctio n[M ].Cambridg e:Cambr idge U niv er si-

ty Pr ess ,2010.

18 Chr istensen K ,M oloney N R .Complexity and Crit icality [M ].L ondon :I mper ial Colleg e Pr ess ,2005.

Fractal and Phase T ransition Behavior of Simulated

Annealing Algorithm

Zhang Guiqing 1,Yu Zi 1,Bai Yu 2,Yang Qiuy ing

3(1.Dep ar tment of Phy sics ,College of S cience ,N anj ing For estry U niver sity ,N anj ing 210037,China ;

2.College of P hy sics S cience ,N ank ai U niver sity ,T ianj in 300071,China ;

3.College of P hy sics and E lectr onic Eng ineer ing ,Changshu I nstitute of T echnology ,Changshu 215500,China ) Abstract :No nlinear dynamical behav ior of sim ulated annealing algor ithm has been investi-gated.T he pro bability of finding quality solutions is positiv ely related to initial tem peratur e,

step leng th and annealing rate etc.Simulation results show that there ar e fr actal structures in the dom ain o f attraction and the fractal dim ensio n has been obtained by fractal box dimensio n,

and the fr actal dimension is tw o .T his phenom enon is attributed to the interaction betw een tw o

attractors.A sigm oid curve w hich indicates the phase transition (especially percolatio n-like pheno meno n)has been presented w hen discuss the probability of minimal v alue w ith the in-crease o f initial state .Key words :simulat ed annealing ;fractal ;per co la tio n -like ;pha se tr ansition ?5? 第6期张贵清等:模拟退火算法中分形和相变现象

模拟退火算法介绍

解析模拟退火算法 一.爬山算法(Hill Climbing) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜索,因为在A点无论向那个方向小幅度移动都不能得到更优的解。 二.模拟退火(SA,Simulated Annealing)思想 爬山法是完完全全的贪心法,每次都鼠目寸光的选择一个当前最优解,因此只能搜索到局部的最优值。模拟退火其实也是一种贪心算法,但是它的搜索过程引入了随机因素。模拟退火算法以一定的概率来接受一个比当前解要差的解,因此有可能会跳出这个局部的最优解,达到全局的最优解。以图1为例,模拟退火算法在搜索到局部最优解A后,会以一定的概率接受到E的移动。也许经过几次这样的不是局部最优的移动后会到达D点,于是就跳出了局部最大值A。 模拟退火算法描述:

若J(Y(i+1))>=J(Y(i))(即移动后得到更优解),则总是接受该移动 若J(Y(i+1))

模拟退火算法原理及改进

作者简介:李香平(1978 ̄),男,湖北监利人,中国地质大学计算机学院硕士研究生,研究方向为科学研究与可视化;张红阳(1982 ̄),男,湖北咸宁 人,中国地质大学计算机学院硕士研究生,研究方向为数据挖掘与数据仓库。 模拟退火算法原理及改进 李香平,张红阳 (中国地质大学计算机学院,湖北武汉430074) 摘 要:模拟退火算法是一种强大的随机搜索算法,能应用于许多前提信息很少的问题,能渐进地收敛于最优值。对 SA算法进行了介绍,论述了SA算法的原理并对算法进行了改进,展示了计算实验的结果。 关键词:模拟退火;全局优化中图分类号:TP312 文献标识码:A 文章编号:1672-7800(2008)04-0047-02 0引言 近年来,传统的单一算法越来越不适应大规模非线性规划 问题。它们要求目标函数是可微的和收敛的。SA能很好地弥补它们的缺陷。 从用于统计力学的MonteCarlo方法上受到启发,SA算法在 1983被Kirkpatrick提出来。对比传统局部搜索算法,SA在搜索 时会在搜索空间上下移动而不依赖初始条件,擅长解决多维问题。此外,它能处理任意程度的非线性、 不连续和随机的问题。能处理任意边界和约束的评估函数。因此,它能轻易处理有脊背和高地的函数。只要初温高、退火表适当,它就能得到全局最优。SA成功应用于组合优化、神经网络、图像处理和代码设计。 1模拟退火算法原理 组合优化问题是在给定的约束条件下,求目标函数的最值 的问题。设(S,f)是组合优化问题的一个实例,iopt∈S若对所有 i∈S,都有f(iopt)≥f(i),则称f(iopt)≤f(i)为minf(i)的最优解。 SA来源于物理热力学原理,综合了固体退火与组合优化 之间的类似性。类似固体的复杂系统,先被加热到一个物质粒子能自由移动的很高的温度,当它慢慢冷却时,它的能量减少。如果“冷却”过程足够慢,系统将忽略局部稳定构造,到达能量最低状态,即基态。 在模拟的每一步中,新解的产生按照Metropolistransition法则,一个新的状态从现有的状态中产生,这个法则能以一定的概率接受能量上升(即产生劣解)的新状态,而能量下降是优化的总目的。法则如下所示: p(x=>y)= 1, f$%y≤f$%xexp-f$% xf$%y $ % , otherwis&e f是系统能量,t是温度。SA的一般框架: Generatedinitialstateatrandom;Generatedinitialtemperature;REPEATREPEAT y=generate(,); IFaccept(,y,)THEN=y UNTIL'innerloopstopcriterion'satisfied 为了提高SA的性能,我们应该仔细处理控制参数的协调。(1)初始温度的选择。初始温度太高会花费高昂的计算时间,太低会拒绝劣解的接受,会丢失SA全局优化的优点。本文提出了一个初始温度的公式: t0=’f+ lnx -1 ’f+ 是函数增量的平均值,χ 是初始的接受概率。(2)温度降低策略。温度降低越快,陷入局部的概率就越大。然而,温度降低太慢会导致算法速度慢得不能接受。本文采用了一种快速的非线性降低法: tk= t0 1+k k=1,2,3,…… (3)适当的邻域结构。在退火期间,步长太小导致算法在探索相位空间效率低,太大新解总被拒绝。在持续优化时,新的等价值均一地按间距分布在以xi的坐标为中心的邻域中,沿轴的间距的一半被看作步长向量ξ。当点落在f的定义域内时,就随机产生新解。 (4)终止标准。内循环是单一温度下在各种条件下Marcov链的一种渐进接近全局最优的模拟实现,即循环Marcov链长次数结束。外循环取某个温度t作为算法终止标准,或者是迭代若 软件导刊 SoftwareGuide 第7卷第4期 2008年4月Vol.7No.4Apr.2008

模拟退火算法算法的简介及程序

模拟退火算法 模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据Metropolis准则,粒子在温度T时趋于平衡的概率为e-ΔE/(kT),其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann常数。用固体退火模拟组合优化问题,将内能E模拟为目标函数值f,温度T演化成控制参数t,即得到解组合优化问题的模拟退火算法:由初始解i和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。退火过程由冷却进度表(Cooling Schedule)控制,包括控制参数的初值t及其衰减因子Δt、每个t值时的迭代次数L和停止条件S。 模拟退火算法的模型 模拟退火算法可以分解为解空间、目标函数和初始解三部分。 模拟退火的基本思想: (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′/T)

接受S′作为新的当前解. (6) 如果满足终止条件则输出当前解作为最优解,结束程序。终止条件通常取为连续若干个新解都没有被接受时终止算法。 (7) T逐渐减少,且T->0,然后转第2步。 算法对应动态演示图: 模拟退火算法新解的产生和接受可分为如下四个步骤: 第一步是由一个产生函数从当前解产生一个位于解空间的新解;为便于后续的计算和接受,减少算法耗时,通常选择由当前新解经过简单地变换即可产生新解的方法,如对构成新解的全部或部分元素进行置换、互换等,注意到产生新解的变换方法决定了当前新解的邻域结构,因而对冷却进度表的选取有一定的影响。 第二步是计算与新解所对应的目标函数差。因为目标函数差仅由变换部分产生,所以目标函数差的计算最好按增量计算。事实表明,对大多数应用而言,这是计算目标函数差的最快方法。 第三步是判断新解是否被接受,判断的依据是一个接受准则,最常用的接受准则是Metropo1is准则: 若Δt′<0则接受S′作为新的当前解S,否则以概率exp(-Δt′/T)接受S′作为新的当前解S。 第四步是当新解被确定接受时,用新解代替当前解,这只需将当前解中对应于产生新解时的变换部分予以实现,同时修正目标函数值即可。此时,当前解实现了一次迭代。可在此基础上开始下一轮试验。而当新解被判定为舍弃时,则

模拟退火算法及其改进_蒋龙聪

第4卷第2期2007年4月  工程地球物理学报 CHIN ESE J OU RNAL OF EN GIN EERIN G GEOP H YSICS Vol 14,No 12Apr 1,2007 文章编号:1672—7940(2007)02—0135—06 模拟退火算法及其改进 蒋龙聪,刘江平 (中国地质大学地球物理与空间信息学院,武汉430074) 作者简介:蒋龙聪(1983— ),男,硕士研究生,现在主要从事地震数据处理和反演理论方法研究。E 2mail :longcja @https://www.360docs.net/doc/af12521529.html, 刘江平(1957— ),男,教授,博士生导师,主要从事地震勘探的科研与教学工作。E 2mail :liujp @https://www.360docs.net/doc/af12521529.html, 摘 要:借鉴遗传算法中的非均匀变异思想,用非均匀变异策略对当前模型扰动产生新的模型,对传统的模 拟退火算法提出了改进,通过多峰值函数数值优化测试结果表明,该算法在高温的时候能够进行大范围的搜索,随着温度的降低,逐渐缩小解的搜索范围,大大加快了收敛速度,证实了该改进算法的有效性和高效性。 关键词:模拟退火算法;非均匀变异;数值最优化;反演 中图分类号:P631文献标识码:A 收稿日期:2006— 12—07R evised Simulated Annealing Algorithm Jiang Longcong ,Liu Jiangping (I nstitute of Geop hysics and Geomatics ,China Universit y of Geosciences ,W uhan 430074,China ) Abstract :Based on t he idea of non 2uniform mutation in genetic algorit hm ,we present a novel revised simulated annealing (RSA ),which used t he non 2uniform mutation to generate a new model f rom current model.Tested by some numerical f unctions ,RSA can search in t he large area for t he solutions in high temperat ure.Wit h t he lowering of t he temperat ure ,t he area of searching t he solutions will be gradually reduced and convergence will speed up.So t he re 2sult s p rove t he effectiveness of RSA. K ey w ords :simulate annealing ;non 2uniform mutation ;numerical optimal ;inversion 1 引 言 人类对地球内部物理性质(包括速度、密度、电导率、温度等)以及矿产资源分布的了解,大多来自地表地质和地球物理、地球化学资料的反演和解释[1]。反演方法可以分为线性反演和非线性反演两种,线性反演已成为一套科学的反演理论,然而,绝大部分地球物理问题都是非线性的,并且实践表明,线性反演方法有容易陷入局部极值和依赖于初始值等缺点。因此,地球物理学者们不 断的尝试开发非线性反演方法,比如人工神经网 络[2]、小波多尺度反演[3]、模拟退火算法[4]等。 模拟退火算法是近年发展起来的全局最优化算法,其主要优点是;不用求目标函数的偏导数及解大型矩阵方程组,即能找到一个全局最优解,而且易于加入约束条件,编写程序简单。目前此法已开始用于解决非线性地球物理反问题,如波形反演、静校正、叠前偏移速度分析等非线性反演中,并取得了较好的效果。 然而,由于模拟退火法是建立在随机搜寻方法的基础上,要达到一定的精度要求,每一模型参

模拟退火算法报告

模 拟退火算法 一 定义 1 概念 什么是退火?在热力学上,退火现象指物体逐渐降温的物理现象,温度愈低,物体的能量状态会低;够低后,液体开始冷凝与结晶,在结晶状态时,系统的能量状态最低。大自然在缓慢降温(亦即,退火)时,可“找到”最低能量状态:结晶。但是,如果过程过急过快,快速降温(亦称「淬炼」)时,会导致不是最低能态的非晶形。如下图所示,首先(左图)物体处于非晶体状态。我们将固体加温至充分高(中图),再让其徐徐冷却,也就退火(右图)。加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小(此时物体以晶体形态呈现)。 似乎,大自然知道慢工出细活:缓缓降温,使得物体分子在每一温度时,能够有足够时间找到安顿位置,则逐渐地,到最后可得到最低能态,系统最安稳。 模拟退火算法(SA)最早的思想是由N. Metropolis 等人于1953年提出。1983 年,S. Kirkpatrick 等成功地将退火思想引入到组合优化领域。它是基于Monte-Carlo 迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。模拟退火算法从某一较高初温出发,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部最优解能概率性地跳出并最终趋于全局最优。 模拟退火其实也是一种贪心算法,但是它的搜索过程引入了随机因素。在迭代更新可行解时,以一定的概率来接受一个比当前解要差的解,因此有可能会跳出这个局部的最优解,达到全局的最优解。以下图为例,假定初始解为左边蓝色点A ,模拟退火算法会快速搜索到局部最优解B ,但在搜索到局部最优解后,不是就此结束,而是会以一定的概率接受到左边的移动。也许经过几次这样的不是局部最优的移动后会到达全局最优点D ,于是就跳出了局部最小值。 根据热力学的原理,在温度为T 时,出现能量差dE 的降温的概率为P(dE),表示 为: ()?? ? ??=kT dE E P ex p d 。其中k 是波尔兹曼常数,值为-2310×13)1.3806488(=k ,exp 表示自然指数,且dE<0。因此dE/kT<0,所以P(dE)函数的取值范围是(0,1)。满足概率密度函数的定义。其实这条公式更直观意思就是:温度越高,出现一次能量差为P(dE)的降温的概率就越大;温度越低,则

模拟退火算法简介与实例

模拟退火算法简介与实例 2010-07-10 12:30:55| 分类:algorithms | 标签:|字号大中小订阅 摘要 模拟退火算法是S. Kirkpatrick, C. D. Gelatt和M. P. Vecchi在1983年所发明。是一种典型的概率模拟算法(Monte Carlo算法),其基本想想与冶金上的退火有相似之处,在一个相当大的空间内搜索最优解,而每次只搜索与自己临近的状态。此算法被证明以接近概率1接近最优解。其中有较好的物理思想,是模拟类算法中的典范。模拟退火算法由于要计算相临状态,这与Ising模拟的计算模拟有相似之处,因此本文也将对Ising做一个介绍。本文介绍算法的基本思想并做一个例子求解TSP问题(旅行商问题),重在介绍算法思想,具体算法的优化与改进不是本文涵盖范围。 1. Ising模型 Ising模型描述的是物体的铁磁性质,在铁和镍这类金属中,当温度低于居里温度时,原子的自旋自发地倾向某个方向,而产生宏观磁矩。温度高于居里温度时,自旋的取向非常紊乱,因而不产生净磁矩。当温度从大于或小于两边趋于居里温度时,金属的比热容趋于无限大。这是物质在铁磁性状态和非铁磁性状态之间的相变。伊辛模型就是模拟铁磁性物质的结构,解释这类相变现象的一种粗略的模型。它的优点在于,用统计物理方法,对二维情形求得了数学上严格的解。这就使得铁磁性物质相变的大致特征,获得了理论上的描述。 1.1模型描述 这个模型所研究的系统是由N个阵点排列成n维周期性点阵,这里n=2。点阵的几何构形可以是立方的或六角形的,每个阵点上都赋予一个取值+1或-1的自旋变量i,如果i=+1,即第N个阵点的自旋向上;如i=-1,即第个N阵点的自旋向下并且认为只是最近邻的自旋之间有相互作用。点阵的位形用一组自旋变量(这里i=2)来确定,如下图所示 图1,模型图示图2,最近临磁子 1.2模型计算 1)两个相临磁子趋向平行能量最低,即两个磁子的自旋方向非平行与平行。能量相差ΔE。 2)每个磁子的磁矩为m,总的磁矩为每个磁子的磁矩和。

关于模拟退火算法及其影响因素的研究

关于模拟退火算法及其影 i《_■ SILICONV VALLE工响因素的研究 邓超陈文宣王树青 (东莞南博职业技术学院广东东莞523083)信毫科学 插要:通过使用模拟退火算法模拟逼近函数:y=x+cosx+i开展实验,并在实验过程中对模拟退火算法的影响因素进行比较t并提出相应的改进方案,直观的将两者的差别体现出来。 关键词:模拟退火算法;权系数;阀值:神经网络结构;MATLAB 中圈分类号:TP3文献标识码:A文章编号z1671-7597(2010)0410045--01 1鬟拟量火算法的基本曩客 模辛}l退火算法最初的思想[自Metropolis在1953年提出,其来源统计物理学中对于固体退火过程的模拟。他采用Metropolis准则接收新解,用冷去系数的参数对算法进程进行控制。使得算法在多项时间里得出最优解.2对曩板退火算法进行试t研究 1)用模拟退火算法模拟逼近函数:y=x+cosx+1并对神经网络的权系数、阀值进行学习其神经网络结构为1—3-4_3—1. 2)具体试验过程如下: 模拟退火算法的实现主要采用了¨TLAB软件,利用其中的神经网络工具箱进行编程模拟.在网络UUl练方面,隐层采用logsig(厂(j)=_—二—__-) H’a烈一哪函数作为传递函数。在输出层方面采用线性输出函数imrelin(,(善)=#).降温函数采用t=^t. ①给定的学习样本、初始温度、结柬温度及降温速率^. @在某一温度下.以正态分布(Matlab中用randn)生成函数产生新的权系数增量△翻。‘虬.=缈+△翻生成新的权系数。 ③根据代价函数求出神经网络的输出偏差E∥t 胛=;(歹一y)2. @如果P,rS0,则取翻r+l为新值,即q=够+l? ⑤如果P玎>o,采用接收函数:B(i)=[I+e=V/‘】_1 以其值和[0,l】随机数d进行比较: 若B(i)>d。则Cd=够.。;, 若B(i)≤d,则国不变。 @以t:xt修改参数t.即缓慢降温。返回②执行. 3)试验生产的原函数和网络输出图如下: 4)结果分析t 由学习的结果来看,学习的曲线和原曲线相差较大,而且函数收敛得很慢.其原因是模拟退火法的初始参数包括初温tO,结束温度tf’衰减温度deltaT及控制内循环的马尔可夫链长L的选择对整个结果产生较大影响。 3樱报遗火法的改盛可行性方毫 1)设计合适的状态产生函数:设计高效的退火历程;避免状态的迂回搜索;采用并行搜索结构:改进对温度的控制方式;选择合适的初始状态;设计合适的算法终止准则。 2)也可通过增加某些来实现:如增加升温或重升温过程;增加记忆功能{增加朴充搜索过程。 4-}墨横挂鼍火算法的实验改进方囊 ”对原算法的神经喇络结构进行更改.由卜3-4—3一l改为卜10一h 2)调整即网络训练参数:具体为添加代码为: net.trainParaLepochs23000: net.trainPar∞.goal=0.002: net.trainParanIr20.0l: I开始训练 net2train(net,x.y):) 在对原算法改进后试验产生的原函数和网络输出图如下(改进处在源程序中体现): 由结果可以看到,改进后的算法收敛速度加快,函数的逼近和精度都已经较高。 参考文献: 【l】王士同、陈剑夫等编著。问题求解的人工智能神经网络方法r气象出版社. [2]焦李成.神经网络系统理论,西安,西安电子科技大学出版社,1996.6. 作者简介: 邓超(1979-),男.汉族.广东省韶关市人,硕士.东莞南博职业技术 学院助教,研究方向;神经网络? 万方数据

模拟退火算法

一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜索,因为在A点无论向那个方向小幅度移动都不能得到更优的解。 图1 二. 模拟退火(SA,Simulated Annealing)思想 爬山法是完完全全的贪心法,每次都鼠目寸光的选择一个当前最优解,因此只能搜索到局部的最优值。模拟退火其实也是一种贪心算法,但是它的搜索过程引入了随机因素。模拟退火算法以一定的概率来

接受一个比当前解要差的解,因此有可能会跳出这个局部的最优解,达到全局的最优解。以图1为例,模拟退火算法在搜索到局部最优解A 后,会以一定的概率接受到E的移动。也许经过几次这样的不是局部最优的移动后会到达D点,于是就跳出了局部最大值A。 模拟退火算法描述: 若J( Y(i+1) )>= J( Y(i) ) (即移动后得到更优解),则总是接受该移动 若J( Y(i+1) )< J( Y(i) ) (即移动后的解比当前解要差),则以一定的概率接受移动,而且这个概率随着时间推移逐渐降低(逐渐降低才能趋向稳定) 这里的“一定的概率”的计算参考了金属冶炼的退火过程,这也是模拟退火算法名称的由来。 根据热力学的原理,在温度为T时,出现能量差为dE的降温的概率为P(dE),表示为: P(dE) = exp( dE/(kT) ) 其中k是一个常数,exp表示自然指数,且dE<0。这条公式说白了就是:温度越高,出现一次能量差为dE的降温的概率就越大;温度越低,则出现降温的概率就越小。又由于dE总是小于0(否则就不叫退火了),因此dE/kT < 0 ,所以P(dE)的函数取值范围是(0,1) 。 随着温度T的降低,P(dE)会逐渐降低。 我们将一次向较差解的移动看做一次温度跳变过程,我们以概率 P(dE)来接受这样的移动。 关于爬山算法与模拟退火,有一个有趣的比喻: 爬山算法:兔子朝着比现在高的地方跳去。它找到了不远处的最高山峰。但是这座山不一定是珠穆朗玛峰。这就是爬山算法,它不能保证局部最优值就是全局最优值。 模拟退火:兔子喝醉了。它随机地跳了很长时间。这期间,它可能走向高处,也可能踏入平地。但是,它渐渐清醒了并朝最高方向跳去。这就是模拟退火。

模拟退火算法基本原理介绍

模拟退火算法 一、模拟退火算法概念 模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据Metropolis准则,粒子在温度T 时趋于平衡的概率为e-ΔE/(kT),其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann 常数。用固体退火模拟组合优化问题,将内能E模拟为目标函数值f,温度T演化成控制参数t,即得到解组合优化问题的模拟退火算法:由初始解i和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。退火过程由冷却进度表(Cooling Schedule)控制,包括控制参数的初值t及其衰减因子Δt、每个t值时的迭代次数L和停止条件S。 二、模拟退火算法的模型 模拟退火算法可以分解为解空间、目标函数和初始解三部分。 模拟退火的基本思想: (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′/T)接受S′作为新的当前解. (6) 如果满足终止条件则输出当前解作为最优解,结束程序。 终止条件通常取为连续若干个新解都没有被接受时终止算法。 (7) T逐渐减少,且T->0,然后转第2步。 算法对应动态演示图: 模拟退火算法新解的产生和接受可分为如下四个步骤: 第一步是由一个产生函数从当前解产生一个位于解空间的新解;为便于后续的计算和接受,减少算法耗时,通常选择由当前新解经过简单地变换即可产生新解的方法,如对构成新解的全部或部分元素进行置换、互换等,注意到产生新解的变换方法决定了当前新解的邻域结构,因而对冷却进度表的选取有一定的影响。 第二步是计算与新解所对应的目标函数差。因为目标函数差仅由变换部分产生,所以目标函数差的计算最好按增量计算。事实表明,对大多数应用而言,这是计算目标函数差的最快方法。 第三步是判断新解是否被接受,判断的依据是一个接受准则,最常用的接受准则是Metropo1is准则: 若Δt′<0则接受S′作为新的当前解S,否则以概率exp(-Δt′/T)接受S′作为新的当前解S。 第四步是当新解被确定接受时,用新解代替当前解,这只需将当前解中对应于产生新解时的变换部分予以实现,同时修正目标函数值即可。此时,当前解实现了一次迭代。可在此基础上开始下一轮试验。而当新解被判定为舍弃时,则在原当前解的基础上继续下一轮试验。 模拟退火算法与初始值无关,算法求得的解与初始解状态S(是算法迭代的起点)无关;模拟退火算法具有渐近收敛性,已在理论上被证明是一种以概率l 收敛于全局最优解的全局优化算法;模拟退火算法具有并行性。

遗传模拟退火算法及其应用

本科毕业设计(论文)外文参考文献译文及原文 学院轻工化工学院 专业制药工程 (天然药物方向)年级班别20 09级(2)班 学号3109002300 学生姓名黄学润 指导教师魏关锋 2013年6月

遗传/模拟退火算法及其应用 Guangming Lv, Xiaomeng Sun, Jian Wang College of Mechanical and Electronic Engineering, Harbin Institute of Technology, Harbin Heilongjiang, China lgmhit@https://www.360docs.net/doc/af12521529.html, 摘要:本文将模拟退火算法和遗传算法相结合,提出了一种新的算法。遗传算法(GA)中嵌入模拟退火算法(SA),结合成一个新的全局优化算法。SA的使用降低了GA的参数选择的困难。此外,新算法可以缩减组合的搜索区域,并避免了遗传算法中存在的“过早收敛”问题,提高了算法的收敛性。遗传操作的交叉算子在该算法中发挥着重要作用。通过计算机仿真,我们可以看到新的算法相对于传统的遗传算法和模拟退火算法更具优势。 关键词:模拟退火法;遗传算法;过早收敛;交叉算子 I.引言 遗传算法(GA)首先由密歇根大学教授J.Holland提出,源于对自然和人工系统的自适应行为的研究。GA是模拟生物在自然环境中的遗传和进化过程而形成的一种基于达尔文的进化论和孟德尔的遗传学说的自适应全局优化概率搜索算法。对于复杂的优化问题,没有必要使用GA的建模和复杂操作[1]。与传统的搜索算法相比,GA将优化问题的解空间转换成遗传空间。它从一个种群中产生问题的一个解,并根据“优胜劣汰”的原则,一代又一代的达到问题的最优解或最近解。 遗传算法的主要特点是:处理对象不是参数本身,而是参数集的编码操作;GA同时处理的几个群体中个体,即同时估计在搜索空间中的几个解;GA只利用问题的目标函数,不需要任何其他条件或辅助信息;GA不采取一定的角色,而采用概率的变化规律来指导搜索方法;GA可以在较大的解空间快速搜索。 GA通过选择复制的行为和遗传因素保持优化种群的进化使得他们最终收敛到最优解。选择复制给予个体更大的适应性和函数值更大的复制概率,并能加速

模拟退火算法解决函数优化问题

智能信息处理实验报告 14电科一班 XX XXXX 模拟退火算法解决函数优化问题

实验二 一、实验目的 1. 掌握模拟退火算法的基本原理和步骤。 2. 复习VB 、VC 的基本概念、基本语法和编程方法,并熟练使用VB 或VC 编写遗传算法程序。 二、实验设备 微机 三、实验原理 模拟退火算法是基于Monte Carlo 迭代求解策略的一种随机寻优算法,其出发点是基于物理退火过程与组合优化之间的相似性,模拟退火算法由某一较高初温开始,利用具有概率突跳特性的Metropolis 抽样策略在解空间中进行随机搜索,伴随温度的不断下降重复抽样过程,最终得到问题的全局最优解。 标准模拟退火算法的一般步骤可描述如下: (1) 令m =0,给定初温t m ,随机产生初始状态s m ; (2) Repeat ; s old =s m ; (2.1) Repeat ; (2.1.1) 产生新状态:s new =Generate(s old ); (2.1.2) 若min{1, exp[(C (s old )-C (s new ))/t m ]}≥random[0, 1],则s old =s new ; (2.1.3) Until 抽样稳定准则满足; (2.2) 退温:t m +1=update(t m ),s m +1=s old ,m =m +1; (3) Until 算法终止准则满足; (4) 输出算法搜索结果:s m 。 四、实验内容及步骤 1. 上机编写程序,解决以下函数优化问题:()221min 10i i i f x x =??=≤ ? ?? ∑X 2. 调试程序。 3. 根据实验结果,写实验报告。

模拟退火算法及其Matlab实现

模拟退火算法及其Matlab 实现 模拟退火算法(Simulated Annealing algorithm ,简称SA )是柯克帕垂克(S. Kirkpatrick )于1982年受热力学中的固体退火过程与组合优化问题求解之间的某种“相似性”所启发而提出的,用于求解大规模组合优化问题的一种具有全局搜索功能的随机性近似算法。与求解线性规划的单纯形法、Karmarkar 投影尺度法,求解非线性规划的最速下降法、Newton 法、共轭梯度法,求解整数规划的分支定界法、割平面法等经典的优化算法相比,模拟退火算法在很大程度上不受制于优化问题的具体形式和结构,具有很强的适应性和鲁棒性,因而也具有广泛的应用价值。 模拟退火算法源于对固体退火过程的模拟;采用Metropolis 接受准则;并用一组称为冷却进度表的参数来控制算法进程,使得算法在多项式时间里给出一个近似最优解。固体退火过程的物理现象和统计性质是模拟退火算法的物理背景;Metropolis 接受准则使算法能够跳离局部最优的“陷阱”,是模拟退火算法能够获得整体最优解的关键;而冷却进度表的合理选择是算法应用的关键。 1 物理退火过程 物理中的固体退火是先将固体加热至熔化,再徐徐冷却,使之凝固成规整晶体的热力学过程。在加热固体时,固体粒子的热运动不断增加,随着温度的升高,粒子与其平衡位置的偏离越来越大,当温度升至溶解温度后,固体的规则性被彻底破坏,固体溶解为液体,粒子排列从较有序的结晶态转变为无序的液态,这个过程称为溶解。溶解过程的目的是消除系统中原先可能存在的非均匀状态,使随后进行的冷却过程以某一平衡态为始点。溶解过程与系统的熵增过程相联系,系统能量也随温度的升高而增大。 冷却时,液体粒子的热运动渐渐减弱,随着温度的徐徐降低,粒子运动渐趋有序。当温度降至结晶温度后,粒子运动变为围绕晶体格点的微小振动,液体凝固成固体的晶态,这个过程称为退火。退火过程之所以必须“徐徐”进行,是为了使系统在每一温度下都达到平衡态,最终达到固体的基态(图1-1)。退火过程中系统的熵值(衡量不能利用的热能数量)不断减少,系统能量也随温度降低趋于最小值。冷却时,若急剧降低温度,则将引起淬火效应,即固体只能冷凝为非均匀的亚稳态,系统能量也不会达到最小值。 退火过程中系统在每一温度下达到平衡态的过程,可以用封闭系统的等温过程来描述。根据玻尔兹曼(Boltzmann )有序性原理,退火过程遵循应用于热平衡封闭系统的热力学定律——自由能减少定律: “对于与周围环境交换热量而温度保持不变的封闭系统,系统状态的自发变化总是朝着自由能减少的方向进行,当自由能达到最小值时,系统达到平衡态”。 系统的自由能F E TS =-,其中E 是系统的内能,T 是系统温度,S 是系统的熵。设 i 和j 是恒温系统的两个状态,即i i i F E TS =-和j j j F E TS =-,而 ()()j i j i j i F F F E E T S S E T S ?=-=---=?-? 若系统状态由i 自发变化到j ,则应有0F ?<。显然,能量减少(0E ?<)与熵增加

模拟退火算法研究概况

模拟退火算法文献综述 吕正祥交控1501 1模拟退火算法简述 1.1模拟退火算法的来源 模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。 模拟退火算法(Simulated Annealing,SA)最早由Kirkpatrick 等应用于组合优化领域,它是基于Monte-Carlo迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。模拟退火算法从某一较高初温出发,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部最优解能概率性地跳出并最终趋于全局最优。模拟退火算法是一种通用的优化算法,理论上算法具有概率的全局优化性能,目前已在工程中得到了广泛应用,诸如VLSI、生产调度、控制工程、机器学习、神经网络、信号处理等领域。 模拟退火算法是通过赋予搜索过程一种时变且最终趋于零的概率突跳性,从而可有效避免陷入局部极小并最终趋于全局最优的串行结构的优化算法。 1.2模拟退火算法的模型 模拟退火算法可以分解为解空间、目标函数和初始解三部分。

1.3模拟退火的基本思想 (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′/T)接受S′作为新的当前解. (6) 如果满足终止条件则输出当前解作为最优解,结束程序。终止条件通常取为连续若干个新解都没有被接受时终止算法。 (7) T逐渐减少,且T->0,然后转第2步。

模拟退火算法

【算法】数学建模常用算法简介——模拟退火算法 模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据Metropolis准则,粒子在温度T 时趋于平衡的概率为e-ΔE/(kT),其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann 常数。用固体退火模拟组合优化问题,将内能E模拟为目标函数值f,温度T演化成控制参数t,即得到解组合优化问题的模拟退火算法:由初始解i和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。退火过程由冷却进度表(Cooling Schedule)控制,包括控制参数的初值t及其衰减因子Δt、每个t值时的迭代次数L和停止条件S。 模拟退火算法的模型 模拟退火算法可以分解为解空间、目标函数和初始解三部分。 模拟退火的基本思想: (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′/T)接受S′作为新的当前解. (6) 如果满足终止条件则输出当前解作为最优解,结束程序。 终止条件通常取为连续若干个新解都没有被接受时终止算法。 (7) T逐渐减少,且T->0,然后转第2步。 模拟退火算法新解的产生和接受可分为如下四个步骤: 第一步是由一个产生函数从当前解产生一个位于解空间的新解;为便于后续的计算和接受,减少算法耗时,通常选择由当前新解经过简单地变换即可产生新解的方法,如对构成新解的全部或部分元素进行置换、互换等,注意到产生新解的变换方法决定了当前新解的邻域结构,因而对冷却进度表的选取有一定的影响。 第二步是计算与新解所对应的目标函数差。因为目标函数差仅由变换部分产生,所以目标函数差的计算最好按增量计算。事实表明,对大多数应用而言,这是计算目标函数差的最快方法。 第三步是判断新解是否被接受,判断的依据是一个接受准则,最常用的接受准则是Metropo1is准则: 若Δt′<0则接受S′作为新的当前解S,否则以概率exp(-Δt′/T)接受S′作为新的当前解S。 第四步是当新解被确定接受时,用新解代替当前解,这只需将当前解中对应于产生新解时的变换部分予以实现,同时修正目标函数值即可。此时,当前解实现了一次迭代。可在此基础上开始下一轮试验。而当新解被判定为舍弃时,则在原当前解的基础上继续下一轮试验。

数学建模优秀方法-模拟退火算法简介

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

| |1lim )()(S e e S j KT j E KT i E T = ∑∈-- ∞ → 其中||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 的一个邻域集合。 首先给定一个初始温度0T 和该优化问题的一个初始解)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

模拟退火算法

模拟退火算法 简介: 模拟退火算法得益于材料的统计力学的研究成果。统计力学表明材料中粒子的不 同结构对应于粒子的不同能量水平。在高温条件下,粒子的能量较高,可以自由运动和 重新排列。在低温条件下,粒子能量较低。如果从高温开始,非常缓慢地降温(这个过 程被称为退火),粒子就可以在每个温度下达到热平衡。当系统完全被冷却时,最终形 成处于低能状态的晶体。用图片说明下: 如果用粒子的能量定义材料的状态,Metropolis 算法用一个简单的数学模型描述了 退火过程。 以上所讲的,个人觉得是物理退火,可以把这些概念归为物理方面,和物理方面联系起来理解,相对容易。 以下则用数学思想解释模拟退火算法的模型模拟退火算法可以分解为解空间、目标函数和初始解三部分。(解空间可以理解为一个集合) 模拟退火的基本思想: (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′/T)接受S′作为新的当前解. (6) 如果满足终止条件则输出当前解作为最优解,结束程序。 终止条件通常取为连续若干个新解都没有被接受时终止算法。 (7) T逐渐减少,且T->0,然后转第2步。

这里随机产生新状态(新值),根据下面的公式,来自于Metropolis 准则,通过判断是否选取该新值,生成的函数比前一个函数的值更小(优),则选取它的概率百分百;反之,则通过下面图中的公式计算出它是否被选取的概率,然后在做决定。 该图可以算是上面步骤(4)的评价函数 整个操作流程图

相关文档
最新文档