- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.1.5几点说明.doc
第6章模拟退火算法及其MATLAB实现
模拟退火算法是所谓三大非经典算法之一,它脱胎于自然界的物理过程,与优化问题相结合。本章介绍了模拟退火算法的基本思想,给出了两个简单的例子,然后简介了改进的模拟火箭程序包ASA的情况。
6.1.1算法概述
工程中许多实际优化问题的目标函数都是非凸的,存在许多局部最优解,特别是随着优化问题规模的增大,局部最优解的数目将会迅速增加。因此,有效地求出一般非凸目标函数的全局最优解至今仍是一个难题。求解全局优化问题的方法可分为两类,一类是确定性方法,另一类是随机性方法。确定性算法适用于求解具有一些特殊特征的问题,而梯度法和一般的随机有哪些信誉好的足球投注网站方法则沿着目标函数下降方向有哪些信誉好的足球投注网站,因此常常陷入局部而非全局最优值。
模拟退火算法(simulated annealing,SA)是一种通用概率算法,用来在一个大的搜寻空间内寻找问题的最优解。早在1953年,Metropolis等就提出了模拟退火的思想,1983年Kirk—patrick等将SA引入组合优化领域,由于其具有能有效解决NP难问题、避免陷入局部最优、对初值没有依赖关系等特点,已经在VLS、生产调度、控制工程、机器学习、神经网络、图像处理等领域获得了广泛的应用。
6.1.2基本思想
现代的模拟退火算法形成于20世纪80年代初,其思想源于固体的退火过程,即将固体加热至足够高的温度,在缓慢冷却;升温时,固体内部粒子随温度升高变为无序状,内能增大,而缓慢冷却是粒子又逐渐趋于有序,从理论上讲,如果冷却过程足够缓慢,那么冷却中任一温度时固体都能达到热平衡,而冷却到低温时将达到这一低温下内能最小状态。
在这一过程中,任一恒定温度都能达到热平衡是个重要步骤,这一点可以用Monte Carlo算法模拟,不过其需要大量采样,工作量很大。但因为物理系统总是趋向于能量最低,而分子热运动则趋向于破坏这种低能量状态,故而只需着重取贡献比较大的状态即可达到比较好的效果,因而1953年Metropolis提出了这样一个重要性采样的方法,即设从当前状态i生成新状态j,若新状态i的能量(即),则接受新状态j作为新的当前状态;否则,以概率接受状态j,其中k为Boltzmann常数,这就是通常所说??Metropolis准则。
1953年,Kirkpatrick把模拟退火思想与组合最优的相似点进行类比,将模拟退火应用到了组合最优化问题中。在把模拟火箭退火算法应用于最优化问题时,一般可以将温度T当作控制参数,目标函数值f视为内能E,而固体在某温度T时的一个状态对应一个解。然后算法试图随着控制参数T的降低,使目标函数值f(内能E)也逐渐降低,直至趋于全局最小值(退火中低温时的最低能量状态),就像固体退火过程一样。
6.1.3其他一些参数说明
退火过程出一组初始参数,即冷却进度表(cooling schedule)控制,它的核心是尽量使系统达到平衡,以使算法在有限的时间内逼近最优解。冷却进度表包括:
⑴控制参数的初值:冷却开始的温度。
⑵控制参数T的衰减函数:因计算机能够处理的都是离散数据,因此需要把连续的降温过程离散化成降温过程中的一系列温度点,衰减函数即计算机这一系列温度的表达式。
⑶控制参数T的终值(停止准则)。
⑷Markov链的长度:任一温度T的迭代次数。
6.1.4算法基本步骤
⑴令,即开始退火的初始值,随机生成一个初始解,并计算相应的目标函数值。
⑵令T等于冷却进度表中的一个值。
⑶根据当前解进行扰动(扰动方式可以参考后面的实例),产生一个新解,计算相应的目标函数,得到。
若0(新比旧好),则新解被接受,作为新的当前解;若0,则新解按概率接受为当前温度。
(5)在温度下,重复次的扰动和接受过程,即执行步骤(3)与(4)。
(6)判断T是否达(终止温度)是,则终止算法;否,则转到步骤(2)继续执行。
算法是指分两层循环,在任意温度随即扰动产生新解,并计算目标函数变化,决定是否被接受。由于算法初始温度比较高,这样,使E增大的新解在初始时也可能被接受,因而能跳出局部最小值,然后通过缓慢地降低温度,算法就最终可能收敛到局部最优解。还有一点要说明得的是,虽然在降低温度时接受函数已经非常小了,但仍不排除又接受更差解的可能,因此一般都会把退火过程中碰到的最好的可行解(历史最优解也记录下来,与终止算法前最后一个被接受解一并输出)。
6.1.5几点说明
为了更好地实现模拟退火算法,在个人的经验之外,还需要注意以下一些方面。
状态表示
上文已经提到过,SA算法中优化问题的一个解模拟了(或说可以想象为)退火过程中固体内部的一种粒子分布情况。这里状态表达即指实际问题的解(及状态)如何以一种合适的数学形式表达出来,它应当适用于SA的求解,又能充分表达了实际问题,这需要仔细地设计。可以参考遗传算法和禁忌有哪些信誉好的足球投注网站中编码的相关
文档评论(0)