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 求解器) - 如何访问求解器找到的中间解决方案?