0

我正在用 VRP 做一个学校项目。我要解决的问题是生成具有多个点的路线,每个点必须在一个时间窗口中执行。

我的问题是如何将日期(unix 时间戳)转换为 jsprit 中的时间窗口,因为算法从 0 时间开始。我只是将时间间隔减去,还是有我错过的最佳实践。

谢谢你的帮助。

4

1 回答 1

2

已编辑。

JSprit 与单元无关。您选择要使用的单位。

我可以选择我的一周从周一到周日,我想以分钟为单位定义单位。在这种情况下,周一早上 9 点是时间 540 (9*60)。或者我可以用秒来定义它,在这种情况下,同一时间是 32400 (9*60*60)。只要时间单位始终保持一致就没有关系。

几乎可以肯定,Unix 时间戳对于这个问题来说是多余的。您在设定的时间运行解决方案;通常,您正在寻找离散问题的解决方案,并且您将以设定的时间间隔运行算法。这总是为您提供一个基准点,将 jsprit 的“抽象”输出(例如到达时间 678)转换为与当前问题相关的日期时间。

这样,我可以在 7 月 19 日为 w/c 7 月 25 日运行算法,但知道到达时间的解决方案是基于 7 月 25 日的 00:00 为“0”,然后添加分钟。

底线:JSprit 不会调用解决方案的时间作为时间 0。它需要时间 0 作为您选择在任意系统中定义它的任何点;星期天的午夜,教皇弗朗西斯的就职典礼,基本上都是:)

于 2016-07-17T22:26:09.403 回答