资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
模模 拟拟 退退 火火 算算 法法(Simulated Annealing)1 1、引子、引子2 2、SASA算法的起源算法的起源3 3、SASA算法的基本思想算法的基本思想4 4、SASA算法的步骤算法的步骤5 5、SASA算法应用范围与一般要求算法应用范围与一般要求6 6、SASA算法的优缺点算法的优缺点1 1、引子、引子 在科学与工程计算中,经常发生的一个问题是在Rn中或者是在一个有界区域上求某个非线性函数f(x)的极小点。在f(x)可导时,一个最基本的算法就是最速下降法。这一方法从某一选定的初值开始,利用如下公式进行迭代,即 然而以速降法为代表的传统算法具有共同的缺点,它们都不保证求得全局极小,只能保证收敛到一个由初值决定的局部极小点。每次都鼠目寸光的选择一个当前最优解,因此只能搜索到局部的最优值。模拟退火其实也是一种贪心算法,但是它的搜索过程引入了随机因素。模拟退火算法以一定的概率来接受一个比当前解要差的解,因此有可能会跳出这个局部的最优解,达到全局的最优解。 2 2、SASA算法的起源算法的起源 SA算法起源于对固体退火过程的模拟。简单而言,在固体退火时,先将固体加热使其温度充分高,再让其徐徐冷却,其物理退火过程由以下三部分组成:加温过程、等温过程、冷却过程。 SA算法就是模仿上述物理系统徐徐退火过程的一种通用随机搜索技术。模拟退火算法与物理退火过程的相似关系3 3、SASA算法的基本思想算法的基本思想 在搜索最优解的过程中,SA算法除了可以接受优化解外,还基于随机接受准则(Metropolis准则)有限度地接受恶化解,并且接受恶化解的概率慢慢趋向于0。(这使得算法有可能从局部最优中跳出,尽可能找到全局最优解,并保证了算法的收敛) SA的思想最早是由Metropolis等在1953年提出的,Metropolis 等提出了重要性采样法,即以概率接受新状态。SA算法的思想为: 由初始解i和控制参数初值t开始,对当前解重复 产生新解 计算目标函数差 接受或舍弃 的迭代, 并逐步衰减t值, 算法终止时的当前解即为所得近似最优解, 这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。SA算法与其它搜索方法相比,具有如下的特点: 以一定的概率接受恶化解; 引进算法控制参数;使用对象函数值进行搜索; 隐含并行性;搜索复杂区域。4 4、SASA算法的基本步骤算法的基本步骤1) 随机产生一个初始解x0,令xbest x0并计算目标函数值E(x0);2) 设置初始温度T(0)=To,迭代次数i = 1;3) Do while T(i) Tmin 1) for j = 1k 2) 对当前最优解xbest按照某一邻域函数,产生一新的解xnew。计算 新的目标函数值E(xnew) ,并计算目标函数值的增量E = E(xnew) - E(xbest) 。 3) 如果E 0,则xbest = xnew; 4) 如果E 0,则p = exp(- E /T(i); 1) 如果c = random0,1 p, xbest = xnew; 否则xbest = xbest。 5) End for4) i = i 1;5) End Do6) 输出当前最优点,计算结束。流流程程图图5 5、SASA算法应用范围与一般要求算法应用范围与一般要求 SA算法是近年来备受重视的一类软计算方法,能解决传统的非线性规划方法难于解决的某些问题,在VLSI、生成调度、控制工程、机器学习、神经网络、图像处理、函数优化等许多领域得到广泛的研究。 SA算法的应用需满足如下三个方面的要求: (1)对问题的简明形式的描述即数学模型,由解空间、目标函数和初始解三部分构成; (2)新解的产生和接受机制; (3)冷却进度表。 冷却进度表是指从某一高温状态T0向低温状态冷却时的降温管理表。 假设时刻t的温度用T(t)来表示,则经典模拟退火算法的降温方式为: 而快速模拟退火算法的降温方式为: 这两种方式都能够使得模拟退火算法收敛于全局最小点。5 5、SASA算法应用范围与一般要求算法应用范围与一般要求5 5、SASA算法应用范围与一般要求算法应用范围与一般要求 初始温度T0的设定: 实验表明,初温越大,获得高质量解的几率越大,但花费的计算时间将增加。因此,初温的确定应折衷考虑优化质量和优化效率,常用方法包括: (1) 均匀抽样一组状态,以各状态目标值的方差为初温。 (2) 随机产生一组状态,确定两两状态间的最大目标值差|max|,然后依据差值,利用一定的函数确定初温。比如,t0=max/pr,其中pr为初始接受概率。 (3) 利用经验公式给出。5 5、SASA算法应用范围与一般要求算法应用范围与一般要求 算法终止准则,常用的包括:1. (1) 设置终止温度的阈值; (2) 设置外循环迭代次数; (3) 算法搜索到的最优值连续若干步保持不变; (4) 检验系统熵是否稳定。6 6、SASA算法的优缺点算法的优缺点 与同类方法相比,SA算法具有以下优缺点: 优点:高效,灵活,通用,初值鲁棒性强,适用于并行处理,可用于求解复杂的非线性优化问题。 缺点:由于要求较高的初始温度、较慢的降温速率、较低的终止温度,以及各温度下足够多次的抽样,因此其收敛速度慢,执行时间长,算法性能与初始值有关及参数敏感等缺点。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号