void LinearConstraint::findProjection(MIP &mip, Cost &cost, int varindex, map<Value, Cost> &delta) { pair<Cost, bool> result; delta.clear(); EnumeratedVariable* x = (EnumeratedVariable*)getVar(varindex); for (EnumeratedVariable::iterator j = x->begin(); j != x->end(); ++j) { int var1 = mapvar[varindex][*j]; int tmp = cost; cost = tmp = mip.augment(var1); // make sure this value is used... assert(tmp >= 0); delta[*j] = tmp; } }
virtual int augment(int var1) { if (solver) return solver->augment(var1); return 0; }
virtual int augment(int varindex, int value) { if (solver) return solver->augment(varindex, value); return 0; }