在我的应用程序中,我有一个驾驶员和许多车辆。也就是说,他可以在上次旅行结束后驾驶下一辆车 就约束而言,就像
routing.solver().AddConstraint(
time_dimension.CumulVar(routing.End(int(pre_vehicle_id))) <=
time_dimension.CumulVar(routing.Start(int(vehicle_id)))
)
经过多次尝试,我发现只有将第一个解决方案策略设置为PARALLEL_CHEAPEST_INSERTION时,此类约束才有效。
在这里,我有一些问题:
答案 0 :(得分:2)
路由求解器正在尽最大努力用不同的驱动程序构建并行路由。 您的额外约束只是打破了求解器正在构建的所有可行路线,因此很难找到可行的解决方案。
要解决您的问题,您只需要一个驱动程序(路由API中的车辆)。
由于容量限制,一辆车不足以访问所有节点。您需要从reload model那里获得灵感,在该节点上,初始节点副本处的重新加载对应于车辆更换。