




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机科学与技术学院课程设计报告 题目全称: 图论tsp问题 学生学号: 161110218 姓名: 徐勤涛 指导老师: 周勇 问题阐述:旅行商问题,是指对于给定的 n 个城市,旅行商从某一个城市出发不重复的访问其余各城市,最终回到出发城市。要求找到一条路线,使总的旅行路程最短。用图论来描述,就是给定一个正权完全图,找出它的总长最短的哈密顿回路。方法一:使用便宜算法求解:1、 遍历整个矩阵,找到一个路程和最短的三角形。2、 对三角形进行扩充,即:选择一条边,用该圈之外的点到该边的路径代替该边,找到一种最好的解决方法,做完该圈所有边后,找到一种最优解决方法,并扩充该边。3、 重复步骤2,直到所有点都在这个圈里。结果截图程序的缺点:1、 只能对无向图求解;2、 容错性差,对一些情况无法求解。3、 时间复杂度高方法二:回溯法1回溯法的定义: 回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。2. 回溯法的描述: 可用回溯法求解的问题P,通常要能表达为:对于已知的由n元组(x1,x2,xn)组成的一个状态空间E=(x1,x2,xn)xiSi ,i=1,2,n,给定关于n元组中的一个分量的一个约束集D,要求E中满足D的全部约束条件的所有n元组。其中Si是分量xi的定义域,且 |Si| 有限,i=1,2,n。我们称E中满足D的全部约束条件的任一n元组为问题P的一个解。 解问题P的最朴素的方法就是枚举法,即对E中的所有n元组逐一地检测其是否满足D的全部约束,若满足,则为问题P的一个解。但显然,其计算量是相当大的。 我们发现,对于许多问题,所给定的约束集D具有完备性,即i元组(x1,x2,xi)满足D中仅涉及到x1,x2,xi的所有约束意味着j(j<i)元组(x1,x2,xj)一定也满足D中仅涉及到x1,x2,xj的所有约束,i=1,2,n。换句话说,只要存在0jn-1,使得(x1,x2,xj)违反D中仅涉及到x1,x2,xj的约束之一,则以(x1,x2,xj)为前缀的任何n元组(x1,x2,xj,xj+1,xn)一定也违反D中仅涉及到x1,x2,xi的一个约束,ni>j。因此,对于约束集D具有完备性的问题P,一旦检测断定某个j元组(x1,x2,xj)违反D中仅涉及x1,x2,xj的一个约束,就可以肯定,以(x1,x2,xj)为前缀的任何n元组(x1,x2,xj,xj+1,xn)都不会是问题P的解,因而就不必去搜索它们、检测它们。回溯法正是针对这类问题,利用这类问题的上述性质而提出来的比枚举法效率更高的算法。 回溯法首先将问题P的n元组的状态空间E表示成一棵高为n的带权有序树T,把在E中求问题P的所有解转化为在T中搜索问题P的所有解。树T类似于检索树,它可以这样构造: 设Si中的元素可排成xi(1) ,xi(2) ,xi(mi-1) ,|Si| =mi,i=1,2,n。从根开始,让T的第I层的每一个结点都有mi个儿子。这mi个儿子到它们的双亲的边,按从左到右的次序,分别带权xi+1(1) ,xi+1(2) ,xi+1(mi) ,i=0,1,2,n-1。照这种构造方式,E中的一个n元组(x1,x2,xn)对应于T中的一个叶子结点,T的根到这个叶子结点的路径上依次的n条边的权分别为x1,x2,xn,反之亦然。另外,对于任意的0in-1,E中n元组(x1,x2,xn)的一个前缀I元组(x1,x2,xi)对应于T中的一个非叶子结点,T的根到这个非叶子结点的路径上依次的I条边的权分别为x1,x2,xi,反之亦然。特别,E中的任意一个n元组的空前缀(),对应于T的根。 因而,在E中寻找问题P的一个解等价于在T中搜索一个叶子结点,要求从T的根到该叶子结点的路径上依次的n条边相应带的n个权x1,x2,xn满足约束集D的全部约束。在T中搜索所要求的叶子结点,很自然的一种方式是从根出发,按深度优先的策略逐步深入,即依次搜索满足约束条件的前缀1元组(x1i)、前缀2元组(x1,x2)、,前缀I元组(x1,x2,xi),直到i=n为止。 在回溯法中,上述引入的树被称为问题P的状态空间树;树T上任意一个结点被称为问题P的状态结点;树T上的任意一个叶子结点被称为问题P的一个解状态结点;树T上满足约束集D的全部约束的任意一个叶子结点被称为问题P的一个回答状态结点,它对应于问题P的一个解.3 回溯法的基本思想: (1)针对所给问题,定义问题的解空间;(2)确定易于搜索的解空间结构;(3)以深度优先方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索。 用回溯法解题的一个显著特征是在搜索过程中动态产生问题的解空间。在任何时刻,算法只保存从根结点到当前扩展结点的路径。如果解空间树中从根结点到叶结点的最长路径的长度为h(n),则回溯法所需的计算空间通常为O(h(n)。而显式地存储整个解空间则需要O(2h(n)或O(h(n)!)内存空间.4. 递归回溯与迭代回溯: (1) 递归回溯: 回溯法对解空间作深度优先搜索,因此,在一般情况下用递归方法实现回溯法。void backtrack (int t) if (tn) output(x); else for (int i=f(n,t);in时,算法已搜索到一个叶结点。此时,由函数Output(x)对得到的可行解x进行记录或输出处理。算法backtrack的for循环中f(n,t)和g(n,t)分别表示在当前扩展结点处未搜索过的子树的起始编号。h(i)表示在当前扩展结点处xt的第i个可选值。函数Constraint(t)和Bound(t)表示在当前扩展结点处的约束函数和界限函数。函数Contraint(t)返回的值为true则表示在当前扩展结点处x1:t的取值满足问题的约束条件,否则不满足问题的约束条件,可剪去相应的子树。函数Bound(t)返回的值为true则表示在当前扩展结点处x1:t的取值尚未使目标函数越界,还需由Backtrack(t+1)对其相应的子树作进一步搜索。否则,当前扩展结点处x1:t的取值已使目标函数越界,可剪去相应的子树。执行了算法的for循环后,已搜索遍当前扩展结点的所有未搜索过的子树。Backtrack(t)执行完毕,返回t-1层继续执行,对还没有测试过的xt-1的值继续搜索。当t=1时,若已测试完x1的所有可选值,外层调用就完全结束。显然,这一搜索过程是按深度优先的方式进行的。调用一次Backtrack(1)即可完成整个回溯搜索过程。(2) 迭代回溯: 采用树的非递归深度优先遍历算法,可将回溯法表示为一个非递归迭代过程。void iterativeBacktrack () int t=1; while (t0) if (f(n,t)=g(n,t) for (int i=f(n,t);i=g(n,t);i+) xt=h(i); if (constraint(t)&bound(t) if (solution(t) output(x); else t+; else t-; 5.TSP问题实验结果及分析:由实验可知:对于10个城市结点的输入,对于上图所示的邻接矩阵,从运行结果可知,最短路径为19654371082,程序运行的最优值为156.缺点及心得总结 1. 存在大量的重复搜索: 在没有特殊条件约束的情况下,构成TSP问题的无向带权图具有无向性,而周游路线是环形封闭路线,因而,可以明显看出,回溯法构成的解空间树中存在着大量的重复截。N+1个连通的城市的TSP问题构成的解空间树中,其叶子结点的数目为N!,而经过分析,重复的解路径数目多达N!/2,是整个解空间路径的一半。在不考虑约束函数时,整个搜索中有一半是无效搜索,这大大降低了搜索的效率。2. 剪枝函数作用有限:3剪枝效果不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Refisolone-生命科学试剂-MCE
- MEDI-1814-生命科学试剂-MCE
- CDK8-IN-18-生命科学试剂-MCE
- 5α-Pregnane-3β-17α-20α-triol-生命科学试剂-MCE
- 规范母猪操作流程试题及答案
- 高效备考的网络规划设计策略试题及答案
- 逐步深入健康管理师考试试题及答案
- 观察思考2024年西医临床试题及答案
- 2025届河北景县梁集中学高三下期摸底考试物理试题试卷
- 内蒙古自治区乌兰察布市集宁一中2025年高考考前提分物理仿真卷含解析
- 2025高考物理总复习自由落体运动和竖直上抛运动 多过程问题
- (高清版)JTGT 3365-05-2022 公路装配式混凝土桥梁设计规范
- 福建省厦门市湖里区2023-2024学年五年级下学期期中数学试卷
- 化学-山东省名校考试联盟2023-2024学年高一下学期5月期中检测试题和答案
- 幸福心理学智慧树知到期末考试答案章节答案2024年浙江大学
- 新版王者荣耀答题闯关
- 山东省日照市东港区2023-2024学年六年级下学期期中数学试题
- 李丰黄金K线理论详解
- MOOC 家庭与社区教育-南京师范大学 中国大学慕课答案
- 癌症的一病一品
- 初中一年级下学期期末考试语文试卷含答案(人教版)
评论
0/150
提交评论