Ограничение более чем одного IntVarArray
Я работаю с несколькими 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 ответ
Да, это работает.
Пожалуйста, убедитесь, что заказ правильный или выберите стратегию выбора переменной, которая является динамической, например, CHOOSE_MIN_SIZE_LOWEST_MIN.