在ortools的车辆路径问题中,如何只让部分行程返回到车辆段?

2024-09-30 01:28:45 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用谷歌或我试图解决的工具解决车辆路径问题(VRP)的情况下,只有某些路线(路线)应该在起点结束,即车辆段

我可以编辑从每个位置到车辆段的距离。将它们全部设置为0将产生设置任意终点位置的效果,路线将看起来有点“放射状”,中心位于车辆段。而设置从每个位置到车辆段的距离将使路线看起来“圆形”

问题是,如何对问题进行建模,以便只有一些路由(包含特定类型的节点)是“循环的”


Tags: 工具路径编辑距离情况圆形建模中心
1条回答
网友
1楼 · 发布于 2024-09-30 01:28:45

这里有一些例子:
“径向”(从中心0开始)。 e、 g.:https://github.com/google/or-tools/raw/stable/ortools/constraint_solver/doc/vrp_starts_ends_solution.svg?sanitize=true src:https://github.com/google/or-tools/blob/stable/ortools/constraint_solver/doc/VRP.md#multiple-starts-ends
注意:在本例中,每辆车都有一个不同的开始节点,并且都使用相同的车辆段结束节点aka 0

环路:(从车辆段开始并返回车辆段)。
e、 g.:https://github.com/google/or-tools/raw/stable/ortools/constraint_solver/doc/vrp_global_span_solution.svg?sanitize=true src:https://github.com/google/or-tools/blob/stable/ortools/constraint_solver/doc/VRP.md#global-span-constraints

只需创建一个虚拟节点,与任何节点的距离为零,如您所说的,但也要保持您的站点

在构建RoutingIndexManager时,您可以传递开始/结束列表,以便在结束列表中选择虚拟节点或真实车辆段,以便车辆是否返回车辆段

在“打印/显示”方法中,您可以检查结束节点索引并相应地绘制/打印

注意:您可以在源代码树中找到用于生成这些svg的python脚本(ed我已经几个月没有运行它了,所以它可能会被破坏(TODO:在它上面添加CI作业^))

相关问题 更多 >

    热门问题