刘建华模拟退火法含程序.doc

刘建华模拟退火法含程序.doc

ID:55794451

大小:1.31 MB

页数:10页

时间:2020-06-02

刘建华模拟退火法含程序.doc_第1页
刘建华模拟退火法含程序.doc_第2页
刘建华模拟退火法含程序.doc_第3页
刘建华模拟退火法含程序.doc_第4页
刘建华模拟退火法含程序.doc_第5页
资源描述:

《刘建华模拟退火法含程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、10.9模拟退火法模拟退火法(参见[1,2])作为一种适合于求解大规模的优化问题的技术,近来已引起极大的关注。特别是当优化问题有很多局部极值而全局极值又很难求出时,模拟退火法尤其有效。在实用上,它有效地“解决了”著名的旅行推梢员问题,即在必须依次访问每一个城市(共有N个城市)的前提下,为旅行推销员设计一条能够返回起点的最短旅程。模拟退火方法还被成功地用于设计复杂的集成电路,也就是说如何最佳地安排几十万个电路元件,使它们全部集成在一个很小的硅片上,而相互连接的线路之间的缠绕能够达到最小(参见[3,

2、4]).尽管模拟退火法的功效非凡,但它的算法实现却相对地简单,这一点似乎有些不可思议。请注意,我们上面提到的两个例子都属于组合极小化问题。现本类问题通常也有一个目标函数,但是函数的定义域并不是简单地由N个连续参变量组成的N维空间,而是一个离散的巨大空间,例如,由所有可能的城市旅行路线组成的集合,或者硅片电路元件的所有可能的分配方式的集合。构形空间中元素的数量相当巨大,根本不可能穷举,而且因为集合是离散的,我们也不可能“沿合适的方向连续下降”。因此在构形空间中,“方向”概念就没有什么意义了。后面我

3、们还将介绍如何在其有连续控制参数的空间中利用模拟退火法。这种应用实际上要比组合问题复杂一些,因为其中又要出现“狭长山谷”的情况。正如在下文中我们将看到的,模拟退火法的试探步骤是“随机”的。但在一个狭窄且漫长的等高线山谷中,几乎所有的随机步骤都呈向上的趋势,因此,算法中需要增加一些技巧。模拟退火的核心思想与热力学的原理颇为相似,而且尤其类似于液体流动和结晶以及金属冷却和退火方式。在高温下,一种液体的大最分子彼此之间进行着相对自由的移动。如果该流体慢慢地冷却下来,热能可动性便会消失。大量原子常常能够

4、自行排列成行,形成一个纯净的晶体,该晶体在各个方向上都被完全有序地排列在几百万倍于单个原子大小的距离之内。对于这个系统来说,晶体状态是能量最低状态;而所有缓慢冷却的系统都可以自然达到这个能量最低状态,这可以说是一个令人惊奇的事实。实际上,如果某种液体金属被迅速冷却或被“猝熄”,那么它不会达到这一状态,而只能达到一种具有较高能量的多晶状态或非结晶状态。因此,这一过程的本质在于缓缓地致冷,以争取充足的时间,让大量原子在丧失可动性之前进行重新分布。这就是所谓退火在技术上的定义,同时也是确保达到低能量状

5、态所必需的条件。尽管我们的比喻并不算贴切,但是迄今为止本身所讨论的所有极小化算法,确实与快速冷却猝熄有某种关联之处。以往我们处理问题的方式都是:从初始点开始,立即沿下降方向前进,走得越远越好,似乎这样才能迅速求得问题的解。但是,正如前面常常提到的,这种方法往往只能求得局部极小点,却求不到整体最小点。自然界本身的极小化算法则基于一种截然不同的方式,所谓的玻尔兹曼(Boltzmann)概率分布(10.9.1)表达了这样一种思想,即:一个处于热平衡状态且具有温度T的系统,其能量按照概率,分布于所有不同

6、能量状态之中。即使在很低的温度下,系统也有可能(虽然这种可能性很小)处于一个较高的能量状态。因此,相应地,系统也能够获得摆脱局部能量极小点的机会。并找到一个更好的、更接近于整体的极小点。式(10.9.1)中的参数k(称为玻尔兹曼常数)是一个自然常数,它的作用是将温度与能量联系起来。换句话说,在有些情况下系统的能量可上升,也可下降,但是温度越低,显著上升的可能性就越小。1953年,米特罗波利斯(Metropolis)及其合作者们首次将这种原理渗透到数值计算中。他们对一个模拟热力学系统提供了一系列选

7、择项,并假设:系统构形从能量变化到能量的概率为。很显然,如果,将大于1;在这类情况下,对构形的能量变化任意指定一个概率值,也就是说,该系统总是取这个选择项。这种格式总是采取下降过程,偶尔采取上升步骤。目前已被公认为米特罗波利斯算法。为了将米特波利斯算法应用于热力学以外的系统,必须提供以下几项基本要素:1.对可能的系统构形的一种描述。2.一个有关构形内部随机变化的生成函数,这些变化将作为“选择项”提交给该系统。3.一个目标函数(类似于能量),求解的极小值,即为算法所要完成的工作。4.一个控制参数T

8、(类似于温度)和一个退火进程,该进程用来说明系统是如何从高值向低值降低的,例如在温度T时每次下降步骤中要经过多少次随机的构形变化以及该步长是多大等等。应说明的是,这里“高”和“低”的含义,还有进程表的确定,都需要一定的物理知识和/或一些摸索的实验。10.9.1组合极小化:旅行推销员问题下面是我们用“旅行推销员问题”为具体实例说明模拟退火法的应用。假设一个推销员,要去N个分别位于的城市进行推销,并于最后返回他原来所在的城市,要求每个城市只能去一次,而且所经过的路径要尽可能地短。这个问题属于一类所谓

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。