我正在分析使用时间窗口的JSPRIT功能,以解决几天单程的特定问题。
卡车装有包裹,这些包裹将在几天内(不一天)在几天内交付。这是因为交付点之间存在很大距离。每个站点从8:00到16:00打开,因此很难窗户。因此,在第一天,卡车可提供一些包装,直到16:00,并且不再允许交货。
然后,驾驶员应进入另一个交货点,第二天将从8:00到16:00再次打开,并且过程继续进行,直到所有包裹都被交付并可以返回其仓库为止。
是否可以在JSprit中实现此类情况?
迟到回复对不起。我不明白为什么这应该是太多问题。只需在整个星期中定义您的时间单元,不要给任何工作窗口(或基本上整个星期的时间窗口)。
然后定义车辆。假设您有两辆车队,您必须定义:
mondayA
mondayB
tuesdayA
tuesdayB
wednesdayA
....
这些车辆中的每辆车仅在一周的时间表中一天的7.30 am至4pm(无返回仓库)之间运行。当没有车辆可用时,其他工作将无法维修,因此这达到了您的目标(开始时间为30分钟的近似值很小)。
我认为定义每天重复每份作业的问题更为复杂,因此您可能必须接受此问题,因此您可能必须接受或类似的近似值大量缩小问题的路径有很多约束,也可以编写自定义约束。