基于模拟退火算法的TSP问题研究与仿真开题报告.docVIP

基于模拟退火算法的TSP问题研究与仿真开题报告.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
南京邮电大学通达学院毕业设计(论文)开题报告 题目 基于模拟退火算法的TSP问题研究与仿真 学生姓名 班级学号 专业 对指导教师下达的课题任务的学习与理解 本次毕业设计主要任务是以TSP问题为背景,在掌握模拟退火算法的基础上,完成基于模拟退火算法的TSP问题研究,同时利用matlab软件对设计方案进行仿真验证。对其中相关细节要求如下: 1.为TSP问题建立数学模型; 2.学习并掌握模拟退火算法,并对改算法进行研究,找出其优点及存在问题; 3.对该算法进行改进并仿真; 4.在Windows 2000/XP平台上,用Visual C++ 6.0或者matlab仿真。 阅读文献资料进行调研的综述 目的:本文的主要研究目标就是用改进的模拟退火算法更好地解决TSP这个有意义的NP难问题,在分析了TSP问题的求解现状及基本模拟退火算法对TSP的求解理论、思路及成果的基础上,再提出一种改进的模拟退火算法进行求解,并且多组数据进行分析与测试,将结果与传统的求解方法加以比较,证实其可能性。 旅行商问题 ( TSP , Traveling Salesman Problem ) :有N个城市,要求从其中某个问题出发,唯一遍历所有城市,再回到出发的城市,求最短的路线。旅行商问题属于所谓的NP完全问题,精确的解决TSP只能通过穷举所有的路径组合,其时间复杂度是O(N!) 。 使用模拟退火算法可以比较快的求出TSP的一条近似最优路径。模拟退火解决TSP的思路: 1. 产生一条新的遍历路径P(i+1),计算路径P(i+1)的长度L( P(i+1) ) 2. 若L(P(i+1)) L(P(i)),则接受P(i+1)为新的路径,否则以模拟退火的那个概率接受P(i+1) ,然后降温 3. 重复步骤1,2直到满足退出条件 产生新的遍历路径的方法有很多,下面列举其中3种: 1. 随机选择2个节点,交换路径中的这2个节点的顺序。 2. 随机选择2个节点,将路径中这2个节点间的节点顺序逆转。 3. 随机选择3个节点m,n,k,然后将节点m与n间的节点移位到节点k后面。 模拟退火算法是解决TSP问题的有效方法之一,其最初的思想由Metropolis在1953年提出,Kirkpatrick在1983年成功地将其应用在组合最优化问题中。模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。作为模拟退火算法应用,讨论货郎担问题(Travelling?Salesman?Problem,简记为TSP):设有n个城市,用数码1,…,n代表。城市i和城市j之间的距离为d(i,j)?i,?j=1,…,n.TSP问题是要找遍访每个域市恰好一次的一条回路,且其路径总长度为最短.。  求解TSP的模拟退火算法模型可描述如下: ?解空间S是遍访每个城市恰好一次的所有回路,是{1,……,n}的所有循环排列的集合,S中的成员记为(w1,w2?,……,wn),并记wn+1=?w1。初始解可选为(1,……,n) 目标函数?此时的目标函数即为访问所有城市的路径总长度或称为代价函数:?   我们要求此代价函数的最小值。   新解的产生?随机产生1和n之间的两相异数k和m,若k,则将   (w1,?w2?,…,wk?,?wk+1?,…,wm?,…,wn)   变为:   (w1,?w2?,…,wm?,?wm-1?,…,wk+1?,?wk?,…,wn).   如果是km,则将   (w1,?w2?,…,wk?,?wk+1?,…,wm?,…,wn)   变为:   (wm,?wm-1?,…,w1?,?wm+1?,…,wk-1?,wn?,?wn-1?,…,wk).模拟退火的基本思想:   (1) 初始化:初始温度T(充分大),初始解状态S(是算法迭代的起点), 每个T值的迭代次数L   (2) 对k=1,……,L做第(3)至第6步:   (3) 产生新解S′   (4) 计算增量Δt′=C(S′)-C(S),其中C(S)为评价函数   (5) 若Δt′0则接受S′作为新的当前解,否则以概率exp(-Δt′/T)接受S′作为新的当前解.   (6) 如果满足终止条件则输出当前解作为最优解,结束程序。   终止条件通常取为连续若干个新解都没有被接受时终止算法。   (7) T逐渐减少,且T-0,然后转第2步。算法对应动态演示:模拟退火算法新解的产生和接受可分为如下四个步骤:   第一步是由一个产生函数从当前解产生一个位于解空间的新解;为便于后续的计算和接受,减少算法耗时,通常选择由当前新解经过简单地变换即可产生新解的方法,如对构成新解的全

文档评论(0)

嫣雨流纱 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档