用MATLAB实现模拟退火算法.ppt
《用MATLAB实现模拟退火算法.ppt》由会员分享,可在线阅读,更多相关《用MATLAB实现模拟退火算法.ppt(30页珍藏版)》请在三一办公上搜索。
1、模拟退火算法及其MATLAB实现,模拟退火,第6章 模拟退火算法及其MATLAB实现,6.1 算法基本理论,6.2 算法的MATLAB实现,6.3 应用实例,简单了解退火算法特点,介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。,简单了解退火算法特点,爬山算法 如图所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜索,因为在A点无论向那个方向小幅度移动都不能得到更优的解。,模拟退火算法 在搜索到局部最优解A后,会以一定的概率接受到E的移动。也许经过几次这样的不是局部最优的移动后会
2、到达D点,于是就跳出了局部最大值A。,6.1 算法基本理论,一、算法概述,工程中许多实际优化问题的目标函数都是非凸的,存在许多局部最优解。求解全局优化问题的方法可分为两类:确定性方法和随机性方法。确定性算法适用于求解具有一些特殊特征的问题,而梯度法和一般的随机搜索方法则沿着目标函数下降方向搜索,因此常常陷入局部而非全局最优解。,6.1 算法基本理论,一、算法概述,模拟退火算法(SA)是一种通用概率算法。用来在一个大的搜索空间内寻找问题的最优解。1953年,Metropolis等提出了模拟退火的思想。1983年,Kirkpatrick等将SA引入组合优化领域。,6.1 算法基本理论,二、基本思想
3、,退火,俗称固体降温,先把固体加热至足够高温,使固体中所有粒子处于无序的状态,然后将温度缓慢下降,粒子渐渐有序,这样只要温度上升得足够高,冷却过程足够慢,则所有粒子最终会处于最低能态。,算法试图随着控制参数T的降低,使目标函数值f(内能E)也逐渐降低,直至趋于全局最小值(退火中低温时的最低能量状态),算法工作过程就像固体退火过程一样。,6.1 算法基本理论,模拟退火算法的由来,6.1 算法基本理论,Metropolis准则,以概率接受新状态,新状态的内能,当前状态的内能,温度,EjEi(更差的解)时,0P1,P随着T的减小而减小;,6.1 算法基本理论,6.1 算法基本理论,当初始温度足够高时
4、,概率P接近于1,所以当前解经过扰动产生的新解,无论好坏,基本都可以被接受为当前解。即不受制于当前解,不会困在局部最优解中,可以遍及解空间的各个区域,当然也不会保持在最优解处。随着温度降低,概率降低,较差解被接受的次数减少,当前解逐渐停留到最优解周围。温度达到终止温度前,概率足够低,使得只有最优解被接受,较差解都不接受。最优解即为最后接受的当前解。,算法总结,在高温下,可接受与当前状态能量差较大的新状态;在低温下,只接受与当前状态能量差较小的新状态。,6.1 算法基本理论,三、算法其他参数的说明,6.1 算法基本理论,四、算法基本步骤,初始温度,随机产生初始解。,接受新解作为当前解,计算概率与
5、0,1)随机数之间的差值,差值大于0,结束,输出当前解,Y,N,Y,N,N,Y,Y,N,6.1 算法基本理论,四、算法基本步骤,算法实质分为两层循环,在任一温度下随机扰动产生 新解,计算目标函数值的变化,决定是否接受。由于算法初始温度比较高,这样使E增大的新解在初始时也可能被接受,因此能跳出局部极小值,然后通过缓慢地降低温度,算法可能收敛到全局最优解。虽然在低温时接受函数已经非常小了,但仍不排除有接受更差解得可能,因此一般都会把退火过程中碰到的最好的可行解(历史最优解)也记录下来,与终止算法前最后被接受解一并输出。,6.1 算法基本理论,五、几点说明,1、新解的产生 要求尽可能地遍及解空间的各
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 实现 模拟 退火 算法
链接地址:https://www.31ppt.com/p-5796013.html