百摩网
当前位置: 首页 生活百科

求解tsp问题算法综述(优化浅谈旅行商问题)

时间:2023-06-03 作者: 小编 阅读量: 8 栏目名: 生活百科

优化浅谈旅行商问题『运筹OR帷幄』原创作者:高源编者按:作为经典NP-hard问题,TSP和VRP问题一直是业界和学界的关注重点本文以业界为主要视角,通过VRP和TSP的联系做切入点来引入TSP问题,分类讨论了启发式算。

『运筹OR帷幄』原创

作者:高源



编者按:作为经典NP-hard问题,TSP和VRP问题一直是业界和学界的关注重点。本文以业界为主要视角,通过VRP和TSP的联系做切入点来引入TSP问题,分类讨论了启发式算法在对称TSP与非对称TSP中的运用。
一、TSP简介


TSP全称为Travelling Salesman Problem(旅行商问题),通俗而言,它是指对于给定的一系列城市和每对城市之间的距离,找到访问每一座城市仅一次并回到起始城市的最短回路。


TSP问题在运筹学发展史上有重要的意义,1952年,Danzig, Fulkerson和Johnson成功的解决了美国本土分数不同州的48个城市和哥伦比亚特区共49个城市的TSP实例,使更多的人初次了解了组合优化研究的意义,也感受到了离散问题求解的准度。


因为TSP是NP-C问题,因此其没有多项式时间内可以求最优解的算法。(如果对于NP-C的定义不了解,可以简单理解为对于某些实例,随着规模的增加,求解最优解所需的时间是爆炸式的指数增长)。因此研究TSP的启发式算法就显得很重要了。


二、由难入简 - VRP与TSP的联系


在深入TSP前首先简单介绍车辆路径问题(VRP)。事实上,在实际生活中,大多数我们所遇见的问题大都是VRP问题。1959年,《The truck dispatching problem》的作者Dantzig和Ramser在书中写到,TSP可被看成是VRP的某一类子问题。因此,理解TSP将是研究更深层路径优化算法的基石。


VRP的数学描述即为对于图G = (V, A, E) 找到成本最小的闭迹(无重复边的闭合回路)组合遍历已知的点集合(V)和弧(单向路)(A)或边(双向路)(E)集合。看似抽象,但在实际生活中,这样的问题其实无处不在。


比如在供应链领域,最经典的VRP即卖家对客户的补货策略:车队从配送中心(0)出发,遍历所有客户(U),满足客户货物需求后回到配送中心{0},在一定约束下,达到路程最短,成本最低等目的。此时A⋃E=∅,闭迹仅需遍历已知点集合(V=U⋃{0})。


而进一步当没有容量和时间等约束且仅有一辆货车进行一次性补货时,该问题就是TSP问题,即找到成本最小的一条闭迹遍历已知的点集合(V), 且在最优解中所有点仅会出现一次。


三、TSP模型


那么首先还是先抛出TSP的数学模型,对于有向图

,其中

为弧ij的成本, TSP可以被分解为以下四个约束和其目标函数。首先最后一个约束指变量

为二进制变量,其等于1当仅当弧ij属于解回路。

约束(1)和(2)用于定义闭合回路,即任意顶点j/ i,解回路中必有且仅有一条弧以其作为起点的同时有且仅有一条弧以其作为终点。


但是仅仅有约束(1)和(2)是不足以定义TSP,因为虽然保证了解为闭合回路却没有保证解仅含一条闭合回路,因此我们需要约束(3)以防止小圈的出现。


那么约束(3)可以理解为对于任意点集合S(非V且含2个顶点及以上),必定存在至少有一个S中的顶点与S外的顶点相连接。综上,我们可以得到以下数学模型。



其中约束(3)尽管可被简化但仍使得该问题成为了NP问题,因此基于上述讨论,本文将简单介绍可用于解决TSP的启发式算法。


四、ATSP的启发式算法(基于指派问题)


TSP问题依据边的成本正反向是否相等

可以分为对称 (STSP) 或非对称 (ATSP)。而STSP与ATSP的性质有许多不一样,因此以下将分开进行讨论。


注释:

以下讨论条件均为满足三角不等式下的度量TSP,即


该文中对于ATSP的启发式算法的讨论相对简单,因为可以发现当我们如果忽略约束 (3) ,该问题便成了简单的指派问题 (Assignment Problem (AP))。


而因为AP具有最优解整数性质(全幺模矩阵),因此约束 (4) 可被改写为

综上,上述模型改写成了可快速求解的线性规划问题。


那么,当得到AP问题的最优解

(p个遍历所有点的有向闭迹

)后,如果发现此时p=1,即仅有一个闭合回路,那么

则为ATSP的最优解,如若不然则对解进行优化改写。


注释:

对于ATSP而言,如果成本矩阵非对称性非常强,那么当解

满足

时,我们可以认为当前解为相对最优;

而对于STSP,该值将在30%附近或更高,因为STSP如用AP作为下界,那么解中将会有很多成对出现的子迹。


基于初始解

进行启发式算法的流程如下:

  1. 记p个有向子闭迹为, 若p=1,停止,该为ATSP的最优解, 否则进入步骤2;
  2. 找到两个拥有最多覆盖点的子迹;
  3. 合并 ,使得合并增加的成本最小,另p = p - 1, 如果p = 1,此时解为相对最优解,否则返回步骤2;


我们可以通过以下具体例子[2]进一步理解,假设有6个点,每个点之间的距离成本矩阵如下


通过AP模型,可以得到

为

此时p=2,进行启发式算法合并两个子迹,得到

在上述简单例子中,由于AP初始解仅有2个闭合回路,因此我们仅需要通过一次循环就可以找到启发式算法的最优解, 更一般而言,当初始解回路为M时,我们需要重复M-1次以得到最优解。


在供应链领域,ATSP问题通常是针对城内规划,路径多样且不对称,而对于STSP,多为城际规划,道路单一且大致对称。因此接下来我们将着重描述适用于更大型系统的STSP的启发式算法。


五、STSP的启发式算法一(Nearest Neighbor)


因为对称TSP性质的特殊性,模型将建立在无向图上,因此我们可以改写其数学模型为

约束(6)即等效于ATSP的约束(1)和(2),而约束(7)即为防止子迹的出现。

现在我们先介绍简单的最近邻点算法(nearest neighbor heuristic)的具体步骤:

  1. 任选点作为起点,令
  2. 找到下一邻点 使得 , 将k加入C中
  3. 当|C|=|V|则算法停止,否则记h=k重复步骤2


下面用一个最近邻点算法的具体实例来进一步阐释:

  1. 选择最左端点为起点(1)
  2. (1)其可与最右端点(9),第(2)和(3)端点相连,选择有最小成本1的(3)与(1)相连。


重复上述过程后,可知最近邻点发的最优解为红色路径,成本为10,而通过肉眼观察容易发现最优解即为直接依次从最左端至最右端,其最优长度为9 5ϵ。


基于上述理解,结合严格的数学证明可知,最近邻点算法的所得长度与最优长度相比可能随点集数量的增加而趋于无穷,但因为其在TSPLIB(a library of sample instances for the TSP (and related problems) from various sources and of various types)实例中所得到的结果对比平均值,即(Nearest Neighbor的最优解/ 目前已知最优解),约在1.26附近且算法简单容易实现,因此也是广为实用的一个算法。


六、STSP的启发式算法二(Christofides heuristic)


该启发式算法是迄今为止最坏情况界最小(3/2)的算法,相对复杂且涉及到的知识面较广,在这里没有办法一一说明,如果感兴趣可以对于每个定语结论进行更深入的研究。


注释:

最坏情况界:对某极小化问题

是任意实例,记

为算法A对于实例

所得目标函数值,

为最优目标函数值,则A的最坏情况界r定义为对于所有实例


在介绍该启发式算法之前,抛出一个结论做铺垫,因为STSP建立在无向图G=(V,E)上,因此哈密尔顿圈即为最优解。


注释:

哈密尔顿通路:无向图G=(V,E),若G中一条通路通过且仅通过每一个顶点一次,称这条通路为哈密尔顿通路。

哈密尔顿圈:若G中一个圈通过且仅通过每一个顶点一次,称这个圈为哈密尔顿圈。

哈密尔顿图:若一个图存在哈密尔顿圈,就称为哈密尔顿图


基于上述结论,我们可以通过一系列变化,找到变化图后的哈密尔顿圈作为其相对最优解。那么接下来便是启发式算法(Christofides heuristic)的步骤介绍:


  1. 利用最小生成树(MST)生成初始解,任选点r作为起点,在多项式时间内找到最小生成树。

注释:

最小生成树(MST):假设无向连通图G(V, E),且E中的每条边e有权值(可以表示距离

、价值等),找出一颗树,连接G中所有的边,且连接这棵树的所有边的权值之和最

小。

基于STSP问题, MST其数学模型为(利用r为起点)

同时当我们得到该下界后,我们仍可以对其值进行提升

a. 通过选择不同的起点生成树,从而找寻值最大的;

b. 或者利用拉格朗日对约束(9)进行松弛后求解


  1. 对奇度顶点(上图中的1,2,3,5,6,7)(结论:必为偶数个)集合建立最小完美匹配模型,找到最小成本匹配,如下图中的红色虚线

注释:

点的度数:与点相连的边的个数。

匹配:其中任意两条边都没有公共顶点的边集合

完美匹配:所有点都是匹配点的匹配。

最小完美匹配:拥有最小成本的完美匹配


  1. 当完成上述步骤后,即得到一欧拉图,基于欧拉图,找到欧拉回路即0-5-1-5-3-2-3-4-6-7-4.

注释:

欧拉图:指通过图(无向图或有向图)中所有边且每边仅通过一次通路,相应的回路称为欧拉回路


  1. 从欧拉回路中找到哈密尔顿圈,即0-5-1-3-2-4-6-7-0(仅保留欧拉回路中第一次出现点)


七、最后的一点碎碎念


TSP问题是很多问题的基石,比如VRP问题,尽管对其的研究已经十分丰富,但是模型本身难度非常大,且实际问题中,还存在很多不确定因素,比如路径的成本如何估量,路径的时间如何准确预测等都需要与其他知识理论例如机器学习等知识相结合[3]。


参考文献:

[1] ] D.S. Johnson, L.A. McGeoch, F. Glover, C. Rego, 8th DIMACS Implementation Challenge: The Traveling Salesman Problem, 2000.

[2] G. Ghiani, G. Laporte, R. Musmanno, Introduction to Logistics System Management

[3] 谈之奕, 林凌, 组合优化与博弈论

[4] Lecture Notes from Dr. Savelsbergh - Transportation 2018 in Georgia Tech

    推荐阅读
  • 红宝石与绿宝石喜林芋的区分方法(红宝石与绿宝石喜林芋怎么分)

    红宝石与绿宝石喜林芋的区分方法颜色。红宝石喜林芋的新梢为红色,叶柄紫红色,叶浓绿色,带有紫红色的光泽,嫩叶及叶鞘为玫瑰红色;绿宝石喜林芋的茎、叶柄、嫩梢和叶鞘均为绿色,叶片无紫红色光泽。生长季节可经常浇水,向叶面喷水,每两周施1次液体氢肥,则生长更好,越冬温度应在15℃以上。每年春天换盆1次,盆土要求肥沃,含腐殖质丰富,且排水良好,防止盆中积水以免使叶子发黄。

  • joke什么意思(joker什么意思)

    1、joke的意思:n.笑话; 玩笑; 荒唐可笑的人(或事物、局面); 笑料; 笑柄;v. 说笑话; 开玩笑; 闹着玩; 说着玩;2、joke的读音:英[dʒəʊk]美[dʒoʊk]3、[例句]His first jok

  • 红外热成像哪个品牌好(万里挑一的国之大器)

    目前飒特红外、高德红外、大立科技等国内一众领先企业,已经打破国外品牌长期垄断的局面。目前在我国医疗防疫、工业监测、户外探险等民用市场,已经被各大国产品牌占据。红外市场,百企大战。而能入选火炬计划的企业,堪称万里挑一的“国之大器”。对中国工业企业而言,无疑是给他们带来生产安全保障的“白衣骑士”。在东京奥运会男子100米决赛中,中国选手苏炳添以9秒83冲进决赛,创造了中国田径新的历史!

  • 红豆杉盆栽养殖方法(红豆杉盆栽如何养殖)

    切忌使用黏土,不透气,也不要使用砂土,砂土保肥,但是保水性差。制作时剪去造型不需要的枝条,根据实际情况适当剪去其他的枝条。可以将根部提出土面,使其悬根露爪,提高盆景的艺术价值。避免雨淋,冬季的时候要减少浇水的次数,要以不干不浇、浇则浇透为原则。在生长期,要给红豆杉施一些菜籽肥和氮肥。

  • 吃剩的葡萄籽能用来种盆栽吗,葡萄种植方法

    葡萄是市场上很受欢迎的水果。而且,对于女性来说,葡萄也是美容的水果,所以很多人平时都会买一些吃。而吃过葡萄后,葡萄籽最好不要扔掉,用来种进葡萄的罐子里,以后在自己家里可以吃到美味的葡萄。葡萄籽采集把剩下的葡萄籽收起来清洗干净。花盆准备土壤疏松肥沃,排灌方便,有机质适宜葡萄生长。生殖方法葡萄通常通过扦插、嫁接和压条繁殖。一般来说,剩下的葡萄籽被浪费掉了。

  • 魔兽世界怀旧服暮色巡游者在哪(暮色巡游者位置)

    暮色巡游者在泰达希尔宠物位置坐标:、、、、,现在小编就来说说关于魔兽世界怀旧服暮色巡游者在哪?下面内容希望能帮助到你,我们来一起看看吧!魔兽世界怀旧服暮色巡游者在哪暮色巡游者在泰达希尔。一身暗色斑点毛皮与泰达希尔朦胧的晨曦环境融为一体,可以在奥拉密斯湖南岸的高地上发现它的踪迹。后期发生罕见的变异,由斑点夜刃豹变为斑点霜刃豹,这引起达纳苏斯塞纳里奥议会的关注。

  • we最近新消息(WE黄金一代官宣复出)

    原来WE黄金一代四人微笑、草莓、若风和卷毛即将在斗鱼聚首,并且在LOL手游中重现当年的经典阵容,也是他们的成名英雄EZ、卡牌、奥拉夫和机器人。得知消息后60亿粉丝也是炸锅了,纷纷直呼爷青回,如今的WE黄金一代几人都已成家,可以说是超级奶爸战队了,老粉丝们看到几位重聚也是有种差点泪目的冲动。据悉这场老WE重聚赛场的活动将会在8月1日晚8点开播,不知这回WE会不会为我们带来更多名场面呢?

  • 小李子韩国采访(小李子辱华翻车)

    反过来,他们的渔民已经航行到世界各地的其他海洋,继续深海捕鱼。这种做法引起了人们对当地经济及海洋生物可持续发展影响的警惕。这段话全程都在攻击中国,认为中国人吃鱼耗尽了海鱼类资源。根据2020年全球人均鱼类和海鲜摄入量排行,鱼类产品消费量最大的还是海岛国家,中国处于低位。最后,只想说对小李子的滤镜,也仅存在于没有伤害中国的前提下。

  • 衬衫外套与短裤怎么搭(夏天这么穿就对了)

    夏天这么穿就对了夏天该穿什么又凉快又有型呢?T恤太随便,随便穿穿就很好!衬衫还不错,穿一件衬衫不论是逛街还是上班都很合适,简简单单干干净净穿衬衫的男人有一种让人无法抵挡的魅力,那一份直截了当的干练,往往很吸引人!有些。

  • 继续积极推动构建人类命运共同体(推动构建人类命运共同体)

    在48小时里,密集出席近30场活动,“命运共同体”一词被多次提及。2013年3月,主席在莫斯科国际关系学院发表演讲时,首次提出人类命运共同体理念。新冠肺炎疫情发生以来,中国发起了新中国成立以来规模最大的全球人道主义行动。截至2022年6月底,中国已经向相关国家和国际组织提供数千亿件抗疫物资、超过22亿剂新冠疫苗,生动诠释了守望相助、休戚与共的人类命运共同体理念。