logo

您所在位置网站首页 > 海量文档  > 行业资料 > 航空/航天

模拟退火算法PPT.ppt 30页

本文档一共被下载: ,您可全文免费在线阅读后下载本文档。

  • 支付并下载
  • 收藏该文档
  • 百度一下本文档
  • 修改文档简介
全屏预览

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Simulated Annealing Simulated Annealing Simulated Annealing * Simulated Annealing (模拟退火法) 报告人:陈世明 Simulated Annealing * 大纲 简介 攀登算法 模拟退火法v.s. Hill Climbing 仿真退火法的检测标准与流程 模拟退火法的考虑因素 其他的问题 提高效能与算法的修正 结论 Simulated Annealing * 简介 仿真退火法是仿真冷却晶体的过程。 最早是由Metropolis、Rosenbluth等人在1953年提出。 1983年,Kirkpatrick等人将其运用在求优化的问题、定位及图分割等问题上,它是蒙地卡罗算法的推广。 Simulated Annealing * 攀登算法 (Hill Climbing) 攀登算法(Hill-climbingAlgorithm)是一种迭代增进的算法,它利用单一解在解空间作搜寻,并在每一次迭代中,在目前解的邻近解空间选择出一个邻近解。 当邻近解的目标函數值比目前解的目标函數值來的佳时,就以邻近解取代目前解;否则,就重新在目前解的邻近解空间选择一个邻近解。 Simulated Annealing * 模拟退火法v.s. Hill Climbing HillClimbing是挑选邻近点中最好的点,但这样会有局部最大值的问题。 仿真算法是随机数找寻邻近的点。 若找到的点比立足点好,则取之。 否则依照机率决定是否取之。 Simulated Annealing * 模拟退火法的流程(1/2) 需先设定一些參數,。接着随机产生一个初始的目前解 ,并计算他的目标函數值 。 以目前解为中心对解空间做随机扰动,产生一个扰动解 ,其目标函數值为。 若接受,则以该扰动解取代目前解作为该次迭代的解。 Simulated Annealing * 模拟退火法的检测标准 根据热力学定律,在温度为t的情况下,能量差所表现的机率如下: P(ΔE)=exp(-ΔE / kt) k是Boltzmann’s Constant 转换到模拟退火法,则变成 P=exp(-c / t)>r c是评估函数的差 r是0~1之间的随机数 Simulated Annealing * 模拟退火法的流程(2/2) 假设所求解的问题是目标函數最小化问题 ,若 ,则透过机率函數接受 为新解。 接着判断是否满足降温条件,若是,则透过冷却机制降温, , 。 反之,维持目前温度。之后判断是否达到终止条件,例如达到设定的迭代次數或是連续几次迭代目前解都不再改变时。 Simulated Annealing * 模拟退火法的流程图 初使化设定 随机产生一个初始解 扰动产生一个新解 是否接受? 修改目前解 降温 缩减温度 是否达到中止条件? 最佳解 No Yes Yes Yes No No Simulated Annealing * 冷却排程(1/4) 初始温度(Starting Temperature) 温度要够高才能移动到任何的状态。 温度不能太高,否则会导致在一段时间内皆用随机数在凑解答。 如果可以知道检测函数的最大值就可以找到最好的初始温度。 快速提高温度,然后又快速降温,直到有60%的最差解被接受。 快速提高温度,但慢慢降温,并定出适当比例最差解的接受度。 – – – Simulated Annealing * 冷却排程(2/4) 最终温度(Final Temperature) 通常是零,但会耗掉许多模拟时间。 温度趋近于零,其周遭状态几乎是一样的。 所以寻找一个低到可接受的温度。 Simulated Annealing * 冷却排程(3/4) 温度减少(Temperature Decrement) 每次降低温度的差距以及在同一温度反复寻找最适解会导致指数般成长的搜寻空间。 1.以线性降温来说 Temp=Temp-x 2.以几何观念来看 Temp=Temp*y (y约0.8~0.99为佳) Simulated Annealing * 冷却排程(4/4) 反复次数(Iterations at each Temperature) 一般会定一个常数。 Lundy认为只要反复一次,但每次降低的温度差距必须非常小。 Temp=Temp / (1+a*Temp) a是非常小的值 低温需要较多反复次数以避免找

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片

“原创力文档”前称为“文档投稿赚钱网”,本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。原创力文档是网络服务平台方,若您的权利被侵害,侵权客服QQ:3005833200 电话:19940600175 欢迎举报,上传者QQ群:784321556