Closed DrChainsaw closed 4 years ago
This is expected behavior.
Solvers use floating point arithmetic with tolerances that are typically 1e-6
. Most solvers have a cut off where the consider coefficients smaller than some number to be zero. See https://www.gurobi.com/documentation/9.0/refman/num_grb_tolerances_and_the.html
You should resale your problem to coefficients between 1e-3
and 1e8
(or even smaller, if possible!)
Thanks for the explanation and link. I figured it was something like this.
Sorry if this is a documented/obvious/inevitable restriction.
The objective value printout makes it seem like CBC itself does not produce the right result, but on the line after the command line echo it seems like it is computing the correct output.
Using
eps(Float32)
works, buteps(Float32)/2
fails as well.Fwiw I got correct results with GLPK, so the issue does not seem to stem from JuMP/MOI.