[SPAM] Re: [Coin-osi-devel] Why Osi.branchAndBound()?

Ted Ralphs tkralphs at lehigh.edu
Thu Mar 15 09:46:42 EDT 2007

We've been around and around about these issues and I think we all agree 
that the current version of Osi is fundamentally flawed.  As Matt points 
out, though, too many people use it the way it is to fix it very easily. 
That's why we decided to make Osi 2, which is intended to address all 
these issues. Let's get to work :)!



kmartin wrote:

> Hi Lou/OSI-developers:
>> 	OSI (to my mind) is fundamentally oriented to continuous simplex 
>> optimisation. The definitions of the methods make that clear. Why add this one 
>> method  (branchAndBound) to handle MIP?  If MIP, why not NLP, or MINLP, or CLP 
>> (as in constraint logic programming)?
> I think Lou is raising an important point here.  As some of us have
> discussed there are really three aspects to an OSI:
> 1) An instance representation (this should be very general, linear, MIP,
> NLP, CLP, CONE, etc).  The instance representation would obviously have
> no such method as branchAndBound() as this is solver specific. The
> instance representation class should be independent of solution
> algorithms and should only pertain to representing instances of an
> optimization problem.
> 2) A solution (result) class or object. Again this should be very
> general and solver/algorithm independent.
> 3) A solver option class.  The solver class should have properties and
> methods relevant to algorithms. Here one could specify branch and bound,
> put priorties on variables, specify simplex or interior point, etc.
> Solvers could support certain options and ignore others. It would be
> very unusual for a solver to understand or support all options.
> Cheers,

Dr. Ted Ralphs
Associate Professor
Industrial and Systems Engineering
Lehigh University
tkralphs at lehigh.edu

More information about the Osi mailing list