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

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

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

优化浅谈旅行商问题『运筹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

    推荐阅读
  • 完美关系在那个台几点播出(你知道吗)

    接下来我们就一起去研究一下吧!完美关系在那个台几点播出当代都市题材电视剧《完美关系》的播出时间:2020年2月18日,首播平台:湖南卫视、爱奇艺、腾讯视频。若是VIP会员24点更新,非会员次日24点观看,2018年7月拍摄,由浙江金溪影视有限公司制作,制作周期12个月,该剧由安建导演,主演:黄轩,佟丽娅,陈数。

  • 堂哥的儿子是我的外甥还是侄子(堂哥的儿子是我的外甥还是侄子呢)

    亦称朋友的儿子,属于客套话,而哥哥的小孩其实就是弟兄的孩子,所以叫“侄子”最恰当不过。姑侄对称,与亲兄弟之子无关。在此之前,兄弟之子称为兄子和弟子,多用作亲属的“转述叙称”称谓。

  • 晨跑和夜跑哪个更减肥瘦身(晨跑和夜跑哪个减肥更快)

    但是对于减肥的人而言,还是要有所限制。

  • 施瓦辛格成功绝非偶然(从穷小子到国际巨星)

    在加入美国国籍后,他就报名参加了美国举办的国际健美比赛,而在本场比赛上,施瓦辛格凭借着接近完美的男性身材而获得了比赛冠军,也因此得到了健美先生的称号。施瓦辛格心里一直有一个梦想——成为美国总统。施瓦辛格弃影从政,成功当选州长施瓦辛格在健美界和影坛所取得的成就也使得他闻名世界,他所积攒下的财富也使得他跻身亿万富翁。另外施瓦辛格还提出了使用清洁能源等政策,为此他还放弃

  • 汉服简介(汉服的介绍)

    与汉人一词类似,汉服中的“汉”字的词义外延亦存在着由汉朝扩大为整个民族指称的过程。汉服“始于黄帝,备于尧舜”,源自黄帝制冕服。定型于周朝,并通过汉朝依据四书五经形成完备的冠服体系,成为神道设教的一部分。汉服还通过华夏法系影响了整个汉文化圈,亚洲各国的部分民族如日本、朝鲜、越南、蒙古、不丹等等服饰均具有或借鉴汉服特征。

  • 山楂的保存方法(山楂的保存方法简述)

    下面内容希望能帮助到你,我们来一起看看吧!山楂的保存方法对于已经切开的山楂,想要保存可以放进盐水中,也可放在阳光下晾晒,让水分尽快蒸发掉。完整的山楂保存可以装入塑料袋中,扎紧袋口放进冰箱冷藏。在容器底部放一层细沙将山楂装入,再放一层细沙密封保存。最简单的方法是放入保鲜膜中,把里面空气放干净,密封袋口保存。

  • 象棋中的马怎么算撇脚(撇脚的具体情况如下)

    以下内容大家不妨参考一二希望能帮到您!象棋中的马怎么算撇脚比如马要向前跳!那马前面也就是马头上如果有棋子就是挡马脚!无论马往哪边跳!马前面有一颗棋子挡着,比如想向前跳,紧挨着马的正前方有一颗棋子,都叫撇脚马,同理,你想向左跳,紧挨着马的左方有一颗棋子也叫撇脚马。

  • 赘婿楼舒婉为什么要杀死家人 赘婿楼舒婉报仇了吗

    在对方强占檀儿时,被宁毅给撞见了,一向有仇必报的他,自然要将楼家给灭掉。之前宣威营的小头目绑走了苏檀儿,最终卖给了楼书恒。之后楼舒婉制作了防水衣送给了刘西瓜,刘西瓜又给了宁毅。之后宁毅发现了防水衣的秘密,急冲冲的跑到了楼家的布店,刚好撞见楼书恒在欺负苏檀儿。如此看来,这一切都是楼舒婉布下的局,就是为了弄死自己的哥哥和父亲。之后他的所作所为,都是为了报复自己之前遭遇的不公。

  • 自制瓷砖胶(瓷砖胶配方及制作方法)

    接下来我们就一起去研究一下吧!自制瓷砖胶先将冷水按比例加入到容器内,开启搅拌机再将胶粉徐徐撒入,高速搅拌10-15分钟即为胶水。批重钙、滑石粉,每1000公斤水加107胶粉13-14公斤、杀菌防腐剂3公斤,或加入甲醛2.5-3公斤,制成胶水。批硅酸盐灰白水泥:每1000公斤水直接加入107胶粉10-11公斤,制成胶水。

  • 研教学评一体化(备教学)

    只有经历这一大循环的教学,才能呈现一种持续评价教与学的目标达成度、教与学的进步度、决定教与学的需求,并实现螺旋上升的态势,使教与学和质量评价更有意义。所以,在“备、教、学、评一体化”教学指导下的教学新格局,应该是一个高效的课堂。