[Cbc] Setting Up Large Scale Problems
Matt Bromberg
mattcbro at earthlink.net
Tue Jul 7 19:31:57 EDT 2015
I have a fairly large dense linear programming problem, of continuous
variables.
My constraint matrix is about 10K x 10K double precision and is saved
as a Matlab file, or equivalently I can get it into Python as an ndarray.
My really dumb question is how does one usually get a problem of this
size into a solver like cbc/clp or even into one of the commercial solvers?
I tried to save it in one of the text formats, MPS, and it wanted to
consume close to 200Gbytes of hard drive space, when in fact the
constraint matrix itself is only 0.8 Gbytes of binary data.
Also of interest is the fact that internally the two solvers I've
tried, Matlabs linprog() and glpk() quickly consume more than 64 Gbytes
of RAM trying to solve this, prior to dying. Thus they are horribly
memory inefficient IMHO. I keep hearing that commercial solvers can
deal with millions of variables and constraints. Their problems must
all be very sparse, mine is quite dense.
I am new to these linear solvers since I've always rolled my own
optimizers for special case nonlinear problems. I suppose I should also
ask whether the simplex method is really the best for problems of this
size, and whether I shouldn't be using some kind of interior point method.
Thanks in advance.
More information about the Cbc
mailing list