[Cbc] revamping the Cbc C interface

Miles Lubin miles.lubin at gmail.com
Mon Mar 10 18:52:59 EDT 2014


Hi all,

I'm planning on doing some significant restructuring on the Cbc C interface
(https://projects.coin-or.org/Cbc/browser/trunk/Cbc/src/Cbc_C_Interface.h),
which doesn'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).

The main redesign points are:
- Use CbcMain0/CbcMain1
- Drop LP-specific functionality (dual solutions, rays, etc.) -- Most of
this was never even implemented, while Clp already has a fully functional C
interface.
- 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't necessarily familiar with the C++ interface.
- Include unit tests.

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's lead but included
directly in Cbc.

Thanks,
Miles
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20140310/af6c1f79/attachment.html>


More information about the Cbc mailing list