or-tools单driver第一个解题

or-tools single driver first solution problem

在我的应用程序中,我有一个 driver 和许多车辆。即,他可以在上一次行程结束后驾驶下一辆车 就约束而言,它类似于

routing.solver().AddConstraint(
                             time_dimension.CumulVar(routing.End(int(pre_vehicle_id))) <=
                             time_dimension.CumulVar(routing.Start(int(vehicle_id)))
                        )

经过多次尝试,我发现只有当我将第一个解决方案策略设置为 PARALLEL_CHEAPEST_INSERTION 时,这种约束才有效。

这里,我遇到了一些问题:

路由求解器正在尽最大努力构建具有不同 driver 的并行路由。 您的额外约束只是打破了求解器正在构建的所有可行路线,因此很难找到可行的解决方案。

要解决你的问题,你只需要有一辆driver(路线中的车辆API)。

由于容量限制,一辆车不足以访问所有节点。您需要从 reload model 中获得灵感,其中初始节点副本处的重新加载对应于车辆更改。