[Cbc] Barrier method SEGV (out of memory) -- increase memory limit?

Martin Koutecký koutecky at kam.mff.cuni.cz
Sat Apr 5 10:32:11 EDT 2014


Hello,

I'm trying to solve a big LP (continuous) problem using the barrier 
method, but I'm getting "Segmentation fault" some time after presolve 
(before optimization starts, seems like).

When I look at the memory usage in htop it goes through 3 stages:

1. VIRT = RES = ~8GB after the problem is loaded, during presolve
2. VIRT = 13G, RES = 8-10G, after this the line "1.70542e+09 elements 
in sparse Cholesky, flop count 2.20667e+16" is printed.
3. VIRT = 20G, RES rises from 7G to 20G and then cbc crashes.

Presolve writes this:
Presolve 1588289 (-6281501) rows, 4931364 (-6482760) columns and 
35692658 (-21407980) elements

My questions are these:
- since I have more memory (128G) then the 20G it allocates (and runs 
out of), can I increase the limit somehow (manually)?
- or is the problem too big anyway?

(Gurobi's barrier solver crashes on it with something like "would need 
~700G for factorization")

The dual simplex solver has been working on the problem for the past 
few days (and is slowly making progress). Curiously enough, it's doing 
better than both Gurobi and CPLEX (dual simplex). (Maybe I don't know 
how to tune their parameters.) GLPK is completely lost.

Thanks for any help,

Martin

---------------

The full output is this:


Welcome to the CBC MILP Solver
Version: 2.8.9
Build Date: Apr  5 2014

command line - [...]cbc/Cbc-2.8.9/Cbc/src/.libs/lt-cbc 
[...]14989-pulp.mps barr printingOptions rows solution 
/tmp/14989-pulp_barr.sol (default strategy 1)
At line 2 NAME          MODEL
At line 3 ROWS
At line 7869795 COLUMNS
At line 64970506 RHS
At line 72840297 BOUNDS
At line 84254422 ENDATA
Problem MODEL has 7869790 rows, 11414124 columns and 57100638 elements
Coin0008I MODEL read with 0 errors
Presolve 1588289 (-6281501) rows, 4931364 (-6482760) columns and 
35692658 (-21407980) elements
1.70542e+09 elements in sparse Cholesky, flop count 2.20667e+16
Segmentation fault


More information about the Cbc mailing list