Potential Numerical Bug in MIP Solving
AnsweredHi,
I have a small MIP instance in LP format:
\* seed *\
Minimize
OBJ: - 48.46 x0 - 25.81 x1
Subject To
_C1: 43.67 x0 - 65.24 x1 <= -2955.43
_C2: - 29.71 x0 - 3.98 x1 <= 2826.08
_C3: 42.8 x0 - 42.76 x1 <= 1744.85
_C4: 93.3 x0 + 68.89 x1 <= -2690.66
_C5: - 66.99 x0 + 21.22 x1 >= 1779.93
_C6: 0.45 x0 - 54.36 x1 <= 14.06
Bounds
-200 <= x0 <= 200
-200 <= x1 <= 200
Generals
x0
x1
End
Gurobi returns the correct answer with IntFeasTol=1e-9
or just by default:
Objective: 1593.3900000000003
x0 = -43.0
x1 = 19.0
But with IntFeasTol=1e-9
, DualReductions=0
and CutPasses=0
(probably disable these two features), Gurobi returns with:
Objective: 1616.0400000000004
x0 = -44.0
x1 = 20.0
Is this consistency expected? Any suggestions or explanations are appreciated! Thanks.
I am using Gurobi 12.0.2 on Ubuntu 22.04 and macOS.
The log on mac:
$> gurobi_cl IntFeasTol=1e-9 DualReductions=0 CutPasses=0 seed.lp
Set parameter Username
Set parameter LicenseID to value 2670279
Set parameter IntFeasTol to value 1e-09
Set parameter CutPasses to value 0
Set parameter DualReductions to value 0
Set parameter LogFile to value "gurobi.log"
Using license file /Users/zxt/gurobi.lic
Academic license - for non-commercial use only - expires 2026-05-24
Gurobi Optimizer version 12.0.2 build v12.0.2rc0 (mac64[arm] - Darwin 24.0.0 24A335)
Copyright (c) 2025, Gurobi Optimization, LLC
Read LP format model from file seed.lp
Reading time = 0.00 seconds
OBJ: 6 rows, 2 columns, 12 nonzeros
Using Gurobi shared library /Library/gurobi1202/macos_universal2/lib/libgurobi120.dylib
CPU model: Apple M2
Thread count: 8 physical cores, 8 logical processors, using up to 8 threads
Non-default parameters:
IntFeasTol 1e-09
CutPasses 0
DualReductions 0
Optimize a model with 6 rows, 2 columns and 12 nonzeros
Model fingerprint: 0x91a7ebb9
Variable types: 0 continuous, 2 integer (0 binary)
Coefficient statistics:
Matrix range [5e-01, 9e+01]
Objective range [3e+01, 5e+01]
Bounds range [2e+02, 2e+02]
RHS range [1e+01, 3e+03]
Presolve removed 2 rows and 0 columns
Presolve time: 0.00s
Presolved: 4 rows, 2 columns, 8 nonzeros
Variable types: 0 continuous, 2 integer (0 binary)
Root relaxation: objective 1.575266e+03, 1 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 1575.26584 0 1 - 1575.26584 - - 0s
H 0 0 1619.2000000 1577.01435 2.61% - 0s
H 0 0 1616.0400000 1577.01435 2.41% - 0s
0 0 1577.01435 0 1 1616.04000 1577.01435 2.41% - 0s
Explored 1 nodes (1 simplex iterations) in 0.01 seconds (0.00 work units)
Thread count was 8 (of 8 available processors)
Solution count 2: 1616.04 1619.2
Optimal solution found (tolerance 1.00e-04)
Best objective 1.616040000000e+03, best bound 1.616040000000e+03, gap 0.0000%
-
Hi Xintong,
I can reproduce this issue as well. Let us investigate this further and get back to you.
Regards
-Ahmed0 -
Hi Ahmed,
Thanks for your reply.
Best,
Xintong
0 -
Hi Xintong,
Sorry, it has been a while. I will open a support ticket for you in our Help Center so that it will be easier to follow up on this. You will receive an email related to this shortly—please keep an eye on your junk/spam folders.
- Ahmed
0 -
Thanks for the update!
0
Please sign in to leave a comment.
Comments
4 comments