研究生课程-算法设计与分析之模拟退火算法研究报告.pptVIP

研究生课程-算法设计与分析之模拟退火算法研究报告.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
演示文稿演讲PPT学习教学课件医学文件教学培训课件

* 算法设计与分析 北京交通大学计算机学院 李清勇 E-mail: qingyongli@ Tel: 主校区: 9号楼 北517 爬山算法 function Hill-Climbing (problem) returns a solution state local variables : current // a node. next // a node. current ? Make-Node ( Initial-State [ problem ]) // make random initial state. loop do next ? a highest-valued successor of current if Value [next] Value [current] then return current else current ? next end 改进途径一: 随机选择开始状态,多次调用爬山算法(在资源许可的范围之内),然后选择最优的结果。 改进途径二: 模拟退火算法(随机算法的范畴)。 爬山算法的局限 简介 模拟退火法( Simulated Annealing,SA)来源于固体退火原理:将固体加温至充分高,再让其徐徐冷却。加温时,固体内部粒子随温升变为无序状,内能增大;而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态;最后在常温时达到基态,内能减为最小。 当目前状况是落于局部的最佳解時,SA算法会采用重新加热类似的動作:通过随机的过程,以概率性质來接受一個暂劣解使算法能跳出目前的局部最佳解,而有机会能达到另一個最佳解。 简介 假設在搜索最佳解的过程中 当前解的成本为C(i) 下一個解的成本为C(j) D E = C(j) - C(i)为两个解之间的成本差, 简介 当 j 的成本大于 i 时,SA 会根据一概率決定是否要接受 j來取代 i 成为下一时刻的新解 因此當搜寻到的新解比現有解之成本大時,会有一个概率值來決定是否接受它— Metrolopis 接受法則。 SA 基本上是以Metrolopis 接受法則为基础,再配合退火程序,藉由溫度逐渐的降低來调整是否接受成本较高新解的概率,當溫度越低時,机率值也跟著降低。 SA 的运作流程 包含了四個基本要素 系统状态(Configuration):即在某一個溫度下,系統產生的初始解,并當作現行解 搜寻法則(Search rule):在退火的過程中,由目前系统状态经由随机扰动而产生变化跳至另一种状态 一般而言,SA 較常用的有梯度搜寻法和迭代改善法 SA伪代码 Algorithm SIMULATED-ANNEALING Begin temp = INIT-TEMP; place = INIT-PLACEMENT; while (temp FINAL-TEMP) do while (inner_loop_criterion = FALSE) do new_place = PERTURB(place); ΔC = COST(new_place) - COST(place); if (ΔC 0) then place = new_place; else if (RANDOM(0,1) e-(ΔC/temp)) then place = new_place; temp = SCHEDULE(temp); End. 退火程序之参数设定 初始温度 为了防止落入局部极小的陷阱,在SA中初始溫度的設定必須使得大部份的转移均可被接受 初始溫度的設定可以是一個定值, 初始溫度亦可由所設定之转移接受机率的门槛值 P 0來反推求得,如Kouvelis 以及 Chiang( 1992 ) 將初始溫度定為

文档评论(0)

yuzongxu123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档