[Cbc] custom cut generator

Tobias Stengel Tobias.Stengel at locom.de
Tue Mar 28 04:05:04 EDT 2017


Hi,

I am trying to write a problem specific cut generator. When I do

class CustomCutGenerator : public CglCutGenerator
{
       // implement my cuts here
}

and CbcModel::addCutGenerator() afterwards, the cut generator is called with a OsiSolverInterface that has less columns than the original model (due to presolving?). For reasons my cut generator only works on the original problem and requires the solution of the relaxation.

Is there an easy way to transform the current continuous solution from the OsiSolverInterface to the original model and the generated cuts back to the presolved one? I know that gurobi is doing this behind the scenes (but requires some non-default presolve settings [1] to work), but I'd like to use CBC.
The only workaround I found so far is to completely disable presolve - not very nice...


Thanks

Tobias


[1] https://www.gurobi.com/documentation/7.0/refman/py_model_cbcut.html#pythonmethod:Model.cbCut



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20170328/7e663b8d/attachment.html>


More information about the Cbc mailing list