Skip to main content

Getting correct result only when setting InFeasTol parameter

Answered

Comments

2 comments

  • Official comment
    Simranjit Kaur
    Gurobi Staff Gurobi Staff
    This post is more than three years old. Some information may not be up to date. For current information, please check the Gurobi Documentation or Knowledge Base. If you need more help, please create a new post in the community forum. Or why not try our AI Gurobot?.
  • 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

Post is closed for comments.