<div dir="ltr">Hi all,<div><br></div><div>I&#39;m planning on doing some significant restructuring on the Cbc C interface (<a href="https://projects.coin-or.org/Cbc/browser/trunk/Cbc/src/Cbc_C_Interface.h">https://projects.coin-or.org/Cbc/browser/trunk/Cbc/src/Cbc_C_Interface.h</a>), which doesn&#39;t seem to have received much attention in the past number of years. Before making any breaking changes, I wanted to share my plans and get feedback from potential users (and current users, if any). </div>
<div><br></div><div>The main redesign points are:</div><div>- Use CbcMain0/CbcMain1</div><div>- Drop LP-specific functionality (dual solutions, rays, etc.) -- Most of this was never even implemented, while Clp already has a fully functional C interface. </div>
<div>- Break 1-1 correspondence with C++ names, if appropriate. Some tweaking of the names could help for non-expert users. The C interface should be accessible to someone who isn&#39;t necessarily familiar with the C++ interface.</div>
<div>- Include unit tests.</div><div><br></div><div>Overall the goal is to have a lightweight, well documented interface that makes Cbc easy to access from outside of C++, including from dynamic languages like Python and Julia, following CoinMP&#39;s lead but included directly in Cbc.</div>
<div><br></div><div>Thanks,</div><div>Miles</div></div>