Potential Numerical Issue in MIP Solving
回答済みHi,
For this MIP instance https://gist.github.com/zxt5/05cf8233cd842eb57a786f711c6a644b
Gurobi generates the non-optimal solution (objective = -5840..) with the following parameters:
Seed=68804671
BarHomogeneous=1
ScaleFlag=1
MIPFocus=2
NodeMethod=2While the optimal solution (objective = -5904..) can be obtained in default setting.
Is this inconsistency expected for this case (especially when using MIPFocus=2) ?
gurobi_cl Seed=68804671 BarHomogeneous=1 ScaleFlag=1 MIPFocus=2 NodeMethod=2 seed.lp
Set parameter Username
Set parameter LicenseID to value 2648392
Set parameter ScaleFlag to value 1
Set parameter BarHomogeneous to value 1
Set parameter MIPFocus to value 2
Set parameter NodeMethod to value 2
Set parameter LogFile to value "gurobi.log"
Set parameter Seed to value 68804671
Using license file /home/x27zhou/gurobi.lic
Academic license - for non-commercial use only - expires 2026-04-07
Gurobi Optimizer version 12.0.1 build v12.0.1rc0 (linux64 - "Ubuntu 20.04.5 LTS")
Copyright (c) 2025, Gurobi Optimization, LLC
Read LP format model from file seed.lp
Reading time = 0.00 seconds
OBJ: 99 rows, 13 columns, 1287 nonzeros
Using Gurobi shared library /home/x27zhou/solvers/gurobi/gurobi1201/linux64/lib/libgurobi.so.12.0.1
CPU model: AMD Ryzen 9 7950X 16-Core Processor, instruction set [SSE2|AVX|AVX2|AVX512]
Thread count: 16 physical cores, 32 logical processors, using up to 32 threads
Non-default parameters:
ScaleFlag 1
BarHomogeneous 1
MIPFocus 2
NodeMethod 2
Seed 68804671
Optimize a model with 99 rows, 13 columns and 1287 nonzeros
Model fingerprint: 0x4aec3958
Variable types: 4 continuous, 9 integer (0 binary)
Coefficient statistics:
Matrix range [9e-02, 1e+02]
Objective range [2e+01, 9e+01]
Bounds range [2e+02, 2e+02]
RHS range [5e+01, 5e+03]
Presolve time: 0.00s
Presolved: 99 rows, 13 columns, 1287 nonzeros
Variable types: 4 continuous, 9 integer (0 binary)
Root relaxation presolved: 99 rows, 13 columns, 1287 nonzeros
Root relaxation: objective -6.007055e+03, 30 iterations, 0.01 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 -6007.0552 0 9 - -6007.0552 - - 0s
H 0 0 -5565.627570 -6007.0552 7.93% - 0s
H 0 0 -5688.194867 -6007.0552 5.61% - 0s
H 0 0 -5728.367334 -6007.0552 4.87% - 0s
H 0 0 -5810.439143 -6007.0552 3.38% - 0s
0 0 -6007.0544 0 8 -5810.4391 -6007.0544 3.38% - 0s
H 0 0 -5840.725026 -6007.0544 2.85% - 0s
0 0 -6007.0539 0 8 -5840.7250 -6007.0539 2.85% - 0s
Cutting planes:
Gomory: 1
Explored 1 nodes (42 simplex iterations) in 0.50 seconds (0.04 work units)
Thread count was 32 (of 32 available processors)
Solution count 5: -5840.73 -5810.44 -5728.37 ... -5565.63
No other solutions better than -5840.73
Optimal solution found (tolerance 1.00e-04)
Best objective -5.840725026247e+03, best bound -5.840725026247e+03, gap 0.0000%-
But I can get consistent results with 12.0.2
0 -
Hi Xintong,
I have tried to reproduce this issue using v12.0.1 and your parameters using your value of Seed, but also many other values of Seed, and it is always obtaining an optimal objective of -5.904970789905e+03.
If you are getting consistent results with 12.0.2 then it would seem there might be a rare bug in v12.0.1 that we have since fixed.
- Riley
0
投稿コメントは受け付けていません。
コメント
2件のコメント