[Clp] How is the barrier method initialized?
John Forrest
john.forrest at fastercoin.com
Thu Oct 25 14:55:57 EDT 2012
Bo,
Directly - very little of OSL. As in - read what OSL does and then do
the same/different - a great deal.
The Coin-OR initiative was started at ISMP 2000 with me as "benevolent
dictator" i.e. doing nothing. Osi solver interface came first and Cgl.
However a need arose for a factorization (for Gomory cuts) and I had
written a "child of OSL" code to do structured parallel simplex. I
simplified the factorization from that (which explains some of the quirks).
Having a factorization, it was natural to start on Clp. Basically the
idea was to learn from the mistakes of OSL and make brand new mistakes.
With Clp there had to be an OsiClp. The Osi interface specified a
branch and bound function. So how hard can it be to write a Simple
Branch and Bound code? I guessed 8 hours but it took 12. This became
SBB but a) there was already some software called SBB and b) it stopped
being simple - so Cbc.
For medium sized problems Clp was slower than OSL had been so I lifted
the OSL factorization code and made it into an alternative factorization
CoinOslFactorization. So that is the only piece directly from OSL. OSL
itself was an IBM product from a Research code YKTLP which was made into
a product as a large oil company said they would buy an IBM mainframe
plus Vector Feature rather than a cheaper lookalike mainframe IF YKTLP
became a product. OSL was in Fortran (1987?) and later converted to C
by a program f2c which does not produce elegant code (but then I have
never been accused of writing elegant code).
I can hear the sound of snoring - but I hope that answers your question.
John Forrest
On 25/10/12 17:57, Bo Jensen wrote:
> John,
>
> Just out of curiosity, what's the history of CLP/CBC/OSL, I mean how
> much of OSL were reused in some form ?
>
> /Bo
>
More information about the Clp
mailing list