0

我正在为几天单程旅行的特定问题分析带有时间窗口的 JSPRIT 功能。

卡车正在装载包裹,这些包裹将在几天内(不是一天)交付。这是因为交货点之间的距离很大。每个站点的营业时间为 8:00 至 16:00,因此有硬时间窗口。因此,在第一天,卡车在 16:00 之前交付了一些包裹,并且不允许在同一天再交付。

然后司机应该进入另一个交付点,该点将在第二天从 8:00 到 16:00 再次开放,程序继续进行,直到所有包裹都被交付并且轨道可以返回其仓库。

是否可以在 JSPRIT 中实现这样的场景?

4

1 回答 1

0

迟回复抱歉。我不明白为什么这应该是一个太大的问题。只需定义整个一周的时间单位,不要给任何工作一个时间窗口(或基本上跨越整个一周的时间窗口)。

然后你定义你的车辆。假设您有 2 辆车的车队,您必须定义:

mondayA
mondayB
tuesdayA
tuesdayB
wednesdayA
....

这些车辆中的每一辆仅在您的一周时间线中的上午 7.30 到下午 4 点(不返回仓库)之间运行一天。当没有可用车辆时,其他工作无法提供服务,因此这符合您的目标(开始时间大约为 30 分钟)。

我认为定义每天重复每个工作的问题会复杂得多,所以你可能不得不接受这个或类似的近似值,除非你想走上大规模问题的道路。约束,或编写自定义约束。

于 2017-01-10T18:44:30.957 回答