The best way to add Cuts to a linear model

52 views
Skip to first unread message

andreas L

unread,
Aug 31, 2018, 6:09:03 PM8/31/18
to Gurobi Optimization
Dear Community,
I am just learning how best to program cutting plane algorithms with Python + Gurobi. As an example is the cut formulation of the min cost flow problem with continuous variables. There are exponential inequalities and I just want to add the necessary inequalties by an iteration.

My first idea was a loop about alternately solving the optimization problem and subsequently adding a new not fulfilled inequality.
But then, i found the callback function and the possibility to add these cuts for a MIP in the solver  without a extern loop.

Does anyone have experiences with this topic and can me tell something about the better way, if the second way with a callback-function ( only Cuts for a LP, not ILP)  works?

Nice regards,
Andreas

Daniel Espinoza

unread,
Sep 12, 2018, 9:10:51 AM9/12/18
to Gurobi Optimization
Hi Andreas,

To use cuts that are really defining the problem you need to both use cut callbacks and lazycut callbacks; if you do that, everything will be fine.... now, which strategy is best for adding cuts... well, that is an open question.
Mos people will add a bunch of `diverse` cuts that are as `deep` as possible.... but that is not the only approach possible.

Best regards,
Daniel
Reply all
Reply to author
Forward
0 new messages