约束多个IntVarArray

时间:2018-07-24 08:35:11

标签: or-tools

我正在使用一个模型中的多个IntVarArray-,它们的元素之间存在交叉依赖关系。这是将它们用作MakePhase方法的参数的正确方法吗?

var nr = 10;
var fLoc = s.MakeIntVarArray(nr, 0, 1);
var gLoc = s.MakeIntVarArray(nr, 0, 1);
// ... create other arrays

// ... constrain the arrays

// collect them
var decisions = new IntVarVector();

decisions.AddRange(fLoc);
decisions.AddRange(gLoc
//... add other arrays to decisions

// call MakePhase
solver.MakePhase(decisions, ...);

1 个答案:

答案 0 :(得分:1)

是的。

请确保该订单是正确的订单,或者选择像CHOOSE_MIN_SIZE_LOWEST_MIN这样的动态变量选择策略。