Skip to main content

MILP stops with OPTIMAL status but a suboptimal solution

Awaiting user input


1 comment

  • Jaromił Najman
    Gurobi Staff Gurobi Staff

    Hi Yangyang,

    For example, the Gurobi solver gives an optimal objective of 0.71, but the open-source BONMIN solver can give an optimal solution of 0.48. 

    Please note that Gurobi sets too small coefficients to 0 as noted in the Warning

    Warning for adding constraints: zero or small (< 1e-13) coefficients, ignored

    If those coefficients indeed are significant for the optimal solution point and BONMIN does not ignore these coefficients then it is indeed possible that BONMIN can find a better (and different) solution than Gurobi. Did you check whether the solution point is the same for the two solvers?

    Gurobi seems stopped at node 0 without doing further branch-and-cut search. For my problem, will exploring more nodes be helpful? how can I enforce Gurobi solver to explore more nodes? 

    Exploring further nodes won't help and is indeed not necessary, because Gurobi already proves global optimality in the root node (the MIPGap is 0).

    What parameters do you suggest to tune for this situation? Currently I'm using default parameters settings, and did some tuning based on the Parameter Guideline. But my manual tuning seems not working. I've changed MIPGap, MIPFocus, DualReductions, Presolve, Cuts etc.

    I don't think that you need to improve performance in this situation as the model is already solved very quickly. Things that you should check right now for further investigation would be:

    • Is Gurobi's solution point the same as BONMIN's?
    • Does BONMIN ignore small coefficients (cf. my comment regarding the Warning) and are those coefficients relevant for the objective value?
    • Does BONMIN's solution point have any constraint violations? What are the feasibility tolerances of BONMIN? Are they the same as Gurobi's? (cf. FeasibilityTol, IntFeasTol)

    You can also see the output

    User MIP start did not produce a new incumbent solution
    User MIP start violates constraint R3 by 2.000000000

    Is this the BONMIN solution? If yes, then it either violates the original constraint R3 or the small coefficients were removed from constraint R3 and indeed play a significant role for the model.

    Best regards, 


Please sign in to leave a comment.