Skip to content

[BUG] Numerical instability in cbs-cta #978

Description

@nguidotti

When solving cbs-cta instance, there is a numerical instability around zero causing the B&B to never finish as the nodes are properly pruned. See the log below:

 ❯ cuopt_cli --time-limit 100  datasets/miplib2017/cbs-cta.mps.bz2
Setting parameter time_limit to 1.000000e+02
Reading file cbs-cta.mps.bz2
optimization_problem_t constructor: Using GPU backend
cuOpt version: 26.4.0, git hash: , host arch: aarch64, device archs: 90a-real
CPU: Unknown, threads (physical/logical): 1/72, RAM: 441.12 GiB
CUDA 13.1, device: NVIDIA GH200 480GB (ID 0), VRAM: 95.00 GiB
CUDA device UUID: 1b529efd-5479-6a28-dc9f-23f37743c4c7
Solving a problem with 10112 constraints, 24793 variables (2467 integers), and 64388 nonzeros
Problem scaling:
Objective coefficents range:          [6e+00, 2e+05]
Constraint matrix coefficients range: [2e-01, 2e+05]
Constraint rhs / bounds range:        [2e-01, 3e+01]
Variable bounds range:                [0e+00, 2e+05]
Original problem: 10112 constraints, 24793 variables, 64388 nonzeros
Calling Papilo presolver (git hash 741a2b9c)
Presolve status: reduced the problem
Presolve removed: 148 constraints, 16579 variables, 33242 nonzeros
Presolved problem: 9964 constraints, 8214 variables, 31146 nonzeros
optimization_problem_t constructor: Using GPU backend
Papilo presolve time: 0.05
Objective offset 0.000000 scaling_factor 1.000000
Model fingerprint: 0xdd6336e4
Running presolve!
Unused variables detected, eliminating them! Unused var count 2
After cuOpt presolve: 9964 constraints, 8212 variables, objective offset 0.000000.
cuOpt presolve time: 0.36
Reduced cost strengthening enabled: 2
24846 variable upper bounds in 0.00 seconds
15114 variable lower bounds in 0.00 seconds
Solving LP root relaxation in concurrent mode
Skipping column scaling
Dual Simplex Phase 1
Dual feasible solution found.
Dual Simplex Phase 2
 Iter     Objective           Num Inf.  Sum Inf.     Perturb  Time
    0 +0.0000000000000000e+00    2460 5.41014390e+04 0.00e+00 0.88
    1 +0.0000000000000000e+00    2460 5.41870208e+04 0.00e+00 0.88
 1000 +0.0000000000000000e+00    2283 1.29209394e+11 0.00e+00 0.89
 2000 +0.0000000000000000e+00    2283 1.29209410e+11 0.00e+00 0.91
 3000 +0.0000000000000000e+00    1797 3.90118603e+12 0.00e+00 0.95
 4000 +0.0000000000000000e+00    1268 2.97344178e+12 0.00e+00 1.01
 5000 +0.0000000000000000e+00     467 1.60571913e+11 0.00e+00 1.06
New solution from primal heuristics. Objective +5.372793e+07. Gap 100.0%. Time 1.25
New solution from primal heuristics. Objective +5.372793e+07. Gap 100.0%. Time 1.25
New solution from primal heuristics. Objective +5.372792e+07. Gap 100.0%. Time 1.25
New solution from primal heuristics. Objective +5.372790e+07. Gap 100.0%. Time 1.25
 6000 +0.0000000000000000e+00     339 1.41211136e+20 0.00e+00 1.25
New solution from primal heuristics. Objective +1.388324e+07. Gap 100.0%. Time 1.25
New solution from primal heuristics. Objective +1.388324e+07. Gap 100.0%. Time 1.25
New solution from primal heuristics. Objective +9.070372e+06. Gap 100.0%. Time 1.25
New solution from primal heuristics. Objective +9.058266e+06. Gap 100.0%. Time 1.25
New solution from primal heuristics. Objective +9.058266e+06. Gap 100.0%. Time 1.25
New solution from primal heuristics. Objective +9.058266e+06. Gap 100.0%. Time 1.25
Removed perturbation of 4.59e-05.
Root relaxation solution found in 6365 iterations and 0.43s by Dual Simplex
Root relaxation objective +0.00000000e+00
 | Explored | Unexplored |    Objective    |     Bound     | IntInf | Depth | Iter/Node |   Gap    |  Time  |
H                            +3.301958e+05    +0.000000e+00                               100.0%      1.56
H                            +4.315766e-05    +0.000000e+00                               100.0%      2.13
           0            0    +4.315766e-05    +0.000000e+00      179      0   9.9e+03     100.0%      2.22
Reduced costs: Found 30 improved bounds and 30 fixed variables
           0            0    +4.315766e-05    +0.000000e+00      228      0   1.0e+04     100.0%      2.34
           0            0    +4.315766e-05    +0.000000e+00      204      0   1.4e+04     100.0%      3.40
           0            0    +4.315766e-05    -2.017361e-09      200      0   2.0e+04     100.0%      5.26
           0            0    +4.315766e-05    +5.582914e-10      242      0   2.0e+04     100.0%      5.34
           0            0    +4.315766e-05    -2.948413e-06      251      0   2.1e+04     106.8%      5.52
           0            0    +4.315766e-05    -5.264865e-12      201      0   2.4e+04     100.0%      6.29
           0            0    +4.315766e-05    +6.174345e-10      246      0   2.4e+04     100.0%      6.34
           0            0    +4.315766e-05    +3.753527e-11      242      0   2.4e+04     100.0%      6.40
           0            0    +4.315766e-05    +3.055369e-10      252      0   2.4e+04     100.0%      6.47
Gomory    cuts : 243
MIR       cuts : 914
Knapsack  cuts : 0
Strong CG cuts : 0
Clique    cuts : 0
Cut generation time: 5.18 seconds
Cut pool size  : 3874
Size with cuts : 10251 constraints, 18463 variables, 50290 nonzeros
Strong branching using 71 threads and 252 fractional variables
Strong branching completed in 0.17s
Exploring the B&B tree using 71 threads
 | Explored | Unexplored |    Objective    |     Bound     | IntInf | Depth | Iter/Node |   Gap    |  Time  |
        1000          614    +4.315766e-05    -2.821891e-05      205     56   1.3e+02     165.4%     11.72
        2000         1350    +4.315766e-05    -3.906359e-04      208     66   1.2e+02     1005.1%     14.11
        3000         2182    +4.315766e-05    -3.906359e-04      183     54   1.1e+02     1005.1%     15.66
        4000         3042    +4.315766e-05    -3.906359e-04      194    105   9.7e+01     1005.1%     16.69
        5000         3916    +4.315766e-05    -3.906359e-04      202    102   9.2e+01     1005.1%     18.85
        6000         4794    +4.315766e-05    -3.906359e-04      202    102   8.3e+01     1005.1%     19.89
        7042         5746    +4.315766e-05    -3.906359e-04      184    236   7.4e+01     1005.1%     20.89
        8043         6653    +4.315766e-05    -3.906359e-04      196    205   7.0e+01     1005.1%     22.06
        9043         7571    +4.315766e-05    -3.906359e-04      183    281   6.6e+01     1005.1%     23.11
       10043         8489    +4.315766e-05    -3.906359e-04      180    418   6.3e+01     1005.1%     24.30
       11043         9369    +4.315766e-05    -3.906359e-04      197    100   6.2e+01     1005.1%     25.70
       12043        10301    +4.315766e-05    -3.906359e-04      172    311   6.1e+01     1005.1%     27.27
       13290        11450    +4.315766e-05    -3.906359e-04      172    311   5.9e+01     1005.1%     28.27
       14509        12575    +4.315766e-05    -5.621373e-05      177    585   5.7e+01     230.3%     29.27
       16029        13955    +4.315766e-05    -5.039139e-05      175    543   5.4e+01     216.8%     30.28
B      16645        14515    +0.000000e+00    -6.409136e-04        0   2101   5.4e+01        -       30.97
       17029        14771    +0.000000e+00    -3.618649e-05      182    748   5.4e+01        -       31.96
B      17215        14921    -8.183504e-09    -3.618649e-05        0   2070   5.4e+01     442088.3%     32.47
D      17327        14942    -8.183978e-09    -2.234353e-06        0   2080   5.4e+01     27201.5%     32.53
       18622        14967    -8.183978e-09    -1.508848e-06      159    797   5.0e+01     18336.6%     32.96
D      18786        15037    -8.184262e-09    -1.380056e-07        0   1937   5.0e+01     1586.2%     33.27
D      19224        15123    -1.242734e-08    -1.903719e-06        0   2054   4.9e+01     15218.8%     33.99
       19627        15251    -1.242734e-08    -1.020830e-07      186    637   4.8e+01     721.4%     34.63
       20627        15609    -1.242734e-08    -1.572259e-07      149    878   4.6e+01     1165.2%     36.76
       21630        16160    -1.242734e-08    -3.040390e-06      148    927   4.5e+01     24365.3%     37.84
       22692        16644    -1.242734e-08    -5.436416e-06      159    939   4.3e+01     43645.6%     38.86
       23712        17094    -1.242734e-08    -3.892978e-06      155    950   4.2e+01     31225.9%     40.33
       24713        17695    -1.242734e-08    -3.735982e-06      143    997   4.0e+01     29962.6%     41.45
       25714        18358    -1.242734e-08    -1.524697e-05      125   1086   3.9e+01     122589.0%     42.66
       26715        18931    -1.242734e-08    -1.285506e-05      129   1117   3.8e+01     103341.8%     43.71
       27717        19511    -1.242734e-08    -2.153731e-04      135   1132   3.8e+01     1732959.6%     44.81
       28773        20167    -1.242734e-08    -4.447675e-04      119   1188   3.7e+01     3578845.0%     45.81
       30057        21003    -1.242734e-08    -4.396477e-06      108   1252   3.6e+01     35277.5%     46.81
       31262        21708    -1.242734e-08    -1.511832e-04      113   1234   3.5e+01     1216437.4%     47.82
       32509        22457    -1.242734e-08    -2.950930e-05      114   1262   3.4e+01     237354.7%     48.83
       33510        22936    -1.242734e-08    -1.819884e-06      111   1281   3.3e+01     14544.2%     50.13
       34518        23496    -1.242734e-08    -5.721002e-07      127   1078   3.2e+01     4503.6%     51.14
       35528        24052    -1.242734e-08    -2.072296e-05      124   1102   3.2e+01     166653.0%     52.24
       36528        24494    -1.242734e-08    -3.653612e-07      112   1240   3.2e+01     2840.0%     53.62
Feasibility jump caused feasible solution to become infeasible: Best excess is -0.64416
       37534        24998    -1.242734e-08    -4.119192e-07      128   1098   3.1e+01     3214.6%     54.78
       38537        25545    -1.242734e-08    -7.948753e-07      105   1236   3.1e+01     6296.2%     56.13
       39538        26112    -1.242734e-08    -1.839066e-06      118   1306   3.0e+01     14698.6%     57.18
       40539        26697    -1.242734e-08    -1.140833e-06      119   1153   3.0e+01     9080.0%     58.27
       41544        27272    -1.242734e-08    -1.472967e-05      116   1165   2.9e+01     118426.4%     59.38
       42586        27870    -1.242734e-08    -4.360396e-06      131   1163   2.9e+01     34987.1%     60.38
       43586        28408    -1.242734e-08    -1.401047e-06      126   1191   2.8e+01     11173.9%     61.79
       44604        28998    -1.242734e-08    -3.479408e-06      126   1210   2.8e+01     27898.0%     62.79
       45760        29676    -1.242734e-08    -1.296046e-06      102   1229   2.8e+01     10329.0%     63.80
       46760        30224    -1.242734e-08    -1.375315e-05      133   1175   2.7e+01     110568.6%     64.97
       47829        30807    -1.242734e-08    -1.521268e-06      126   1184   2.7e+01     12141.3%     65.97
       49328        31754    -1.242734e-08    -1.379942e-06      119   1228   2.7e+01     11004.1%     66.97
       50641        32587    -1.242734e-08    -3.125332e-06      121   1235   2.6e+01     25048.8%     67.97
       51647        33049    -1.242734e-08    -7.006354e-07      102   1266   2.6e+01     5537.9%     69.25
       52649        33529    -1.242734e-08    -2.859384e-05      110   1202   2.6e+01     229988.3%     70.77
       53651        33981    -1.242734e-08    -3.416180e-06      106   1265   2.6e+01     27389.2%     72.27
       54651        34525    -1.242734e-08    -1.866221e-04      118   1179   2.5e+01     1501606.4%     73.48
       55658        35060    -1.242734e-08    -3.265266e-06      103   1223   2.5e+01     26174.9%     74.69
       56658        35498    -1.242734e-08    -2.336072e-05      125   1091   2.5e+01     187878.5%     76.42
       57664        36062    -1.242734e-08    -1.089411e-04      121   1186   2.5e+01     876524.5%     77.67
       58693        36609    -1.242734e-08    -7.124589e-07      122   1170   2.4e+01     5633.0%     78.67
       59694        37136    -1.242734e-08    -6.036952e-07      119   1196   2.4e+01     4757.8%     79.78
       60715        37679    -1.242734e-08    -2.783350e-06      138   1101   2.4e+01     22297.0%     80.78
       61715        38267    -1.242734e-08    -2.127098e-06      107   1255   2.4e+01     17016.3%     81.86
       62766        38838    -1.242734e-08    -4.478967e-04      100   1277   2.3e+01     3604024.5%     82.87
       63769        39371    -1.242734e-08    -3.871124e-05      109   1310   2.3e+01     311400.7%     83.97
       64769        39913    -1.242734e-08    -4.950521e-04      116   1192   2.3e+01     3983474.1%     85.32
       65819        40405    -1.242734e-08    -1.309128e-05      133   1051   2.3e+01     105242.6%     86.80
       66820        40954    -1.242734e-08    -1.820160e-05      137   1064   2.3e+01     146364.2%     88.22
       67827        41459    -1.242734e-08    -2.724767e-06       98   1302   2.3e+01     21825.6%     89.52
       68850        42038    -1.242734e-08    -1.426376e-05       99   1322   2.3e+01     114677.3%     90.52
       69851        42511    -1.242734e-08    -7.820211e-06      105   1314   2.2e+01     62827.5%     91.77
       70851        43067    -1.242734e-08    -4.989595e-06      119   1208   2.2e+01     40050.2%     93.10
       71973        43653    -1.242734e-08    -2.947432e-06      122   1231   2.2e+01     23617.3%     94.10
       72973        44177    -1.242734e-08    -1.054381e-06      106   1310   2.2e+01     8384.4%     95.38
       73984        44698    -1.242734e-08    -5.774092e-06      121   1180   2.2e+01     46362.8%     96.55
       74985        45233    -1.242734e-08    -6.750005e-07      121   1085   2.2e+01     5331.6%     97.62
       75988        45832    -1.242734e-08    -1.805022e-06      131   1091   2.2e+01     14424.6%     98.82
Feasibility jump caused feasible solution to become infeasible: Best excess is -5.71429e-06
Time limit reached. Stopping the solver...
Explored 76898 nodes in 100.00s.
Absolute Gap 3.980685e-07 Objective -1.2427335605025291e-08 Lower Bound -4.1049587196084758e-07
Root LP dual objective (last): 1.2613909916581179e-10
Solution objective: -0.000057 , relative_mip_gap 0.000000 solution_bound -0.000000 presolve_time 0.412789 total_solve_time 100.018274 max constraint violation 0.000000 max int violation 0.000000 max var bounds violation 0.000003 nodes 76898 simplex_iterations 1677803

Metadata

Metadata

Assignees

Labels

P1bugSomething isn't working

Type

Fields

No fields configured for Bug.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions