我正在使用 jsprit 来路由在时间窗口内进行交付的司机,在这种情况下司机必须多次返回仓库。
我们遇到的问题是,假设车辆容量为 20 个包裹,需要交付 30 个包裹,算法通常让司机取 20 个包裹,放下 10 个,然后再回来取其余的,而不是只取第一次取件时需要 10 个包裹。这是一个问题,因为有时这些物品很容易腐烂,所以运输时间越短越好。
我正在考虑根据增加运输包裹的成本来添加软约束或活动成本,但我不确定如何执行此操作,因为它似乎需要繁重的状态管理和数量跟踪。另一种选择是将事物作为后处理步骤进行转移,但这也感觉不干净。
我错过了什么吗?谢谢!