网站大量收购独家精品文档,联系QQ:2885784924

启发式算法2012.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
启发式算法2012

启发式算法;一、组合优化问题 二、启发式算法 三、模拟退火算法 四、遗传算法 ;解决离散的优化问题?运筹学分支。通过数学方法的研究去寻找离散事件的最优编排、分组、次序或筛选等,可以涉及信息技术、经济管理、工业工程、交通运输和通信网络等许多方面。;一般模型;0-1背包问题(Knapsack Problem) 加工调度问题(Scheduling Problem) 旅行商问题(Travelling Salesman Problem--TSP) 装箱问题(Bin Packing Problem) 图着色问题(Graph Coloring Problem);旅行商问题;1.2 计算复杂性的概念;算法复杂性;例:TSP的近似算法:最近邻法、最近插入法、最小支撑树法、局部搜索法等;例:0-1背包问题:贪婪算法;1.3 邻域结构与局部最优;基于直观或经验构造的算法,在可接受的花费(时间、空间)下,给出待解决优化问题每个实例的一个可行解,该可行解与最优解的偏差不一定事先可以估计。 启发式算法是一种技术,在可接受的计算费用内去寻找最好的解,但不一定能保证解的可行性与最优性,无法描述该解与最优解的近似程度。 特点(与传统优化方法不同):不考虑算法所得解与最优解的偏离程度。;现代优化算法:上世纪80年代初兴起;三.模拟退火算法;3.2 模拟退火算法流程:;iii) 如果 则 iv)如果 则如果 否则 v)end for;3.3 模拟退火算法要素;2)状态转移概率(接受概率)p;3)冷却进度T(t);4)初始温度T0 实验表明,初温越大,获得高质量解的几率越大,但花费的计算时间将增加。因此,初温的确定应折中考虑优化质量和优化效果。;6)外循环终止准则 即算法终止准则,常用的包括: 设置终止温度的阀值 设置外循环迭代次数 算法搜索到的最优值连续若干步保持不变 检查系统熵是否稳定;3.4 模拟退火算法实验性能分析: 1)模拟退火法与局部搜索算法的差异 2)优点:高效、健壮、通用、灵活 3)不足:返回一个高质量近似解的时间花费较多,当问题规模不可避免增大时,难于承受的运行时间将使算法丧失可行性。 如何改进?;3.5 模拟退火算法的matlab实现;dejong5fcn;x0 = [0 0]; [x,fval] = simulannealbnd(@dejong5fcn,x0);Optimization terminated: change in best function value less than options.TolFun. x = -15.9669 -31.9749 fval = 1.9920 exitflag = 1 output = iterations: 1608 funccount: 1621 message: [1x80 char] randstate: [625x1 uint32] randnstate: [2x1 double] problemtype: unconstrained temperature: [2x1 double] totaltime: 0.8268;x0 = [0 0]; lb = [-64 -64]; ub = [64 64]; [x,fval] = simulannealbnd(@dejong5fcn,x0,lb,ub);fun = @(x) 3*sin(x(1))+exp(x(2)); x = simulannealbnd(fun,[1;1],[0 0]);options = saoptimset(PlotFcns,{@saplotbestf,@saplottemperature,@saplotf,@saplotstopping}); simulannealbnd(@dejong5fcn,x0,lb,ub,options);;options = saoptimset(InitialTemperature,[300 50]); options = saoptimset(options,TemperatureFcn,@temperaturefast); options = saoptimset(options,ReannealInterval,50); options = saoptimset(options,Display,iter,DisplayInterval,400); options = saoptimset(options,TolFun,1e-5);;相关函数: [x, fval] = threshacceptbnd(@objf

文档评论(0)

laolingdao1a + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档