[Osi] Default Cutting generation technique

Lou Hafer lou at cs.sfu.ca
Tue Mar 8 12:03:51 EST 2011


Ahmed,

> I am always finding in the documentations methods describing how to
> implement/use a specific cutting generation technique but nothing that
> describe the default one used [with OsiCbc].

	Regrettably, there is no such documentation. For that matter, there is 
no such documentation for Cbc itself.

	The hook that's offered to control cbc through OsiCbc is the CbcStrategy 
object. Regrettably, there is very little documentation for it, either.
	
	The best way to see the default set of cut generators is to run the cbc 
executable (from the Cbc project) and look at the log. You'll see that the 
default choices are Probing, Gomory, Knapsack, Clique, MixedIntegerRounding2, 
FlowCover, and TwoMir.
	
        To control Cbc from OsiCbc, you can supply your own CbcStrategy object
as a parameter to the OsiCbc constructor, or you can accept the
CbcDefaultStrategy object that's created if you don't supply one.  You'll need
to have a look through the code to see how it works.  Also check the cbc
examples; you may find them useful.  You'll note that
CbcStrategyDefault::setupCutGenerators instantiates all the above except TwoMir.
You'll also see that you'll need to augment the code if you want additional cut
generators.

	The cbc mailing list is likely the better place to ask these questions.

							Lou




More information about the Osi mailing list