<div dir="ltr"><div><div><div><div>Wow! Thanks to everybody to the responses!<br><br></div>Ted, you right! OS looks very useful and I had no idea about that interesting project. Victor, I am glad also to know about AMPL/MP library! I am sure this library will be so useful to me in the future!<br><br></div>So, now I have many things to study! Thank all you again!<br><br></div>Have a nice week<br><br></div>Wendel<br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-02-21 23:36 GMT-02:00 Ted Ralphs <span dir="ltr">&lt;<a href="mailto:ted@lehigh.edu" target="_blank">ted@lehigh.edu</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div><br><div class="gmail_extra"><span class=""><br><div class="gmail_quote">On Sat, Feb 21, 2015 at 6:37 PM, <a href="mailto:victor.zverovich@gmail.com" target="_blank">victor.zverovich@gmail.com</a> <span dir="ltr">&lt;<a href="mailto:victor.zverovich@gmail.com" target="_blank">victor.zverovich@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Ted, by &quot;OS passing the model directly to Couenne&quot; you mean via some Couenne APIs or via intermediate XML files?</div></blockquote></div><div><br></div></span><div><div>I mean via an API, which I guess is probably more part of OS than Couenne. I&#39;m not really too familiar with the implementation details, but the basic workflow is to first create an OSInstance object using a solver-agnostic API (similar in spirit to Osi, except with support for nonlinear modeling). The API is here:</div><div><br></div><div><a href="https://projects.coin-or.org/OS/browser/trunk/OS/src/OSCommonInterfaces/OSInstance.h" target="_blank">https://projects.coin-or.org/OS/browser/trunk/OS/src/OSCommonInterfaces/OSInstance.h</a><br></div><div><br></div><div>After creating the model, to pass it to Couenne, you call buildSolverInstance() here: </div><div><br></div><div><a href="https://projects.coin-or.org/OS/browser/trunk/OS/src/OSSolverInterfaces/OSCouenneSolver.cpp#L141" target="_blank">https://projects.coin-or.org/OS/browser/trunk/OS/src/OSSolverInterfaces/OSCouenneSolver.cpp#L141</a><br></div></div><div><br></div><div>which translates the model into Couenne&#39;s native data structures. Finally, you can call solve().</div><div><br></div><div>A detailed example is here:</div><div><br></div><div><a href="https://projects.coin-or.org/CoinBazaar/browser/projects/ApplicationTemplates/trunk/instanceGenerator/OSInstanceGenerator.cpp" target="_blank">https://projects.coin-or.org/CoinBazaar/browser/projects/ApplicationTemplates/trunk/instanceGenerator/OSInstanceGenerator.cpp</a><br></div><div><br></div><div>This functionality is what is planned to be the basis for &quot;Osi 2&quot; if that project ever comes to fruition. I don&#39;t think many people realize how much useful stuff is in the OS project.</div><div><br></div><div>Cheers,</div><div><br></div><div>Ted</div><span class=""><div><br></div><div><br></div><div><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div>-- <br><div><div dir="ltr">Dr. Ted Ralphs<br>Professor, Lehigh University<br><a href="tel:%28610%29%20628-1280" value="+16106281280" target="_blank">(610) 628-1280</a><br>ted &#39;at&#39; lehigh &#39;dot&#39; edu<br><a href="http://coral.ie.lehigh.edu/~ted" target="_blank">coral.ie.lehigh.edu/~ted</a><br></div></div>
</span></div></div></div>
<br>_______________________________________________<br>
Couenne mailing list<br>
<a href="mailto:Couenne@list.coin-or.org">Couenne@list.coin-or.org</a><br>
<a href="http://list.coin-or.org/mailman/listinfo/couenne" target="_blank">http://list.coin-or.org/mailman/listinfo/couenne</a><br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">Wendel</div>
</div>