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 #115] CBC 2.6.0 crashing #89

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-115.zip

Hello,

I have a model with wich CBC 2.6.0 crashes, the system doesn't let me attach it to the ticket. I'm using the precompiled CBC version available from CoinAll?. I'm not able to compile a newer version so I don't know if this has been already fixed in the latest version.

The command line used is:

cbc -import crash.lp -solve -solu r.txt -quit

The CBC log up to the crash is:

Cbc version 2.6.0, build Nov 7 2010 command line - cbc -import crash.lp -solve -solu r.txt -quit (default strategy 1) Continuous objective value is -0.0845723 - 0.08 seconds Cgl0003I 0 fixed, 0 tightened bounds, 14 strengthened rows, 0 substitutions Cgl0004I processed model has 812 rows, 1088 columns (784 integer) and 80015 elements Cbc0038I Pass 1: suminf. 0.10713 (2) obj. -0.0813099 iterations 218 Cbc0038I Solution found of -0.0810757 Cbc0038I Branch and bound needed to clear up 2 general integers

Just contact me back if you need the model or some further help.

Bye,

======

From dindy

Some further information. I have been able to compile CBC 2.7.0 using MinGW, compilation was smooth, no problems, no warnings. The problem persists. It works if I set presolve to off, but then I found another model where it crash even with presolve off. It works instead with preprocess set to off. The bug happens whenever the line:

Cbc0038I Branch and bound needed to clear up 2 general integers

appears in the log.

Hope it helps.

Bye

========

From dindy

Retested recently with 2.7.5, same result. I have been able to narrow the problem down to a feasibility pump problem. By setting "-feasibilitypump off" it always works, though slower.

Sample lp model causing CBC to crash

s-c-e commented 5 years ago

I will run this under the latest version of CBC distributed under Ubuntu and see if I can reproduce the issue:

Welcome to the CBC MILP Solver 
Version: 2.8.12 
Build Date: Feb 22 2016
s-c-e commented 5 years ago

After running the model with the same command mentioned in the ticket:

cbc -import crash.lp -solve -solu r.txt -quit

I'm getting this log file, which implies the newer version of CBC has resolved this issue!

Welcome to the CBC MILP Solver 
Version: 2.8.12 
Build Date: Feb 22 2016 

command line - cbc -import cbccrash.lp -solve -solu r.txt -quit (default strategy 1)
Continuous objective value is -0.0845723 - 0.03 seconds
Cgl0003I 0 fixed, 0 tightened bounds, 14 strengthened rows, 0 substitutions
Cgl0004I processed model has 812 rows, 1088 columns (784 integer) and 80015 elements
Cbc0038I Pass   1: suminf.    0.10713 (2) obj. -0.0813099 iterations 220
Cbc0038I Solution found of -0.0810757

...

Cbc0001I Search completed - best objective -0.08269109416997172, took 10 iterations and 0 nodes (0.94 seconds)
Cbc0035I Maximum depth 0, 103 variables fixed on reduced cost
Cuts at root node changed objective from -0.0829982 to -0.0826911
Probing was tried 2 times and created 20 cuts of which 2 were active after adding rounds of cuts (0.004 seconds)
Gomory was tried 2 times and created 8 cuts of which 4 were active after adding rounds of cuts (0.001 seconds)
Knapsack was tried 2 times and created 1 cuts of which 0 were active after adding rounds of cuts (0.001 seconds)
Clique was tried 2 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
MixedIntegerRounding2 was tried 2 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.007 seconds)
FlowCover was tried 2 times and created 1 cuts of which 0 were active after adding rounds of cuts (0.004 seconds)
TwoMirCuts was tried 2 times and created 1 cuts of which 0 were active after adding rounds of cuts (0.003 seconds)

Result - Optimal solution found

Objective value:                -0.08269109
Enumerated nodes:               0
Total iterations:               10
Time (CPU seconds):             0.98
Time (Wallclock seconds):       1.01

Total time (CPU seconds):       1.05   (Wallclock seconds):       1.10
s-c-e commented 5 years ago

@tkralphs and @h-g-s I believe this ticket can be marked as resolved/closed given the above!