compilation fix, more work on collect_variables

This commit is contained in:
lperron@google.com
2011-12-17 21:48:11 +00:00
parent 41d081aaa7
commit d9b52a25ff
2 changed files with 16 additions and 2 deletions

View File

@@ -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();
}

View File

@@ -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;
}
}