旅行商问题(Traveling Saleman Problem,TSP)是VRP的特例,由于Gaery[1]已证明TSP问题是NP难题,因此,VRP也属于NP难题。
旅行商问题(TSP)又译为旅行推销员问题、货郎担问题,简称为TSP问题,是最基本的路线问题,该问题是在寻求单一旅行者由起点出发,通过所有给定的需求点之后,最后再回到原点的最小路径成本。最早的旅行商问题的数学规划是由Dantzig(1959)等人提出[2]。
TSP问题在物流中的描述是对应一个物流配送公司,欲将n个客户的订货沿最短路线全部送到。如何确定最短路线。
TSP问题最简单的求解方法是枚举法。它的解是多维的、多局部极值的、趋于无穷大的复杂解的空间,搜索空间是n个点的所有排列的集合,大小为(n-1)。可以形象地把解空间看成是一个无穷大的丘陵地带,各山峰或山谷的高度即是问题的极值。求解TSP,则是在此不能穷尽的丘陵地带中攀登以达到山顶或谷底的过程。
[编辑]
旅行商问题的历史
旅行商问题字面上的理解是:有一个推销员,要到n个城市推销商品,他要找出一个包含所有n个城市的具有最短路程的环路。
TSP的历史很久,最早的描述是1759年欧拉研究的骑士周游问题,即对于国际象棋棋盘中的64个方格,走访64个方格一次且仅一次,并且最终返回到起始点。
TSP由美国RAND公司于1948年引入,该公司的声誉以及线性规划这一新方法的出现使得TSP成为一个知名且流行的问题。
[编辑]
旅行商问题的解法[2]
旅行推销员的问题,我们称之为巡行(Tour),此种问题属于NP-Complete的问题,所以旅行商问题大多集中在启发式解法。Bodin(1983)等人将旅行推销员问题的启发式解法分成三种:
1、途程建构法(Tour Construction Procedures)
从距离矩阵中产生一个近似最佳解的途径,有以下几种解法:
1)最近邻点法(Nearest Neighbor Procedure):一开始以寻找离场站最近的需求点为起始路线的第一个顾客,此后寻找离最后加入路线的顾客最近的需求点,直到最后。
2)节省法(Clark and Wright Saving):以服务每一个节点为起始解,根据三角不等式两边之和大于第三边之性质,其起始状况为每服务一个顾客后便回场站,而后计算路线间合并节省量,将节省量以降序排序而依次合并路线,直到最后。
3)插入法(Insertion procedures):如最近插入法、最省插入法、随意插入法、最远插入法、最大角度插入法等。
2、途程改善法(Tour Improvement Procedure)
先给定一个可行途程,然后进行改善,一直到不能改善为止。有以下几种解法:
1)K-Opt(2/3 Opt):把尚未加入路径的K条节线暂时取代目前路径中K条节线,并计算其成本(或距离),如果成本降低(距离减少),则取代之,直到无法改善为止,K通常为2或3。
2)Or-Opt:在相同路径上相邻的需求点,将之和本身或其它路径交换且仍保持路径方向性,并计算其成本(或距离),如果成本降低(距离减少),则取代之,直到无法改善为止。
3、合成启发法(Composite Procedure)
先由途程建构法产生起始途程,然后再使用途程改善法去寻求最佳解,又称为两段解法(two phase method)。有以下几种解法:
1)起始解求解+2-Opt:以途程建构法建立一个起始的解,再用2-Opt的方式改善途程,直到不能改善为止。
2)起始解求解+3-Opt:以途程建构法建立一个起始的解,再用3-Opt的方式改善途程,直到不能改善为止。
分享到:
相关推荐
旅行商问题(Traveling Salesman Problem,TSP)是一个经典的组合优化问题,它在图论领域内占有重要地位。该问题描述如下:一个旅行商需要访问n个城市,并且每个城市只访问一次,最后返回起点,目标是使得旅行的总...
旅行商问题(Traveling Salesman Problem,简称TSP)是一个著名的组合优化问题,在计算机科学和运筹学领域具有重要地位。这个问题的设定是这样的:一个旅行商需要访问n个城市,每个城市只访问一次,最后返回起点,...
多旅行商问题(Multiple Traveling Salesman Problem, MTSP)是运筹学和组合优化领域的一个经典问题,它扩展了著名的旅行商问题(Traveling Salesman Problem, TSP)。TSP问题关注的是一个旅行商如何访问一系列城市...
《MATLAB遗传算法在旅行商问题与多旅行商问题中的应用》 旅行商问题(Traveling Salesman Problem,简称TSP)与多旅行商问题(Multiple Traveling Salesman Problem,简称MTSP)是运筹学领域经典的组合优化问题,...
旅行商问题(Traveling Salesman Problem,TSP)是一个经典的组合优化问题,它涉及寻找最短的可能路线,使得旅行商能够访问每个城市一次并返回起点。这个问题在计算机科学、运筹学和图论中都有广泛的研究,因为它...
旅行商问题数学建模 旅行商问题是指给定若干城市,要求找到一条路径,使得旅行者访问每个城市恰好一次并返回起点,总路费最少。该问题是一个经典的组合优化问题,广泛应用于物流、交通、运输等领域。 数学模型: ...
《遗传算法在旅行商问题中的应用》 旅行商问题(Traveling Salesman Problem,简称TSP)是一个经典的组合优化问题,其核心在于寻找一条访问给定城市并返回起点的最短路径,使得每个城市仅被访问一次。这个问题的...
旅行商问题(Traveling Salesman Problem, TSP)是一个组合优化的典型难题,它在许多领域内都有极其重要的应用。经证实,旅行商问题属于NP问题。在一些现实问题中,关于TSP问题的研究有非常大的价值。例如:交通运输...
**回溯法求解旅行商问题** 旅行商问题(Traveling Salesman Problem,TSP)是运筹学领域中一个著名的组合优化问题。它描述了一个旅行商如何在访问n个城市并返回起点的过程中,找到最短的可能路线。这个问题是NP完全...
旅行商问题(Traveling Salesman Problem,TSP)是一个经典的组合优化问题,它在图论和运筹学中占有重要地位。这个问题描述了一个旅行商如何有效地访问一系列城市,每个城市只访问一次,最后返回起点,使得总行程...
### 旅行商问题可行性研究 #### 一、旅行商问题(TSP)概述 旅行商问题(Traveling Salesman Problem,简称TSP)是组合优化领域中的一个经典难题,具有广泛的应用背景,涉及到计算复杂性理论、图论、运筹学等多个...
**C# 动态规划求解旅行商问题详解** 旅行商问题(Traveling Salesman Problem,简称TSP)是一个经典的组合优化问题,它涉及到寻找最短的可能路线,使得旅行商能够访问每个城市一次并返回起点。在计算机科学中,这个...
旅行商问题(Traveling Salesman Problem,TSP)是一个经典的组合优化问题,它在图论、运筹学和计算机科学领域都有广泛的研究。该问题的基本情境是:一个旅行商需要访问n个城市,每个城市只访问一次,并且最后返回...
《用遗传算法解决旅行商问题》 旅行商问题(Traveling Salesman Problem,TSP)是运筹学中一个经典的问题,它描述了一个旅行商如何规划一条路线,以访问每个城市一次并返回起点,使得总行程最短。这是一个NP完全...
旅行商问题(Traveling Salesman Problem,TSP)是一个经典的组合优化问题,它在图论和运筹学中占有重要地位。在这个问题中,一个旅行商需要访问n个城市,每个城市只访问一次,最后返回起点,目标是最小化旅行的总...
旅行商问题(Traveling Salesman Problem,TSP)是一个经典的组合优化问题,它涉及寻找最短的路径,使得旅行商可以访问每个城市一次并返回原点。在这个问题中,A*算法是一种有效的搜索策略,用于指导求解过程。A*...
TensorFlow代码实现霍普菲尔德网络(Hopfield)解决20个城市旅行商问题(TSP),旅行商问题 TSP 是一个典型的组合优化问题,并且是一个 NP 完全问题,其可能 Hamilton 圈的数目是顶点的数目 n 的指数函数,所以一般很难...
《旅行商问题在中国34省会的应用与蚁群算法解析》 旅行商问题(Traveling Salesman Problem,TSP)是运筹学中一个经典的组合优化问题,它源于实际生活中的配送路线规划,旨在寻找访问多个城市并最终返回起点的最短...
旅行商问题(Traveling Salesman Problem,TSP)是一个经典的组合优化问题,它涉及寻找一个最短的可能路径,使得旅行商可以访问每个城市一次并返回起点。在本项目中,我们将采用A*搜索算法来解决这个问题。A*算法是...