模拟退火算法及其MATLAB实现第6章模拟退火算法及其MATLAB实现第6章模拟退火算法及其MATLAB实现6
1算法基本理论6
2算法的MATLAB实现6
3应用实例简单了解退火算法特点介绍模拟退火前,先介绍爬山算法
爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解
简单了解退火算法特点爬山算法如图所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜索,因为在A点无论向那个方向小幅度移动都不能得到更优的解
模拟退火算法在搜索到局部最优解A后,会以一定的概率接受到E的移动
也许经过几次这样的不是局部最优的移动后会到达D点,于是就跳出了局部最大值A
1算法基本理论6
1算法基本理论一、算法概述一、算法概述工程中许多实际优化问题的目标函数都是非凸的,存在许多局部最优解
求解全局优化问题的方法可分为两类:确定性方法和随机性方法
确定性算法适用于求解具有一些特殊特征的问题,而梯度法和一般的随机搜索方法则沿着目标函数下降方向搜索,因此常常陷入局部而非全局最优解
1算法基本理论6
1算法基本理论一、算法概述一、算法概述模拟退火算法(SA)是一种通用概率算法
用来在一个大的搜索空间内寻找问题的最优解
1953年,Metropolis等提出了模拟退火的思想
1983年,Kirkpatrick等将SA引入组合优化领域
1算法基本理论6
1算法基本理论二、基本思想二、基本思想退火,俗称固体降温先把固体加热至足够高温,使固体中所有粒子处于无序的状态,然后将温度缓慢下降,粒子渐渐有序,这样只要温度上升得足够高,冷却过程足够慢,则所有粒子最终会处于最低能态
算法试图随着控制参数T的降低,使目标函数值f(内能E)也逐渐降低,直至趋于全局最小值(退火中低温时的最低能量状态),算法工作过程就像固体退火过程一样