旅行售货员问题初探索.doc

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

旅行售货员问题初探索 数本062班 赵佳zjnu.net 摘要 旅行售货员问题(Travelling Salesman Problem,以下简称TSP)是图论中一个著名的问题,这个问题有着明显的实际意义。有趣的是,还有一些问题表面上似乎与TSP无关,而实质上却也可以归结为TSP来解。由于TSP有这样广泛的应用,所以找一个能解TSP的好算法就成为一件很重要的事了。可惜的是,经过许多数学家几十年的努力,至今尚未成功。本文收集了一些旅行售货员问题的解法,供大家参考。 关键词 旅行售货员问题 最邻近算法 2-最优解 旅行售货员问题:设有一个售货员从城市1出发,到城市2,3,…,n去推销货物,最后回到城市1。假定任意两个城市i,j之间的距离是已知的,问他应该怎样选择一条最短的路线? 可以看出,旅行售货员问题就是在一个赋权完全图中,找到一个具有最小权的Hamilton回路问题,所以,我们也称之为最优Hamilton回路。 由于售货员的每条路线可以用一个以1开始的排列来表示,因此所有可能的路线有条,因而计算量庞大。但自1954年起,已有许多数学家在这个问题上作出了突破,现在已有方法能在不长的时间内解出上百个城市的TSP。 本文介绍几种简单的解题方法。 求近似最优Hamilton回路的最邻近算法[1] (1)任选一个点作起点,找一条与关联其权最小的一条边,的另一个端点记为,得一条路; (2)设已选出路···,在V(G)-{···}中取一个与最近的相邻顶点,得···。 (3)若i+1p(G)-1,用i代i+1返回(2)。否则记C=···停止。 这是我们在解题时常用的一种方法,但最邻近法所求的Hamilton回路一般不是最优,所以可作以下修改: 设C=···是G的一个Hamilton回路,若存在i、j适合1i+1jp,并且,则Hamilton回路 =·········的权和 。这就是对Hamilton回路的一个改进。虽然不能保证此回路是最优的,但这个方法常常是比较好的。 下面再介绍一种比较有效的近似解法。 2、通过2-最优解,3-最优解求解最优解 首先给出一个定义作准备: 设t是一条售货员路线,t’是由t中去掉两条边,然后换上两条边得到的路线,则称t与t’是2-相邻的,如图1所示。如果t’是由t中换掉三条边而得到的,则称t与t’是3-相邻的,如图2所示。 这种求解法就是利用2-相邻求2-最优解,但此近似解与我们要求的最优解还是有一定距离,所以有学者提出利用3-最优解求解得方法:随机地选取许多条路线作为初始路线来求出许多个3-最优解,然后从中选一条最短的。且有学者研究表明[2],只要随机选择150条路,所求得的解99%是最优解。此方法若用计算机可很快解得。 下面我给出求2-最优解的一种近似解法:先任意取一条路线,然后检查在所有与2-相邻的路线中,有没有比更好的路线。如果有,例如比好,就放弃,而考虑,然后再考虑与2-相邻的路线中,有没有比更好的,如果有,就把再调整成…,这样做下去,直到得出一个不能调整的为止,即所有与2-相邻的路线都不比好。这样的称为2-最优解。 3-最优解的求法可参阅文献[2]。 最后简要介绍一下最小替换法 最小替换法[4]。 该方法适用于解一般形式的旅行售货员问题,即关系矩阵是非对称形式的问题,但现实中的旅行售货员问题的关系矩阵常常是对称形式的。 建立一个TSP的关系矩阵,此矩阵为对称矩阵。 表示自第i个城市到第j个城市的距离.我们称由矩阵中每列取一个元素所组成的集合为TSP的一个方案。如果所取元素都是各列的最小值,则称之为最小方案。显然,任一方案所含n个元素的列指标均不相同。一个方案若满足以下两个条件,则称之为可行方案。 1)n个元素的行指标均不相同。 2)从任一元素的行指标出发,先到其列指标,接着从以为行指标的元素出发,再到其列指标,如此进行下去,最后到以为列指标的元素为止。其间所经历的元素恰为n个(若所经历的元素为k(kn)个,则称之为该方案的正阶子循环)。 最小替换方法如下: (l)从对称矩阵的下三角中(或上三角中)依次取最小值,选出n个元素为止。 (2)检验其中是否含有i行,i列中的元素总共恰有两个。若满足,它便是一个不含二阶子循环的方案;若不满足,仍以增值最小为原则实行替换。设i行i列选出元素之和多于2,j行j列选出元素之和小于2,那么就把i行i列保留两个元素,其余的调出,逐步调到i行j列,最后得出含有i行,i列中的元素总共恰有两个的方案。 (3)检验由(2)得到的方案是否含有三阶子循环。若没有转到(4);若有以增值最小的原则,把三阶子循环破坏掉,转到(2)。 (4)检验由(3)得到的方案是

文档评论(0)

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

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

1亿VIP精品文档

相关文档