coin-or / Cbc.old

This is a mirror of the subversion repository on COIN-OR
https://projects.coin-or.org/Cbc
Other
89 stars 30 forks source link

[Trac #124] crash on small instance #80

Open s-c-e opened 5 years ago

s-c-e commented 5 years ago

image

Attachment: https://github.com/s-c-e/cbc-trac-migration-attachments/blob/master/trac-ticket-124.zip

Cbc 2.7.6 crashes at the root node on the instance at ​http://www.mcs.anl.gov/~mlubin/cbccrash.mps.

...
Cbc0038I Before mini branch and bound, 81 integers at bound fixed and 1 continuous
Cbc0038I Full problem 23 rows 95 columns, reduced to 5 rows 10 columns
Cbc0038I Mini branch and bound did not improve solution (0.01 seconds)
Cbc0038I After 0.01 seconds - Feasibility pump exiting with objective of 116.2 - took 0.01 seconds
Cbc0012I Integer solution of 116.2 found by feasibility pump after 0 iterations and 0 nodes (0.01 seconds)
Cbc0038I Full problem 23 rows 95 columns, reduced to 2 rows 3 columns
Cbc0038I Full problem 23 rows 95 columns, reduced to 0 rows 0 columns
terminate called after throwing an instance of 'CoinError'

Debugging indicates that the crash is inside of CglProbing? (hard to tell if this is a Cgl bug or a Cbc bug).

s-c-e commented 5 years ago

I'm going to run the provided MPS file against the standalone CBC solver here:

a@A:~/Documents/cbc-debug$ cbc -import cbccrash.mps -solve -solu soln.txt -quit
Welcome to the CBC MILP Solver 
Version: 2.8.12 
Build Date: Feb 22 2016 
s-c-e commented 5 years ago

Here is the log file I've gotten from running the model. I'm going to inspect the MPS file and see if anything stands out to me:

a@A:~/Documents/cbc-debug$ cbc -import cbccrash.mps -solve -solu soln.txt -quit
Welcome to the CBC MILP Solver 
Version: 2.8.12 
Build Date: Feb 22 2016 

command line - cbc -import cbccrash.mps -solve -solu soln.txt -quit (default strategy 1)
At line 1 NAME          BLANK
At line 2 ROWS
At line 34 COLUMNS
At line 286 RHS
At line 297 BOUNDS
At line 423 ENDATA
Problem BLANK has 30 rows, 130 columns and 251 elements
Coin0008I BLANK read with 0 errors
Continuous objective value is 107.24 - 0.00 seconds
Cgl0002I 35 variables fixed
Cgl0004I processed model has 23 rows, 95 columns (90 integer) and 182 elements
Cutoff increment increased from 1e-05 to 0.01998
Cbc0038I Pass   1: suminf.    0.00000 (0) obj. 116.2 iterations 11
Cbc0038I Solution found of 116.2
Cbc0038I Before mini branch and bound, 88 integers at bound fixed and 3 continuous
Cbc0038I Full problem 23 rows 95 columns, reduced to 0 rows 0 columns
Cbc0038I Mini branch and bound did not improve solution (0.01 seconds)
Cbc0038I Round again with cutoff of 115.286
Cbc0038I Reduced cost fixing fixed 66 variables on major pass 2
Cbc0038I Pass   2: suminf.    0.04527 (2) obj. 115.286 iterations 8
Cbc0038I Pass   3: suminf.    0.41666 (2) obj. 115.286 iterations 13
Cbc0038I Pass   4: suminf.    0.41666 (2) obj. 115.286 iterations 1
Cbc0038I Pass   5: suminf.    0.41666 (2) obj. 115.286 iterations 2
Cbc0038I Pass   6: suminf.    0.41666 (2) obj. 115.286 iterations 2
Cbc0038I Pass   7: suminf.    0.04527 (2) obj. 115.286 iterations 2
Cbc0038I Pass   8: suminf.    0.41666 (2) obj. 115.286 iterations 2
Cbc0038I Pass   9: suminf.    0.41666 (2) obj. 115.286 iterations 0
Cbc0038I Pass  10: suminf.    0.88022 (2) obj. 115.286 iterations 3
Cbc0038I Pass  11: suminf.    0.88022 (2) obj. 115.286 iterations 1
Cbc0038I Pass  12: suminf.    1.04174 (4) obj. 115.286 iterations 2
Cbc0038I Pass  13: suminf.    0.88022 (2) obj. 115.286 iterations 4
Cbc0038I Pass  14: suminf.    0.49478 (2) obj. 115.286 iterations 2
Cbc0038I Pass  15: suminf.    0.04527 (2) obj. 115.286 iterations 3
Cbc0038I Pass  16: suminf.    0.41666 (2) obj. 115.286 iterations 2
Cbc0038I Pass  17: suminf.    0.04531 (2) obj. 115.286 iterations 4
Cbc0038I Pass  18: suminf.    0.04527 (2) obj. 115.286 iterations 1
Cbc0038I Pass  19: suminf.    0.41666 (2) obj. 115.286 iterations 2
Cbc0038I Pass  20: suminf.    0.04527 (2) obj. 115.286 iterations 2
Cbc0038I Pass  21: suminf.    0.04534 (2) obj. 115.286 iterations 2
Cbc0038I Pass  22: suminf.    0.46568 (2) obj. 115.286 iterations 3
Cbc0038I Pass  23: suminf.    0.46568 (2) obj. 115.286 iterations 2
Cbc0038I Pass  24: suminf.    0.46568 (2) obj. 115.286 iterations 2
Cbc0038I Pass  25: suminf.    0.88022 (2) obj. 115.286 iterations 5
Cbc0038I Pass  26: suminf.    0.88022 (2) obj. 115.286 iterations 1
Cbc0038I Pass  27: suminf.    1.04174 (4) obj. 115.286 iterations 3
Cbc0038I Pass  28: suminf.    0.88022 (2) obj. 115.286 iterations 5
Cbc0038I Pass  29: suminf.    0.88022 (2) obj. 115.286 iterations 0
Cbc0038I Pass  30: suminf.    0.88022 (2) obj. 115.286 iterations 1
Cbc0038I Pass  31: suminf.    1.04174 (4) obj. 115.286 iterations 2
Cbc0038I No solution found this major pass
Cbc0038I Before mini branch and bound, 81 integers at bound fixed and 1 continuous
Cbc0038I Full problem 23 rows 95 columns, reduced to 5 rows 10 columns
Cbc0038I Mini branch and bound did not improve solution (0.01 seconds)
Cbc0038I After 0.01 seconds - Feasibility pump exiting with objective of 116.2 - took 0.01 seconds
Cbc0012I Integer solution of 116.2 found by feasibility pump after 0 iterations and 0 nodes (0.01 seconds)
Cbc0038I Full problem 23 rows 95 columns, reduced to 2 rows 3 columns
terminate called after throwing an instance of 'CoinError'
Aborted (core dumped)
s-c-e commented 5 years ago

Nothing stands out to me here in my brief read-through of the MPS file...