3

我正在处理一个算法问题。我有一个具有单个中心节点的已知图形算法。目的是通过两个运输商将货物从这个中心节点运送到其他一些指定的节点。每个运输机最多可以携带。一个单位的货物,以便在每个节点访问后返回中心节点进行下一个。我应该计算尽可能短的时间来做到这一点。

我的方法是对中心节点使用dijkstra 算法,考虑到节点之间的不同距离,找到通往所有其他节点的最短路径。然后对于运输者应该去的所有节点(有时甚至不止一次到达特定节点),我将值加倍,因为来回的距离。我将值分成两组,总和尽可能接近,因为有两个传输器,并打印更大的一个。

然而,解决方案似乎并不完美。我需要另一个东西来构建它。如果第一个运输者知道他结束了工作,比方说提早 8 个单位,他可以在交付期间的某个时候为途中的第二个运输者准备一个货物,这样他就不必等到中心节点才来取货,但要少一点。那么他们的总时间将相等,但考虑到两者都更短。不幸的是,这并不总是可能的(例如,只有一次交付到一个节点等)。我需要将此方面添加到我的程序中。

4

1 回答 1

0

实际上,您正在研究“车辆路线”问题,我们可以通过启发式或建设性方法等方法解决该问题。

您可以在此处找到有关此方法的有用信息(我希望如此)。

于 2016-11-17T13:39:38.257 回答