OrTools 强制按顺序使用车辆

Posted

技术标签:

【中文标题】OrTools 强制按顺序使用车辆【英文标题】:OrTools force use of vehicles in sequential order 【发布时间】:2021-05-24 21:41:44 【问题描述】:

我假设有 7 辆车,每辆车代表一周中的一天。 然后,我需要在一周内完成一些交付。 or-tools很好解决了这个问题。 但是,如果我有足够的工作来填补,比如说只有四天,它倾向于将这些添加到最后几辆车(周末),尽可能地填补车辆,然后在一周开始时离开车辆空的。这几乎是我想要的。 但理想情况下,它应该填满第一辆车,让最后一辆车空着。我使用 VRPTW 示例作为更多解决方案的基础,并为每辆车设置了仅服务一天的时间窗,例如0-1440、1440-2880等

如何强制它从第一辆车开始按顺序使用车辆?

【问题讨论】:

【参考方案1】:

您是否尝试增加车辆固定成本,以便使用第一辆车比使用后一辆“便宜”?

【讨论】:

不,我没有。我可以试试看。【参考方案2】:

还有 Assignment* CompactAssignment(const Assignment& assignment) const; 可以帮助你,但由于我从未使用过它,我对结果和副作用没有信心......

参考(使用 cmets):https://github.com/google/or-tools/blob/b37d9c786b69128f3505f15beca09e89bf078a89/ortools/constraint_solver/routing.h#L1125-L1147

【讨论】:

以上是关于OrTools 强制按顺序使用车辆的主要内容,如果未能解决你的问题,请参考以下文章

强制异步任务按顺序运行

Python绘图强制按字母顺序而不是按时间顺序排序日期

如何强制 observables 按顺序执行?

如何强制 s-s-rS 参数的值按输入的顺序运行?

您可以强制 SQL 存储过程按给定顺序获取锁吗

如何强制使用 NSPredicate 从硬盘检索图像的特定顺序