我正在使用一个模型中的多个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, ...);
答案 0 :(得分:1)
是的。
请确保该订单是正确的订单,或者选择像CHOOSE_MIN_SIZE_LOWEST_MIN这样的动态变量选择策略。