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

模拟退火算法解决TSP问题..doc

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

智能优化方法 课题报告 专业班级: 电子信息科学与技术12-3班 课题名称: 模拟退火算法解决TSP问题 指导教师: 姚 睿 学生姓名: 蒋文斌 学 号: (课题设计时间:2015年3月28日——2015年 4月13日) 中国矿业大学计算机学院 一、问题描述 旅行商问题(Traveling monituihuolesman Problem,简称TSP)又名货郎担问题,是威廉·哈密尔顿爵士和英国数学家克克曼(T.P.Kirkman)于19世纪初提出的一个数学问题,也是著名的组合优化问题。问题是这样描述的:一名商人要到若干城市去推销商品,已知城市个数和各城市间的路程(或旅费),要求找到一条从城市1出发,经过所有城市且每个城市只能访问一次,最后回到城市1的路线,使总的路程(或旅费)最小。TSP刚提出时,不少人认为这个问题很简单。后来人们才逐步意识到这个问题只是表述简单,易于为人们所理解,而其计算复杂性却是问题的输入规模的指数函数,属于相当难解的问题。这个问题数学描述为:假设有n个城市,并分别编号,给定一个完全无向图G=(V,E),V={1,2,…,n},n1。其每一边(i,j)E有一非负整数耗费 Ci,j(即上的权记为Ci,j,i,jV)。并设 G的一条巡回路线是经过V中的每个顶点恰好一次的回路。一条巡回路线的耗费是这条路线上所有边的权值之和。TSP问题就是要找出G的最小耗费回路。 人们在考虑解决这个问题时,一般首先想到的最原始的一种方法就是:列出每一条可供选择的路线(即对给定的城市进行排列组合),计算出每条路线的总里程,最后从中选出一条最短的路线。假设现在给定的4个城市分别为A、B、C和D,各城市之间的耗费为己知数,如图1-1所示。我们可以通过一个组合的状态空间图来表示所有的组合,如图1-2所示。 图 1-1 顶点带权图 图 1-2 TSP问题的解空间树 1.模拟退火是什么? 首先,让我们看看模拟退火是如何工作的,以及为什么它是善于解决旅行商问题。模拟退火(Simulated Annealing,简称)是一种通用概率算法,用来在一个大的搜寻空间内找寻命题的最优解。该算法是源于对热力学中退火过程的模拟,在某一给定初温下,通过缓慢下降温度参数,使算法能够在多项式时间内给出一个近似最优解。退火与冶金学上的退火相似,而与冶金学的淬火有很大区别,前者是温度缓慢下降,后者是温度迅速下降。我们将热力学的理论套用到统计学上,将搜寻空间内每一点想像成空气内的分子;分子的能量,就是它本身的动能;而搜寻空间内的每一点,也像空气分子一样带有“能量”,以表示该点对命题的合适程度。算法先以搜寻空间内一个任意点作起始:每一步先选择一个“邻居”,然后再计算从现有位置到达“邻居”的概率。 模拟退火的优点 先来说下爬山算法:爬山算法是一种简单的贪心有哪些信誉好的足球投注网站算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能有哪些信誉好的足球投注网站到全局最优解。如所示:假设C点为当前解,爬山算法有哪些信誉好的足球投注网站到A点这个局部最优解就会停止有哪些信誉好的足球投注网站,因为在A点无论向那个方向小幅度移动都不能得到更优的解。爬山法是完完全全的贪心法,每次都鼠目寸光的选择一个当前最优解,因此只能有哪些信誉好的足球投注网站到局部的最优值。 图1-3 爬山算法 模拟退火其实也是一种贪心算法,但是它的有哪些信誉好的足球投注网站过程引入了随机因素。模拟退火算法以一定的概率来接受一个比当前解要差的解,因此有可能会跳出这个局部的最优解,达到全局的最优解。以图1为例,模拟退火算法在有哪些信誉好的足球投注网站到局部最优解A后,会以一定的概率接受到E的移动。 也许经过几次这样的不是局部最优的移动后会到达D点,于是就跳出了局部最大值A。 模拟退火算法描述: 若J(Y(i+1))=J(Y(i))(即移动后得到更优解),则总是接受该移动若J(Y(i+1)) J(Y(i))(即移动后的解比当前解要差),则以一定的概率接受移动,而且这个概率随着时间推移逐渐降低(逐渐降低才能趋向稳定) 这里的“一定的概率”的计算参考了金属冶炼的退火过程,这也是模拟退火算法名称的由来。根据热力学的原理,在温度为T时,出现能量差为dE的降温的概率为P(dE),表示为:P(dE) = exp(dE/(kT)) 其中k是一个常数,exp表示自然指数,且dE0。这条公式说白了就是:温度越高,出现一次能量差为dE的降温的概率

文档评论(0)

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

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

1亿VIP精品文档

相关文档