[Coin-discuss] Open Source Simplex solver?

John J Forrest jjforre at us.ibm.com
Thu May 2 14:12:46 EDT 2002


In reply to some of the questions concerning the code, which I hope to put
in COIN.

My plan is to start a new directory COIN/Clp for the COIN-OR Linear Program
code.  Initially there will only be a simplex code.  The interface code in
Osi would be OsiClpSolverInterface etc.  This division may not be totally
sensible as it might be better for Clp to inherit some things from Osi but
it will get us started.

I would like people to think about this design and whether we need a
separate model class or model fragment class to allow for stochastic.

At present  I intend to abstract out the pivot choice algorithm e.g. for
Dual the choice of pivot row is ClpDualRowPivot as base class with
ClpDualRowDantzig, ClpDualRowSteepest and ClpDualRowPartial as options (the
last is the dual of partial pricing in Primal, which is needed on very easy
large problems as otherwise pivot choice dominates the time).  This should
fit in with ideas on user pivot choice.  At present I am not thinking of
doing so for the incoming column choice in Dual, but that could be done.

The whole code will be built with the aim of high performance on large
problems, which means always knowing exactly where the non-zeroes are -
which is why I have already put in OsiIndexedVector for use by
OsiFactorization.

In reply to Ted and his insult that it won't solve test set :-),  The
initial code (which I refuse to admit I have written yet) has an
OsiClpSolverInterface and solves all the test cases ( until I have a primal
algorithm (or a presolve) I will have to slightly relax tolerance on
pilot87 to solve on all platforms)

John Forrest





More information about the Coin-discuss mailing list