[Cbc] refusing feasible solutions

John Forrest john.forrest at fastercoin.com
Tue Jul 24 03:22:18 EDT 2012


Pietro,

Cbc should be calling
CbcModel::setBestSolution (CBC_Message how,
                            double & objectiveValue, const double 
*solutionIn,
                            int fixVariables)
- if not that is a bug.

If the solverCharacteristics include solutionAddsCuts then it should go 
through your globally valid cut generators to see if any cut off solution.

If we can sort out if/why not it is calling setBestSolution then it 
would be trivial to make virtual - but would have to be in trunk.

John

On 23/07/12 21:02, Pietro Belotti wrote:
> 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
> _______________________________________________
> Cbc mailing list
> Cbc at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/cbc
>
>



More information about the Cbc mailing list