浅谈旅行商问题(TSP)的启发式算法

作为经典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,解回路中必有且仅有一条弧以其作为起点的同时有且仅有一条弧以

  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值