假设您是一家包裹运送公司,在地图上的开始位置固定。您必须交付40个包裹,但要有无限的驾驶员,无限的汽油,并且唯一的限制是您要使车辆总行驶里程最少,并且每辆车可以容纳16个包裹。卡车可以以每小时18英里的速度行驶,并从上午8点开始
在交货时间表的某个时刻,一个包裹将被重新分配一个地址。
我知道Dijkstra的算法可以让我们找到两点之间的最短路径,但是我想不出一种有效的方法,可以将算法应用于3条独立的路径,这些路径可以改变路线并仍然保持可能的最低里程。
我可能想得太多,但是有人可以指出我正确的方向吗?
答案 0 :(得分:1)
不幸的是,此问题是NP问题,这意味着到目前为止,我们还没有任何算法可以解决最坏情况的效率,确定性并且始终正确。就是说,我们没有像Dijkstra的算法或A *这样的东西可以立即投入使用并保证从中获得快速的最佳结果。
话虽如此,这实际上是我们确实希望定期解决的问题(例如,参见this article about UPS)。您可能要考虑使用整数编程求解器,虽然不能保证它能有效运行,但实际上通常会这样做。