Skip to main content

Getting correct result only when setting InFeasTol parameter

Answered

Comments

1 comment

  • Jaromił Najman
    Gurobi Staff Gurobi Staff

    Hi Azi,

    Is there any reason why I'm getting the wrong result without the tolerance value?

    Every mathematical software has to work with tolerances due to floating point arithmetic (with very few exceptions). Thus, the solution you obtain is correct within tolerances. Decreasing these tolerances as you did with setting the IntFeasTol parameter is expected to deteriorate performance because more tedious computations have to be performed. You could try setting the IntegralityFocus parameter available in the latest version of Gurobi which will make Gurobi focus on true integer values, i.e., \(\{0,1\}\) in your case, only. Please note that using this parameter will very likely worsen the performance.

    For more details of why tolerances are needed and may rise difficulties, please have a look at the the article by Ed Klotz on Ill-Conditioning and Numerical Instability in MIPs.

    Best regards,
    Jaromił

    0

Please sign in to leave a comment.