旅行推销员问题是图论中最著名的问题之一,即“已给一个n个点的完全图,每条边都有一个长度,求总长度最短的经过每个顶点正好一次的封闭回路”。Edmonds,Cook和Karp等人发现,这批难题有一个值得注意的性质,对其中一个问题存在有效算法时,每个问题都会有有效算法。 [1]
迄今为止,这类问题中没有一个找到有效算法。倾向于接受NP完全问题(NP-Complete或NPC)和NP难题(NP-Hard或NPH)不存在有效算法这一猜想,认为这类问题的大型实例不能用精确算法求解,必须寻求这类问题的有效的近似算法。
此类问题中,经典的还有 子集和问题; Hamilton回路问题;最大团问题。
作为图论问题
可以用无向加权图来对TSP建模,则城市是图的顶点,道路是图的边,道路的距离就是该边的长度。它是起点和终点都在一个特定顶点,访问每个顶点恰好一次的最小化问题。通常,该模型是一个完全图(即每对顶点由一条边连接)。如果两个城市之间不存在路径,则增加一条非常长的边就可以完成图,而不影响计算最优回路。
非对称和对称
在对称TSP问题中,两座城市之间来回的距离是相等的,形成一个无向图。这种对称性将解的数量减少了一半。在非对称TSP问题中,可能不是双向的路径都存在,或是来回的距离不同,形成了有向图。交通事故、单行道和出发与到达某些城市机票价格不同等都是打破这种对称性的例子。
相关问题
图论中的一个等价形式是:给定一个加权完全图(顶点表示城市,边表示道路,权重就会是道路的成本或距离), 求一权值最小的哈密尔顿回路。
返回到起始城市的要求不会改变问题的计算复杂度,见哈密顿路径问题。
另一个相关问题是瓶颈旅行商问题(bottleneck TSP):求加权图中权重最大的边最小的哈密尔顿回路。问题在运输和物流之外都有相当广泛的实际意义。一个典型的例子是在印刷电路板制造中:规划打孔机在PCB版上钻孔的路线。在机械加工或钻孔应用中,“城市”是需要加工的部分或需要钻的(不同大小)的孔,而“旅行成本”包括更换机具所用的时间(单机作业排序问题)。
广义旅行商问题,又称“旅行政客问题”,处理“国家”中有(一个或多个)“城市”,而旅行商需要在每个“国家”访问恰好一座“城市”。其中一种应用是在求解下料问题时,想要最小化刀具改变次数中。另一种应用与半导体制造业中的打孔有关。令人惊喜的是,Behzad与Modarres证明了广义旅行商问题可以转化为相同城市数量的标准旅行商问题 ,只是要改变距离矩阵。 [2]
优先顺序旅行推销员问题处理城市之间存在访问次序的问题。
旅行购买者问题涉及购买一系列产品的购买者。他可以在若干城市购买这些产品,但价格会有不同,也不是所有城市都有售相同的商品。目标是在城市的子集中间找到一条路径,使得总成本(旅行成本 + 购买成本)最小,并且能够买到所有需求的商品。
TSP问题举例
有一位商人,他想访问中国的某些城市,要求:
1. 所走路程最近;
2. 每个城市只能访问一次;
3. 从某城市出发,最后回到该城市。
如图1所示:
假设从合肥出发,最后回到合肥。
问题域:X={北京,成都,广州,上海}
目标函数:min f(x)=dist(合肥,city1) + ∑dist(cityi,cityj) + dist(cityj,合肥)
总悬浮颗粒物是指能悬浮在空气中,空气动力学当量直径≤100微米的颗粒物。记作TSP,是大气质量评价中的一个通用的重要污染指标。 总悬浮颗粒物的浓度以每立方米空气中总悬浮颗粒物的毫克数表示,用标准大容量颗粒采样器在采样效率接近100%滤膜上采集已知体积的颗粒物,恒温恒湿条件下,称量采样前后采样膜质量来确定采集到的颗粒物质量,再除以采样体积,得到颗粒物的质量浓度。
想要了解更有关TSP的信息,请继续关注中培教育。