Google OR 工具:最小化总时间

Google OR-Tools: Minimize Total Time

我正在研究 VRPTW,并希望最小化所有车辆的总时间(行驶时间 + 等待时间)。因此,如果我们有 2 辆车,一辆从时间 0 开始,returns 在时间 50,另一辆在时间 25 开始,returns 在时间 100,那么 objective 值将是 50+ 75=125。 目前我已经实现了以下代码:

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

然而,这似乎只是在缩短我们返回车站的时间。 它还会导致非常长的等待时间。 如何在 Google OR 工具中正确实施它?

这叫做跨度。

查看一辆车的 SetSpanCostCoefficientForVehicle method

你也可以set it for all vehicles.