<div dir="ltr">Hi Matt,<div><br></div><div>Have you checked out <a href="https://software.sandia.gov/trac/pyomo">Pyomo</a>? It&#39;s a python mathematical programming interface from Sandia that can call a number of solvers (namely, COIN CBC for this case). I admit that I haven&#39;t used it much myself (yet), but it looks promising and seems to have some overlap with the COIN-OR community as well.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 8, 2015 at 10:53 AM, Matt Bromberg <span dir="ltr">&lt;<a href="mailto:mattcbro@earthlink.net" target="_blank">mattcbro@earthlink.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">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.<br>
That&#39;s about 3Gbytes of raw doubles.  It expands to an unwieldy size using any of the text base input formats. (hundreds of gigabytes).<br>
<br>
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&#39;t support the latest API.<br>
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.<br>
<br>
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.<br>
<br>
I am in somewhat disbelief that I can&#39;t do this:<br>
[xopt,fmin] = linprog(c, Acon, rhsvec) ;<br>
<br>
to solve min c&#39; * x  given Acon * x &lt;= rhsvec .<br>
<br>
 The above is the one line matlab interface to linprog.  There should be something similar in Python in support of CLP using it&#39;s primary matrix array interface, numpy/ndarrays.<br>
Even my cylp solution takes 10 lines of python code to do this, plus half a day of parsing documentation.  It&#39;s just unfortunate that it segfaults on the larger problems.<br>
<br>
If anyone has a good way to do this in Python or C, with an example I&#39;d love to see it.  For now I have to move on to other solvers.<br>
_______________________________________________<br>
Clp mailing list<br>
<a href="mailto:Clp@list.coin-or.org" target="_blank">Clp@list.coin-or.org</a><br>
<a href="http://list.coin-or.org/mailman/listinfo/clp" rel="noreferrer" target="_blank">http://list.coin-or.org/mailman/listinfo/clp</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr">Matthew Gidden, Ph.D.<br>Postdoctoral Associate, Nuclear Engineering<div>The University of Wisconsin -- Madison<br>Ph. 225.892.3192<br></div></div></div></div></div>
</div>