[Cbc] refusing feasible solutions

Pietro Belotti pbelott at clemson.edu
Mon Jul 23 16:02:06 EDT 2012


Hello.

Is there any way to block (or check) integer solutions that Cbc finds 
(through heuristics, from the LP solver, strong branching, etc.) to 
prevent it from use as a cutoff?

I am using Cbc stable/2.7 to solve a problem with a small number of 
initial constraints plus other (exponentially many) constraints to be 
added during branch and bound. The integer solutions satisfying the 
initial constraints may not be feasible for the original problem, 
therefore I would like to have the last word before Cbc accepts them. This 
would look like the Cplex callback added through the 
CPXsetincumbentcallbackfunc() procedure.

There are two CbcModel::setBestSolution() methods and a 
CbcModel::checkSolution(), but it appears that none of them are called, 
and the branch and bound terminates quickly with a solution that, while 
optimal for the initial problem, is infeasible for the model I'd like to 
use. If there were a way to activate CbcModel::checkSolution() through 
some option, it would then be nice to have that method virtual in Cbc to 
create my own check.

Thanks,
Pietro

--
Pietro Belotti
Dept. of Mathematical Sciences
Clemson University
email: pbelott at clemson.edu
phone: 864-656-6765
web:   http://myweb.clemson.edu/~pbelott


More information about the Cbc mailing list