[Coin-discuss] Cbc branchAndBound

Matthew Galati Matthew.Galati at sas.com
Fri Mar 16 12:27:56 EDT 2007


Ok - so CbcStrategyDefault is not really the default strategy for Cbc.

I don't see:

examples/strategy.cpp
 or
examples/strategy2.cpp

Matt

-----Original Message-----
From: coin-discuss-bounces at list.coin-or.org [mailto:coin-discuss-bounces at list.coin-or.org] On Behalf Of John J Forrest
Sent: Friday, March 16, 2007 12:10 PM
To: Discussions about open source software for Operations Research
Subject: RE: [Coin-discuss] Cbc branchAndBound

cbc has lots that is not in CbcStrategyDefault.

I have not got time to do much for a week or so, but there are options to the CbcStrategyDefault constructor - so try setting preprocessing and cuts in tree and see what you think - see examples/strategy.cpp.  Also there are more heuristics - see examples/strategy2.cpp

I have not had time to test either example.

John Forrest


                                                                           
             "Matthew Galati"                                              
             <Matthew.Galati at s                                             
             as.com>                                                    To 
             Sent by:                  "Discussions about open source      
             coin-discuss-boun         software for Operations Research"   
             ces at list.coin-or.         <coin-discuss at list.coin-or.org>     
             org                                                        cc 
                                                                           
                                                                   Subject 
             03/15/07 09:53 AM         RE: [Coin-discuss] Cbc              
                                       branchAndBound                      
                                                                           
              Please respond                                               
               to
             about open source                                             
               software for                                                
                Operations                                                 
                 Research                                                  
             <coin-discuss at lis                                             
              t.coin-or.org>                                               
                                                                           
                                                                           




Hi -- lots of related discussion on other threads. Solutions all seem to involve a re-design or new version of OSI.

Can someone just answer this simple question?
  CbcModel cbc(*si);
  CbcStrategyDefault cbcStrategyDefault;
  cbc.setStrategy(cbcStrategyDefault);
  cbc.branchAndBound();

Is this approximately equivalent to what is in CoinSolve.cpp? From experimentation, just running cbc.branchAndBound() without setting the strategy is a bad idea.

I don't care what interface I need to use CbcModel::branchAndBound(), OsiCbc::branchAndBound(), FunkyChickenDance::solveMyMip() -- I just want to solve a (generic) MILP (with the best known default settings) that is currently stored in an OSI object. How do I do that?

Thanks.
From: coin-discuss-bounces at list.coin-or.org
[mailto:coin-discuss-bounces at list.coin-or.org] On Behalf Of Matthew Galati source software for Operations Research branchAndBound seem to be on:
  CbcModel cbc(*si);
  CbcStrategyDefault cbcStrategyDefault;
  cbc.setStrategy(cbcStrategyDefault);
  cbc.branchAndBound();
CoinSolve.cpp? I looked at the CoinSolve.cpp main( ), and there seems to be a lot going on there - and it is hard to follow. I would suspect that libCbc should have the same functionality and performance as the cbc executable. Maybe some of CoinSolve needs to be moved back into the library? So that the solve part of main() just calls cbc.solve(), or something like this.
From: coin-discuss-bounces at list.coin-or.org
[mailto:coin-discuss-bounces at list.coin-or.org] On Behalf Of Matthew Galati source software for Operations Research branchAndBound
   CbcModel cbc(*si);
   cbc.branchAndBound( );
performs much worse than if I were to solve using the CBC exe from CoinSolve.cpp. Apparently, by default branchAndBound() has all cuts, etc turned off. What's the best interface from CbcModel to solve a MIP so that it performs like the CBC exe?

Thanks,
mailing list
http://list.coin-or.org/mailman/listinfo/coin-discuss

_______________________________________________
list
http://list.coin-or.org/mailman/listinfo/coin-discuss

_______________________________________________
list
http://list.coin-or.org/mailman/listinfo/coin-discuss


_______________________________________________
Coin-discuss mailing list
Coin-discuss at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/coin-discuss




More information about the Coin-discuss mailing list