我们在图中给出了一条必须遍历稀疏图的单列。火车总是从0号站开始。该图中的每个顶点都是一个" Station"并且边缘是到另一个站的相邻轨道。我们假设火车可以向后和向前。我们给出了一个包含" car"并给出了多少辆汽车。每辆车都有一个需要到达的目的地,同一车站的汽车目的地可能不同。最多,一个车站只有5辆车,我们的列车可以容纳的最大车数是100.我通过使用dijkstra来找到最近的车站,然后找到一条路,汽车的目的地。问题是,这是一种非常低效的解决方法,因为我的火车一次只能装载和运输1辆汽车。我希望能够充分利用我的火车的能力,但我面临的问题是,如果我一次存储多个,我将如何选择我去的路径?有没有人有什么好主意?
它不是最小生成树问题的原因是:
.C.
. .
. .
A B
如果您专门定义路径,则必须说从A到B的路径是上述路径,而不是。
答案 0 :(得分:4)
更具体地说,这是单车开放式静态一对一容量的拾取和交付问题。
这个问题是NP难的。确切的解决方案通常是分支绑定的 或分支切割算法。已经针对不同的变体提出了许多近似算法,因此我只给你一些线索: