什么是具有多个销售人员且没有回报但已知顶点和终点的TSP的解决方案?

时间:2013-12-30 10:26:18

标签: algorithm optimization graph-theory heuristics traveling-salesman

我不知道我的说法是否正确,我不确定它是否是TSP问题,但这是情景。

我正在设计并尝试优化交付服务的路线规划器。我有多个司机(推销员)都在中央仓库(原产地)领取包裹并在回家的路上送货。他们的家庭位置(终点)是已知的,地图上的所有交付目的地(顶点)也是已知的。完成交付后,司机回家而不是回到车厂。

这是一个什么样的问题,我应该研究什么样的解决方案?我一直把它视为一个多TSP而没有返回,但仍然无法确定任何近乎最佳的旅行。我也尝试过最短的汉密尔顿路径,但是一旦我引入了第二个驱动程序,我很快就会遇到一个集团。

欢迎任何资源,算法和启发式建议。

3 个答案:

答案 0 :(得分:4)

杰弗里是对的。这是车辆路径问题。然而,它不是具有单个仓库的经典容量(CVRP),因为您的驾驶员可能在家中而不是在车厂开始和结束。因此,您的问题变得更加困难,并转向拾取和交付问题(VRPPD)。

简而言之:如果您的司机刚开始和结束在仓库,那么它就是CVRP。如果他们在家里开始和结束,那就是VRPPD。

对于CVRP,您可以找到许多开源算法,例如OptaPlanner,用Java编写(Geoffrey了解更多)或VRPH这是一个C ++库。在VRPPD方面,可用的开源算法数量有所减少。也许你可以用OptaPlanner做到这一点(我不是百分之百肯定)。但是你可以使用我在Java中实现的jsprit来解决它。

如果你的问题很大并且你需要快速的响应时间(计算时间),你可能最好将VRPPD变成CVRP,假设司机先从家到车站,最后再从车站到家。但这样你肯定会失去优化潜力。

答案 1 :(得分:2)

这称为车辆路径问题(VRP)。

该主题有许多可用资源,例如视频(capacitated和/或time windows)和docs

The VRP web为不同变体提供了很好的解释。

答案 2 :(得分:1)

  • This article似乎考虑到了你想要的完全相同的问题,并称之为:“K-vehicles Windy Rural Postman Problem”。

    作者:Benavent,Corber,Sanchis和Plana。

  • this one这样的文章用一个推销员Open VRP(OVRP)调用无返回条件变量。

    作者:D Aksen,ZÖzyurt和N Aras2。

  • 2013年关于VRP的论文,不返回:http://www.hindawi.com/journals/tswj/2013/874349/

    作者:Tantikorn Pichpibul Ruengsak Kawtummachai。