<div dir="ltr">No, segfaulting usually isn't an inherent property of an LP instance :)<div>If you can post the .mat file and short julia script which you use to run it, I can try running the instance under debug mode myself.</div><div><br></div><div>Best,</div><div>Miles</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 8, 2015 at 6:36 PM, Matt Bromberg <span dir="ltr"><<a href="mailto:mattcbro@earthlink.net" target="_blank">mattcbro@earthlink.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Ipopt crashed as well in libc.so.6.
Perhaps it's fundamental to my problem? However is it reasonable
that you can feed a problem into one of these solvers and have it
segfault?<br>
Since I'm not familiar with the foreign function interface for
Julia, the recompiling process is going to have to wait until I
get a few chores done.<br>
<br>
I wonder if there are incompatible C++ libraries at play?<div><div class="h5"><br>
<br>
<br>
<br>
On 07/08/2015 07:10 PM, Miles Lubin wrote:<br>
</div></div></div><div><div class="h5">
<blockquote type="cite">
<div dir="ltr">You might try compiling Clp with "--enable-debug
--enable-shared" to get a bit more useful info in the backtrace.
It could be that Clp is running into the limitations of using
32-bit integers for indexing. It wouldn't be too hard to fix,
though I complained 3 years ago about this without much of a
response (<a href="https://projects.coin-or.org/CoinUtils/ticket/75" target="_blank">https://projects.coin-or.org/CoinUtils/ticket/75</a>).
From the open-source solvers, Ipopt might be more resilient,
though you should compile your own version since the version
distributed with Julia uses reference BLAS.
<div><br>
</div>
<div>Best,</div>
<div>Miles</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Jul 8, 2015 at 4:55 PM, Matt
Bromberg <span dir="ltr"><<a href="mailto:mattcbro@earthlink.net" target="_blank">mattcbro@earthlink.net</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Yup trying it out now. I really like Julia so far.
There is a lot of innovation there. Clp doesn't print
out intermediate status as it does under Python, or
perhaps it just doesn't flush until it's done.<br>
<br>
I like the fact that all the packages are self contained
so that, presumably they play well together. It looks
like Clp barfed though. Segmentation fault as before.<br>
So this probably is a limitation of Clp, which is a
shame, since it's memory profile is fantastic.<br>
<br>
I'll have to try other LP solutions to see whats up.<br>
<br>
Thanks for that tip by the way. I wish I had started
with Julia.<br>
<br>
The run time error info:<br>
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6
(unknown line)<br>
unknown function (ip: 4199667)<br>
unknown function (ip: 0)<br>
Segmentation fault<span><font color="#888888"><br>
<br>
<br>
-Matt</font></span>
<div>
<div><br>
<br>
On 07/08/2015 01:03 PM, Miles Lubin wrote:<br>
</div>
</div>
</div>
<div>
<div>
<blockquote type="cite">
<div dir="ltr">Yes, it's very easy to read and write
MAT files with the MAT package (<a href="https://github.com/simonster/MAT.jl" target="_blank">https://github.com/simonster/MAT.jl</a>),
also plain HDF5 (<a href="https://github.com/timholy/HDF5.jl" target="_blank">https://github.com/timholy/HDF5.jl</a>).</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Jul 8, 2015 at
10:59 AM, Matt Bromberg <span dir="ltr"><<a href="mailto:mattcbro@earthlink.net" target="_blank">mattcbro@earthlink.net</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Thanks for reminding me of this.
Looking at the julia interface was on my
todo list. Is there a julia interface for
matlab files, or hdf5 file formats?<br>
That's one reason I've been using python
for scripting. I suppose julia can call
python too.<br>
<br>
I appreciate the code snippet as well.<span><font color="#888888"><br>
<br>
Matt</font></span>
<div>
<div><br>
<br>
On 07/08/2015 12:01 PM, Miles Lubin
wrote:<br>
</div>
</div>
</div>
<div>
<div>
<blockquote type="cite">
<div dir="ltr">Hi Matt,
<div><br>
</div>
<div>You may want to try out the
linprog function in Julia:</div>
<div><br>
</div>
<div><a href="http://mathprogbasejl.readthedocs.org/en/latest/linprog.html" target="_blank">http://mathprogbasejl.readthedocs.org/en/latest/linprog.html</a><br>
</div>
<div><br>
</div>
<div>All you do is:</div>
<div><br>
</div>
<div><font face="monospace,
monospace">using MathProgBase</font></div>
<div><font face="monospace,
monospace">using Clp</font></div>
<div><font face="monospace,
monospace">sol = linprog(c,
Acon, '<', rhsvec, -Inf, Inf,
ClpSolver())</font></div>
<div><font face="monospace,
monospace"><br>
</font></div>
<div><font face="arial, helvetica,
sans-serif">You can also easily
switch in commercial solvers.
Unfortunately I don't know of
any well supported solvers which
are optimized for such large
dense problems.</font></div>
<div><font face="arial, helvetica,
sans-serif"><br>
</font></div>
<div><font face="arial, helvetica,
sans-serif">Miles</font></div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Jul
8, 2015 at 9:53 AM, Matt Bromberg
<span dir="ltr"><<a href="mailto:mattcbro@earthlink.net" target="_blank">mattcbro@earthlink.net</a>></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'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'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't do this:<br>
[xopt,fmin] = linprog(c, Acon,
rhsvec) ;<br>
<br>
to solve min c' * x given Acon
* x <= 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'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'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'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>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div></div></div>
</blockquote></div><br></div>