<div dir="ltr">Thanks, I think I saw this. I meant comparison to a low-level solver API without a modeling layer even rudimentary one like the C++ Gurobi API which might add substantial overhead if you only count problem building time.<div><br></div><div>- Victor<br><br><div class="gmail_quote"><div dir="ltr">On Sat, May 7, 2016 at 1:11 PM Miles Lubin <<a href="mailto:miles.lubin@gmail.com">miles.lubin@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Victor,<div><br></div><div>We have benchmarks comparing model construction in JuMP versus the Gurobi C++ API, described at <a href="http://arxiv.org/abs/1508.01982" target="_blank">http://arxiv.org/abs/1508.01982</a> with code at <a href="https://github.com/mlubin/JuMPSupplement" target="_blank">https://github.com/mlubin/JuMPSupplement</a>. We haven't put together benchmarks on column generation since these would have a quite smaller target audience, but I'll be interested to see if Jesse is able to report any comparisons.</div><div><br></div><div>Best,</div><div>Miles</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, May 7, 2016 at 4:03 PM, Victor Zverovich <span dir="ltr"><<a href="mailto:victor.zverovich@gmail.com" target="_blank">victor.zverovich@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Miles,<div><br></div><div>Do you have a benchmark comparing problem construction time using Clp C++ API vs JuMP or similar?</div><span><font color="#888888"><div><br></div><div>- Victor</div></font></span></div><div><div><br><div class="gmail_quote"><div dir="ltr">On Sat, May 7, 2016 at 12:10 PM Miles Lubin <<a href="mailto:miles.lubin@gmail.com" target="_blank">miles.lubin@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Jesse,<div><br></div><div>Why do you feel that model building in C++ would be faster than JuMP? JuMP supports column generation and passes data directly to the in-memory Clp representation of the problem.</div></div><div dir="ltr"><div><br></div><div>Miles</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, May 7, 2016 at 9:20 AM, Jesse Jaanila <span dir="ltr"><<a href="mailto:jessejaanila@gmail.com" target="_blank">jessejaanila@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi!<div><br></div><div>I've had success using CLP via Julia JuMP API, but now i'm trying to use C++ for faster model building (column generation scheme).</div><div><br></div><div>I'm on Mac OS X El Capitan with newest XCode and command line tools. I built CLP 1.16 as described on</div><div><a href="https://projects.coin-or.org/Clp" target="_blank">https://projects.coin-or.org/Clp</a> with make, make test and make install. Everything went fine and installation was successful.</div><div><br></div><div>I am trying to build one of the examples; specifically <a href="https://projects.coin-or.org/Clp/browser/trunk/Clp/examples/addColumns.cpp" target="_blank">https://projects.coin-or.org/Clp/browser/trunk/Clp/examples/addColumns.cpp</a></div><div>to fiddle around with the C++ API.</div><div><br></div><div>I set up search paths for header files and libraries (see picture link) for my project.</div><div><br></div><div><a href="https://i.imgur.com/FdSdNNR.png" target="_blank">https://i.imgur.com/FdSdNNR.png</a><br></div><div><br></div><div>This got away error "ClpSimplex.hpp file not found". So I was really hopeful that that is all the configurating I need to do.</div><div><br></div><div>But still my build fails. My error log is (main.cpp is my project file name):</div><div><br></div><div>
<p><b>Undefined symbols for architecture x86_64:</b></p>
<p>  <font size="1">"ClpSimplex::loadProblem(CoinModel&, bool)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "ClpSimplex::setRowLower(int, double)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "ClpSimplex::setRowUpper(int, double)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "ClpSimplex::initialSolve()", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "ClpSimplex::allSlackBasis(bool)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "ClpSimplex::dual(int, int)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "ClpSimplex::resize(int, int)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "ClpSimplex::readMps(char const*, bool, bool)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "ClpSimplex::ClpSimplex(ClpSimplex const&, int)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "ClpSimplex::ClpSimplex(bool)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "ClpSimplex::~ClpSimplex()", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "ClpSimplex::operator=(ClpSimplex const&)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "ClpModel::addColumns(CoinModel&, bool, bool)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "ClpModel::addColumns(CoinBuild const&, bool, bool)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "ClpModel::deleteColumns(int, int const*)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "ClpModel::addRows(int, double const*, double const*, CoinPackedVectorBase const* const*)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "ClpModel::addColumn(int, int const*, double const*, double, double, double)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "CoinBuild::addColumn(int, int const*, double const*, double, double, double)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "CoinBuild::CoinBuild()", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "CoinBuild::~CoinBuild()", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "CoinModel::setRowBounds(int, double, double)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "CoinModel::addColumn(int, int const*, double const*, double, double, double, char const*, bool)", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "CoinModel::CoinModel()", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">  "CoinModel::~CoinModel()", referenced from:</font></p>
<p><font size="1">      _main in main.o</font></p>
<p><font size="1">ld: symbol(s) not found for architecture x86_64</font></p>
<p><font size="1"><b>clang: error: linker command failed with exit code 1 (use -v to see invocation)</b></font></p><p>Sadly i'm still quite new to C++ so I haven't been able to pinpoint what the problem is. Could it be something trivial? Do I need something else when building C++ project with CLP other than search setup for Header/Library paths? Maybe someone else has had similar problem with mac os x & XCode. </p><p>Any ideas are helpful! Cheers,</p><p>Jesse</p></div>







</div>
<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>
<br></blockquote></div><br></div>
_______________________________________________<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>
</div></div></blockquote></div><br></div>
</blockquote></div></div></div>