compilation fix, more work on collect_variables
This commit is contained in:
@@ -176,7 +176,7 @@ class CollectVariablesVisitor : public ModelVisitor {
|
||||
}
|
||||
for (int j = 0; j < matrix.columns; ++j) {
|
||||
if (counters[j].size() == matrix.rows) {
|
||||
vector<const IntVar*> vars =
|
||||
const std::vector<const IntVar*>& vars =
|
||||
top()->FindIntegerVariableArrayArgumentOrDie(
|
||||
ModelVisitor::kVarsArgument);
|
||||
LOG(INFO) << "Found index variable in allowed assignment constraint: "
|
||||
@@ -189,6 +189,20 @@ class CollectVariablesVisitor : public ModelVisitor {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else if (type_name.compare(ModelVisitor::kNoCycle) == 0) {
|
||||
const std::vector<const IntVar*>& vars =
|
||||
top()->FindIntegerVariableArrayArgumentOrDie(
|
||||
ModelVisitor::kActiveArgument);
|
||||
for (int i = 0; i < vars.size(); ++i) {
|
||||
IgnoreIntegerVariable(const_cast<IntVar*>(vars[i]));
|
||||
}
|
||||
} else if (type_name.compare(ModelVisitor::kPathCumul) == 0) {
|
||||
const std::vector<const IntVar*>& vars =
|
||||
top()->FindIntegerVariableArrayArgumentOrDie(
|
||||
ModelVisitor::kActiveArgument);
|
||||
for (int i = 0; i < vars.size(); ++i) {
|
||||
IgnoreIntegerVariable(const_cast<IntVar*>(vars[i]));
|
||||
}
|
||||
}
|
||||
PopArgumentHolder();
|
||||
}
|
||||
|
||||
@@ -1402,7 +1402,7 @@ IntExpr* Solver::MakeSum(IntVar* const* vars, int size) {
|
||||
sum_max += vars[i]->Max();
|
||||
}
|
||||
IntVar* const sum_var = MakeIntVar(sum_min, sum_max);
|
||||
AddConstraint(RevAlloc(new SumConstraint(this, vars, size, sum_var)));,
|
||||
AddConstraint(RevAlloc(new SumConstraint(this, vars, size, sum_var)));
|
||||
return sum_var;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user