minizinc 中的车辆路径问题是什么意思?

what is the meaning of this in Vehicle routing problem in minizinc?

我看到了车辆路径问题的这段代码,对于我想要的术语,我只需要这些变量和限制:code and restrictions but I cannot understand what and how to interpret the TravelTimes data and the result that the problem gives, doesn't it go through all the nodes? and what is the route? results。有3个节点吗?这是存款的节点。最后我无法理解节点和结果之间的时间。非常感谢有人解释。

我想知道从存款节点出发并经过所有其他节点的路线是什么。

此 MiniZinc 模型包含车辆路径问题的线性模型。

模型寻找由变量 x 表示的路径。如果 x[i,j] 等于 1,则表示该路由包含从节点 i 到节点 j 的路径。一个特殊的节点 0 代表仓库(车辆的 starting/end 点)。

在这个特定模型中,您可以从所有任何节点旅行到任何其他节点,但它们之间的旅行时间不相等。 TravelTime 数组包含在不同节点之间旅行所需的时间。 TravelTime[i,j] 是从节点 i 到节点 j 所需的时间。模型的 目标 是最小化 x.

中所选路径的行程时间

为了完成模型,“indegree”约束强制为每个节点(包括站点)选择 1 条传入路径,“outdegree”约束强制为每个节点(包括站点)选择 1 条传出路径).这些约束确保您访问每个节点和车辆 returns 到起点。

正如我在开头提到的,这个模型看起来像是为线性求解器(例如 MIP 求解器)编写的。像 CBC 和 Gurobi 这样的求解器可能会在这个模型上做得很好,但其他的则不会。为了让其他求解器更容易访问它,您可以查看 circuit 全局,它将替换“indegree”和“outdegree”约束。全局约束允许求解器选择如何以求解器可能的最佳方式实施特定约束。