[Clp] Dense LP Problem Interface

Matt Bromberg mattcbro at earthlink.net
Wed Jul 8 11:53:39 EDT 2015


I have yet to see a simple way to use CBC or CLP using raw binary data.  
In particular I have a large problem with 40K constraints 10K variables 
or so.
That's about 3Gbytes of raw doubles.  It expands to an unwieldy size 
using any of the text base input formats. (hundreds of gigabytes).

I can get that data into a python numpy array but it does not appear to 
be easy to dump that raw array into CLP.  Unfortunately cylp doesn't 
support the latest API.
I would roll my own python interface but there is literally no 
documentation I can find online for the C interface to something like 
CoinMP.

All the other interfaces appear to be useless for my purposes.  Pulp is 
rather arcane and there is no obvious way to pull the data back into python.

I am in somewhat disbelief that I can't do this:
[xopt,fmin] = linprog(c, Acon, rhsvec) ;

to solve min c' * x  given Acon * x <= rhsvec .

  The above is the one line matlab interface to linprog.  There should 
be something similar in Python in support of CLP using it's primary 
matrix array interface, numpy/ndarrays.
Even my cylp solution takes 10 lines of python code to do this, plus 
half a day of parsing documentation.  It's just unfortunate that it 
segfaults on the larger problems.

If anyone has a good way to do this in Python or C, with an example I'd 
love to see it.  For now I have to move on to other solvers.


More information about the Clp mailing list