adjust ObjBound with CbcSetSolution
Hi, Gurobi will allow to set a feasible solution at a MIPSOL node, according to: https://support.gurobi.com/hc/enus/community/posts/360067079431/comments/360014694792
But can we force this feasible solution to be considered as the actual optimal solution at that node (instead of the LP solution), so that ObjBound could be improved accordingly ?
I would need this feature because my MIP is only a relaxation of my actual problem whose solutions are computed in the callback at every MIPSOL nodes. Thanks

Hi,
I understand that you want to set a feasible MIP solution using a callback.
Concerning
But can we force this feasible solution to be considered as the actual optimal solution at that node (instead of the LP solution), so that ObjBound could be improved accordingly ?
The branchandbound algorithm solves LP relaxations at the nodes, so I don't understand what you mean by forcing the feasible MIP solution to be considered as the actual optimal solution of a node.
Concerning the Objective Bound improvement, if the solution you provide is indeed better as the best known feasible solution at that stage, then the \( \texttt{Incumbent} \) value will be updated accordingly. The \( \texttt{BestBd} \) value is related to the LPrelaxations, and cannot be changed by providing feasible MIP solutions.
I hope this answer helps.
Elisabeth
0 
Hi Elisabeth, thank you and indeed it was probably not clear, sorry. I try to explain below, but it is OK if there is no answer for now: it is more a wish for a feature, than a question.
Just like the Gurobi MILP solver allows for lazy constraints, I was asking if it could manage "lazy solutions" when the MILP model provided to the solver is just a relaxation of the problem we want to solve at end.
In my situation (but it may also arise in bilevel prog for example), I minimize a MINLP by solving its MILP relaxation with the Gurobi LP B&C. The original nonlinear constraints and the incumbent update are managed "by hand" within a callback at MIPSOL nodes.
A MINLP solution that is eventually obtained "by hand" at a MIPSOL node may differ (in the value of the fractional variables) from the solution of the LP relaxation at that node and its cost may also be higher. My wish would be to tell the solver that the MINLP solution is not only a feasible solution but also the actual optimal solution at that node, so that its higher value will be taken into account also in the LB (BestBd) update.
My workaround is to store the MINLP solution and eventually discard the node from the search (with a lazy cut) in order to push up the LB: the search will still be complete but I suspect that it confuses the pseudocost computation a lot. Thank you again, Sophie.
0
Please sign in to leave a comment.
Comments
2 comments