在带有日期的jsprit中使用时间windows
Use time windows in jsprit with date
我正在用 VRP 做一个学校项目。我要解决的问题是生成具有多个点的路线,每个点必须在一次 window 内执行。
我的问题是如何将日期(unix 时间戳)转换为 jsprit 中的时间 windows,因为算法从 0 时间开始。我是只是增加时间间隔,还是缺少最佳实践。
感谢您的帮助。
已编辑。
JSprit 与单元无关。您选择要使用的单位。
我可以选择我的一周 运行 从周一到周日,我想用分钟来定义单位。在这种情况下,星期一早上 9 点是时间 540 (9*60)。或者我可以用秒来定义它,在这种情况下,同一时间是 32400 (9*60*60)。只要时间单位始终一致就没关系。
Unix 时间戳几乎可以肯定是多余的。你运行在规定时间解决;通常,您正在寻找离散问题的解决方案,并且您将 运行 以设定的时间间隔使用算法。这始终为您提供一个基准点,将 jsprit 的 "abstract" 输出(例如到达时间 678)转换为与当前问题相关的日期时间。
通过这种方式,我可以 运行 7 月 19 日 w/c 7 月 25 日的算法,但 知道 到达时间的解决方案是基于00:00 7 月 25 日为“0”,然后只需添加分钟。
底线:JSprit 不 将调用解决方案的时间作为时间 0。它将时间 0 视为您选择在任意系统中定义它的任何点;周日午夜,教皇弗朗西斯的就职典礼,基本上任何事:)
我正在用 VRP 做一个学校项目。我要解决的问题是生成具有多个点的路线,每个点必须在一次 window 内执行。
我的问题是如何将日期(unix 时间戳)转换为 jsprit 中的时间 windows,因为算法从 0 时间开始。我是只是增加时间间隔,还是缺少最佳实践。
感谢您的帮助。
已编辑。
JSprit 与单元无关。您选择要使用的单位。
我可以选择我的一周 运行 从周一到周日,我想用分钟来定义单位。在这种情况下,星期一早上 9 点是时间 540 (9*60)。或者我可以用秒来定义它,在这种情况下,同一时间是 32400 (9*60*60)。只要时间单位始终一致就没关系。
Unix 时间戳几乎可以肯定是多余的。你运行在规定时间解决;通常,您正在寻找离散问题的解决方案,并且您将 运行 以设定的时间间隔使用算法。这始终为您提供一个基准点,将 jsprit 的 "abstract" 输出(例如到达时间 678)转换为与当前问题相关的日期时间。
通过这种方式,我可以 运行 7 月 19 日 w/c 7 月 25 日的算法,但 知道 到达时间的解决方案是基于00:00 7 月 25 日为“0”,然后只需添加分钟。
底线:JSprit 不 将调用解决方案的时间作为时间 0。它将时间 0 视为您选择在任意系统中定义它的任何点;周日午夜,教皇弗朗西斯的就职典礼,基本上任何事:)