智能计算-模拟退火算法(matlab实现)

智能计算-模拟退火算法(matlab实现)

ID:25606199

大小:158.76 KB

页数:15页

时间:2018-11-21

智能计算-模拟退火算法(matlab实现)_第1页
智能计算-模拟退火算法(matlab实现)_第2页
智能计算-模拟退火算法(matlab实现)_第3页
智能计算-模拟退火算法(matlab实现)_第4页
智能计算-模拟退火算法(matlab实现)_第5页
资源描述:

《智能计算-模拟退火算法(matlab实现)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、模拟退火算法摘要:阐述了模拟退火算法的基本原理及实现过程,运用MATLAB语言实现了该算法。并将其运用到解决旅行商问题的优化之中。数值仿真的结果表明了该方法能够对函数进行全局寻优,有效克服了基于导数的优化算法容易陷入局部最优的问题。该方法既可以增加对MATLAB语言的了解又可以加深对模拟退火过程的认识,并达到以此来设计智能系统的目的。关键词:模拟退火算法,全局寻优,搜索策略simulatedannealingalgorithmAbstract:Thispaperdescribesthebasicprinciplesandprocessessimulatedann

2、ealingalgorithm,usingMATLABlanguageimplementationofthealgorithm.Anduseittosolvethetravelingsalesmanproblemamongoptimization.Simulationresultsshowthatthemethodcanbeafunctionofglobaloptimization,effectivelyovercomethederivative-basedoptimizationalgorithmiseasytofallintolocaloptimum.Thi

3、smethodnotonlycanincreasetheMATLABlanguagecandeepenunderstandingandawarenessofthesimulatedannealingprocess,andinordertoachievethepurposeofthedesignofintelligentsystems.Keywords:simulatedannealingalgorithm,Globaloptimization,strategy目录一、简介1二、原理2三、实现过程3四、改进的地方4五、实验结果4六、结论66一、6一、简介许多实际优

4、化问题的目标函数都是非凸的,存在许多局部最优解,但是,有效地求出一般非凸目标函数的全局最优解至今仍是一个难题。特别是随着优化问题规模的增大,局部最优解的数目将会迅速增加,这无疑使寻找大规模复杂系统优化问题的全局最优解变得更加困难。求解全局优化问题的方法可分为两类:一类是确定性方法,另一类是随机性方法。前者基于确定性的搜索策略,在目标函数满足特定的限制条件下可以对求得全局最优解提供确定性的保证,这类方法一般适用于求解满足特定要求的一些特殊问题。后者在搜索策略中引入了适当的随机因素,对目标函数一般不需要特殊的限制条件,具有比较广泛的适用性,由于采用随机搜索策略,这类

5、方法只能在概率的意义上为求得全局最优解提供保证。模拟退火算法是20世纪80年代初期发展起来的一种求解大规模组合优化问题的随机性方法。它以优化问题的求解与物理系统退火过程的相似性为基础,利用Metropolis算法并适当地控制温度的下降过程实现模拟退火,从而达到求解全局优化问题的目的。模拟退火(简称SA)是一种通用概率算法,用来在一个大的搜寻空间内找寻命题的最优解。9“模拟退火”算法是源于对热力学中退火过程的模拟,在某一给定初温下,通过缓慢下降温度参数,使算法能够在多项式时间内给出一个近似最优解。退火与冶金学上的‘退火’相似,而与冶金学的淬火有很大区别,前者是温度

6、缓慢下降,后者是温度迅速下降。旅行商问题是指旅行商必须轮流到N个城市去旅游,每个城市仅去一次,最后返回原出发城市,任务是为旅行商找到一条满足上述条件的最短路径。这里使用模拟退火解旅行商问题,因为这个问题本身是一个NP难问题,所以也就求不到最优解,不过应该可以求得一个比较好的解,然后再手工优化。二、原理“模拟退火”的原理也和金属退火的原理近似:我们将热力学的理论套用到统计学上,将搜寻空间内每一点想像成空气内的分子;分子的能量,就是它本身的动能;而搜寻空间内的每一点,也像空气分子一样带有“能量”,以表示该点对命题的合适程度。算法先以搜寻空间内一个任意点作起始:每一步

7、先选择一个“邻居”,然后再计算从现有位置到达“邻居”的概率。模拟退火算法可以分解为解空间、目标函数和初始解三部分。算法步骤:模拟退火算法新解的产生和接受可分为如下四个步骤:(1)由一个产生函数从当前解产生一个位于解空间9的新解;为便于后续的计算和接受,减少算法耗时,通常选择由当前新解经过简单地变换即可产生新解的方法,如对构成新解的全部或部分元素进行置换、互换等,注意到产生新解的变换方法决定了当前新解的邻域结构,因而对冷却进度表的选取有一定的影响。(2)计算与新解所对应的目标函数差。因为目标函数差仅由变换部分产生,所以目标函数差的计算最好按增量计算。事实表明,对大

8、多数应用而言,这是计算目

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。