[Osi] OsiCbc, CbcMain

Matthew Galati Matthew.Galati at sas.com
Mon Feb 21 14:57:50 EST 2011


The majority of OsiXXX solvers handle LP and MIP under one interface.

It would seem to me, a cleaner design might be to replace OsiClp and OsiCbc with an OsiCoin (which would call the appropriate Coin solver if LP [CLP] or MIP [CBC]). And, as mentioned before, OsiCoin .solve or .branchAndBound should perform the same as CbcMain*.


From: osi-bounces at list.coin-or.org [mailto:osi-bounces at list.coin-or.org] On Behalf Of Matthew Galati
Sent: Monday, February 21, 2011 2:23 PM
To: osi at list.coin-or.org
Subject: [Osi] OsiCbc, CbcMain

It seems that the best way to solve IPs from OSI with CBC is to use:
   CbcModel cbc(*m_osi);
   CbcMain0(cbc);
   CbcMain1(argc, argv, cbc);

This has been discussed many times, since OsiCbc/Clp.branchAndBound( ) doesn't do all the tricks and performs poorly.

But, I just noticed today, that CbcModel cbc(*m_osi) works only with OsiClp and not with OsiCbc. That seems very odd to me - since Osi is suppose to be the container with which you would hold an IP and you would only drop to Cbc* when something in Osi does not work properly (similar to dropping out of OsiCpx to CPX* when something in OsiCpx is missing).

Shouldn't CbcModel/Main work with OsiCbc?

Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/osi/attachments/20110221/112d6c84/attachment.html>


More information about the Osi mailing list