- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
很经典的模拟退火算法PPT讲解材料.ppt
* * * * * * * * * * * * * * * * * * * * * 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 * 冷却排程(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是非常小的值 低温需要较多反复次数以避免找到局部最大值,但高温则可减少次数。 Simulated Annealing * 模拟退火法的流程图 初使化设定 随机产生一个初始解 扰动产生一个新解 是否接受? 修改目前解 降温 缩减温度 是否达到中止条件? 最佳解 No Yes Yes Yes No No
文档评论(0)