<div dir="ltr"><div><br></div><div><br><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Feb 21, 2015 at 6:37 PM, <a href="mailto:victor.zverovich@gmail.com">victor.zverovich@gmail.com</a> <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: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 "OS passing the model directly to Couenne" you mean via some Couenne APIs or via intermediate XML files?</div></blockquote></div><div><br></div><div><div>I mean via an API, which I guess is probably more part of OS than Couenne. I'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">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">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'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">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 "Osi 2" if that project ever comes to fruition. I don'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><div><br></div><div><br></div><div><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Dr. Ted Ralphs<br>Professor, Lehigh University<br>(610) 628-1280<br>ted 'at' lehigh 'dot' edu<br><a href="http://coral.ie.lehigh.edu/~ted" target="_blank">coral.ie.lehigh.edu/~ted</a><br></div></div>
</div></div></div>