Potential Numerical Bug in MIP Solving
OngoingHi,
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%
0
-
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
Please sign in to leave a comment.
Comments
2 comments