Minizinc Model pickup and delivery 在一个类似于 Vehicle Route Problem 的问题中

Minizinc Model pickup and delivery in a problem similar to Vehicle Route Problem

我是 Minizinc 的新手,我想调整我发现的一个 VRM 问题 here

我必须添加一些功能,但我真正苦苦挣扎的是取货和送货服务之间的依赖关系。有些节点(投递节点)只有在之前访问过一些其他节点(拾取节点)之后才必须被访问。

我想为这样的优先级添加一个输入:

array[1..n_orders div 2, 1..2] of int: precedences = [| 1, 3 | 2, 4 | 5, 10 | 7, 8 | 6, 9 |];

基本上,它说必须在节点1之后访问节点3,在节点2之后访问节点4,依此类推...

知道怎么做吗?

看来可以通过constraining

来建立基本的优先级
constraint forall(i in index_set1of2(precedences)) (
    DepartureTimes[precedences[i,1]] < DepartureTimes[precedences[i,2]]
)