我正在处理算法问题。我有一个已知的图算法,只有一个中心节点。目的是通过两个运输商将货物从该中心节点运送到一些其他指定节点。每个运输车都可以携带最多。当时一个单位的货物,以便在每个节点访问后,他们回到下一个中心节点。我应该计算出最短的时间来做到这一点。
我的方法是使用dijkstra algorithm中心节点来查找考虑节点之间不同距离的所有其他节点的最短路径。然后对于运输者应该去的所有节点(有时甚至不止一次到特定节点),由于来回的距离,我将值加倍。我将值分成两组,每个组的总和尽可能接近,因为有两个传输器,并且打印得更大。
然而,解决方案似乎并不完美。我需要另外一件事来构建它。如果第一个运输车知道他的工作结束让我们早点说8个单位,那么他可以在交货期间为路上的第二个运输车准备一个货物,这样他就不必为了它而直到中心节点但是更少。然后他们的总时间将是相等的,但考虑到两者都更短。遗憾的是,这并不总是可行的(例如,只有一个交付到一个节点等)。我需要在程序中添加这个方面。