2

我在 python 中使用 or-tools v7.3.7083 实现了带有时间窗口、中断和惩罚的 VRP。但我发现休息时间没有按预期安排。

我简化为一条路线来解释:

车辆 0 的午休时间:开始 (240) 持续时间 (60)

车辆 0 的路线:

0 加载(0),时间(0,0) -> ... -> 7 加载(6),时间(227,227) -> 4 加载(7),时间(319,319) -> ...

位置 7 需要 32 分钟才能到达位置 4。根据分配,车辆在前往位置 7 到 4 的过程中休息:

地点 7 -> +13 分钟 -> 午休(+60 分钟)-> +19 分钟 ->地点 4

但是,我想要的是车辆休息而不是去位置 4:

地点 7 -> +13 分钟 -> 午休(+60 分钟)-> +32 分钟 ->地点 4

或者更好的是,先去位置 4,而不是午休:

地点 7 -> +32 分钟 ->午休(+60 分钟) -> 地点 4

如何在模型中指定此约束?

附代码文件: https ://gist.github.com/MarioLeung/45a32aaa7423c262ecdc384fc710c248

附上时间矩阵的数据文件: https ://gist.github.com/MarioLeung/0b9f3e9af76715339c64f1f6f72e3313

4

0 回答 0