Google OR-Tools:最小化总时间

Posted

技术标签:

【中文标题】Google OR-Tools:最小化总时间【英文标题】:Google OR-Tools: Minimize Total Time 【发布时间】:2020-06-16 15:00:45 【问题描述】:

我正在研究 VRPTW,并希望最大限度地减少所有车辆的总时间(行程时间 + 等待时间)。因此,如果我们有 2 辆车,一辆在时间 0 开始并在时间 50 返回,另一辆车在时间 25 开始并在时间 100 返回,那么目标值将是 50+75=125。 目前我已经实现了以下代码:

    for i in range(data['num_vehicles']):
        routing.AddVariableMinimizedByFinalizer(
            time_dimension.CumulVar(routing.End(i))) 

但是,这似乎只是最大限度地缩短了我们返回站点的时间。 此外,它会导致非常长的等待时间。 如何在 Google OR 工具中正确实现?

【问题讨论】:

【参考方案1】:

这称为跨度。

请参阅SetSpanCostCoefficientForVehicle method 了解一辆车。

你也可以set it for all vehicles。

【讨论】:

以上是关于Google OR-Tools:最小化总时间的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中使用 Google OR-Tools 寻找目标?

Google OR-Tools(使用 SCIP 求解器) - 如何访问求解器找到的中间解决方案?

OR-Tools - 最小化每条路线覆盖的区域

OR-Tools:向最小成本流类添加约束?

Or-Tools CpSolver 获取最小和最大总和或绝对值

如何将需求率添加到 Or-Tools vrp