1 / 14
文档名称:

模拟退火算法工具箱及应用.ppt

格式:ppt   大小:1,412KB   页数:14页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

模拟退火算法工具箱及应用.ppt

上传人:文库新人 2022/1/13 文件大小:1.38 MB

下载得到文件列表

模拟退火算法工具箱及应用.ppt

文档介绍

文档介绍:模拟退火算法工具箱及应用
你现在浏览的是第一页,共14页

模拟退火算法工具箱(simulated annealing toolbox, SAT)
在R2009a版本中,MATLAB自带的遗传算法与直接搜索工具箱集成了模拟退火算法。
基本原理:模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。
*
*
你现在浏览的是第二页,共14页
SA算法结构示意图
simulannealbnd
simulanneal

saengine
= ture?




得到最优解
N
Y
*
*
你现在浏览的是第三页,共14页
SAT的使用只需要调用主函数simulannealbnd即可,函数simulannealbnd则调用函数simulanneal对模拟退火问题进行求解。函数simulanneal依次调用函数simulannealcommon和函数saengine,并最终得到最优解。在函数saengine中,SA进行迭代搜索,直到满足一定的条件才退出。在迭代过程中,函数sanewpoint和函数saupdates是关键函数。
*
*
你现在浏览的是第四页,共14页
模拟退火的一些基本概念
目标函数(objective function):即待优化的函数。在调用函数simulannealbnd运行模拟退火算法时,需要编写该目标函数的M文件。SAT是对目标函数取最小值进行优化的,对于最大值的优化问题,只需要将目标函数乘以-1即可化为最小值优化问题。
温度(temperature): 是一个重要的参数,他随着算法的迭代逐步下降,以模拟固体退火过程中的降温过程。一方面,温度用于限制SA产生的新解与当前解之间的距离,即SA的搜索范围;另一方面,温度决定了SA以多大的概率接受目标函数值比当前解的目标函数值差的新解。
*
*
你现在浏览的是第五页,共14页
退火进度表(annealing schedule):是指温度随算法迭代的下降速度。退火过程越缓慢,SA找到全局最优解的机会就越大。退火进度表包括初始温度(initial temperature)及温度更新函数(temperature update function)的参数。
Meteopolis准则:
是指SA接受新解的概率,对于目标函数取最小值的问题,SA接受新解的概率为:
*
*
你现在浏览的是第六页,共14页
案例分析
求解Rastrigin函数的最小值。
如何绘制?
*
*
你现在浏览的是第七页,共14页
程 序:
x1= -5::5; x2= -5::5; [x1,x2] = meshgrid(x1,x2); x3 = 20+x1^2+x2^2-10*(cos(2*pi*x1)+cos(2*pi*x2)); surfc(x1,x2,x3) colormap hsv
*
*
你现在浏览的是第八页,共14页
解题步骤:
Start — Toolboxes — Global optimization — Optimization tool
》optimtool (‘simulannealbnd’)
*
*
你现在浏览的是第九页,共14页
命令行方式使用SAT:
[x, fval] = simulannealbnd (fun, x0, lb, ub, options)
options = saoptimset (‘Param1’,’value1’, ‘Param2’,’value2’,…);
*
*
你现在浏览的是第十页,共14页