我是交通优化和 OptaPlanner 的新手,但我需要解决一个问题,即大约 1,400 辆车需要从 9000 个地点取货并在特定时间运送到 500 个目的地。 我的目标是制定一个交通计划,利用一辆车在多个目的地上车,并在目的地使用多辆车。 带有OptaPlanner的自行车信使/TSPPD问题似乎暗示了可能满足我需求的结构。
我是Java的新手,但对编程并不陌生 - 我过去用C,C++和SQL编程。 我也看过jsprit,我正在寻找最好的路径。 流口水很有吸引力,因为它似乎提供了一种有凝聚力的方式来组织不断变化的约束。 我已经开始研究时间/距离矩阵 - 应该很快就会准备好。
任何意见,想法或建议将不胜感激! 我只想朝着一个好的方向开始,如果有的话。
您可以使用Clark&Wright保存算法,但它不是一个精确的求解器。
你能找到OptaPlanner的解决方案吗?我假设你做到了,因此如果你仍然有兴趣比较你的结果("我正在寻找最佳路径"),那么这可能很有趣。如果没有,你最好坚持使用成熟的软件OptaPlanner。
否则,请再次查看jsprit。我进一步发展了它。它现在可以处理提货和交付以及多个仓库/车辆启动位置。但是,鉴于基础 VRP 的性质,您的问题非常大。我建议您先对问题进行采样,即使用 1% 或 10% 的样本进行实验并找到最佳算法配置。然后,您可以调整约束,使问题更易于处理,并更好地随问题大小扩展。
您提到自行车信使示例是一个很好的起点。我实现了它。所以看看这个,从那里开始。如果您有任何疑问,请随时与我联系。请让我知道你的比较。