我正在使用jsprit来路由在时间窗口中进行交付的驱动程序,其中驱动程序必须多次返回到depot。
我们遇到的问题是,如果车辆容量为20个包裹,并且需要交付30个包裹,算法通常会让驾驶员需要20个包裹,减少10个包裹,然后再返回其余部分,而不是只在第一个皮卡上取得必要的10个包裹。这是一个问题,因为有时这些物品是易腐烂的,所以运输时间越短越好。
我正在考虑基于向运输中的包裹增加成本来添加软约束或活动成本,但我不知道如何执行此操作,因为它似乎需要大量的状态管理和卷跟踪。另一个选择是将事物转移到后处理步骤,但这也不会让人觉得干净。
我错过了什么吗?谢谢!