Skip to main content

Why there are some numerical issues after turning off the presolve?

Answered

Comments

1 comment

  • Matthias Miltenberger
    Gurobi Staff Gurobi Staff

    Hi Yen-Chu,

    Presolving is necessary for Gurobi to determine the domain of the variables. You don't explicitly specify the bounds of variable \(\texttt{vratio}\), so Gurobi does not know how to distribute the supporting points for the piecewise-linear approximation to \(\log\). The approximation in the area around 0.1 is then too inaccurate. You can reduce the final error by setting an upper bound for \(\texttt{vratio}\), e.g., \(\texttt{vratio} \leq 10\).

    With enabled presolving, Gurobi immediately detects that this problem is trivial and solves it directly in presolving.

    Cheers,
    Matthias

    0

Please sign in to leave a comment.