Adding user cuts derived from optimal simplex tableau
AnsweredDear Team,
I need to add User Cuts to remove infeasible solutions which are derived using the current optimal basis and are constructed using non-basic variables.
To be exact, I am trying to incorporate the Intersection Cuts (IC). At every node with MIPNODE_STATUS == OPTIMAL, I need the optimal tableau, and then after solving a problem for IC, the user cut is added using the non-basic variables. I am working in Python.
Thanks in advance!
-
Hi Satender,
It is currently not possible to get the information you need from within a callback. The only information available in any callback is listed in the Callback documentation.
I see two possible solutions for your issue.
If you only want to show the usefulness of your cuts, you could implement a simple B&B algorithm yourself where you call Gurobi in each node to solve an LP. Then, after solving a node LP to optimality, you can extract all information needed via the respective attributes. Note that this approach would lack all MIP technology implemented in Gurobi but would probably still be enough to show the validity of your cuts.
Alternatively, you could use an open-source solver such as SCIP where you can adjust the code if needed and extract all the information you require. Since SCIP implements most of state-of-the-art MIP technology, this may be the better way to go to implement and test your cuts.
Best regards,
Jaromił2 -
Thank you Jaromil for your prompt response. I will try to use other solvers.
0
Please sign in to leave a comment.
Comments
2 comments