最少旅行次数

时间:2019-01-23 11:09:38

标签: algorithm graph dynamic-programming graph-algorithm

在这些社会的latitudelongitude中,我有N societiesorder count分,在一个社会中,我也有latitudelongitude分卡车将从其部署的仓库,并将被发送到这些不同的社会(如亚马逊的送货)。卡车可以运送maximum 350 orders(订单数<350)。因此,无需考虑订单数量超过350的物品(我们通常会在那儿派两辆卡车或一辆更大的卡车)。现在,我需要确定一种部署卡车的方式,以使发生最少的跳闸次数。

考虑到我们根据this脚本确定两个社团或仓库之间的距离为'X'是准确的,我们该如何解决?我首先想到我们可以使用子集总和来解决它,也许吗?对我来说,在图上看起来像dp,旅行商的问题是无限的推销员。

卡车数量没有限制。

Table // Don't consider other columns.

1 个答案:

答案 0 :(得分:1)

这是一个典型的旅行商问题(TSP),被称为NP-complete。这意味着,如果您正在寻找最佳解决方案,则必须测试大多数组合技术。如您所知,!350是可怕的。

尽管如此,正如亨利建议的那样,您可以寻找一个不一定是最好的好的解决方案。许多称为“启发式”的算法可让您以非常有效的方式找到一个好的解决方案。只需在此处查看一些示例https://en.wikipedia.org/wiki/Travelling_salesman_problem

最简单的启发式算法可能是一个贪婪的解决方案,就像总是将最近的未访问点当作下一社会一样。