[Coin-lpsolver] Some comments on ClpNow that Clp is available on cvs or as a tarball I thought I should make some comments on Clp. You can run the Osi unitTest and it should solve all netlib test set. To make a more flexible do make unitTest in Clp directory. This creates an executable - clp which can be used in a simple way e.g. clp mpsfile will solve using primal simplex. clp mpsfile -dualsimplex will solve using dual simplex. clp - switches to reading commands from stdin. Obviously this interface needs improvement, but it is a start. (minor note - the current tarball had scaling off by default, I have changed to on in cvs).
John J Forrest
jjforre at us.ibm.com
Tue Sep 17 11:15:53 EDT 2002
Now that Clp is available on cvs or as a tarball I thought I should make
some comments on Clp. You can run the Osi unitTest and it should solve all
netlib test set. To make a more flexible executable do make unitTest in
Clp directory. This creates an executable - clp which can be used in a
simple way e.g. clp mpsfile will solve using primal simplex. clp mpsfile
-dualsimplex will solve using dual simplex. clp - switches to reading
commands from stdin. Obviously this interface needs improvement, but it is
a start. (minor note - the current tarball had scaling off by default, I
have changed to on in cvs).
It seems reasonably reliable and I am still working on stress tests. If
anyone has a problem which fails, I would be interested to have a copy of
the problem and the parameter settings. I have tested it on LP's of > 1.5
million constraints, MIPs of >0.5 million constraints and in Branch and
Cut.
Performance:
The aim was to be reliable and not too slow. For speed I am comparing to
OSL at present. OSL has a presolve, which is not yet in Clp and it tries
to adjust settings and the algorithm to the problem so it is faster on
netlib test set. I have also switched off presolve and forced primal and
dual in OSL to get a more even comparison.
On a 1.7 GHz Pentium 4 laptop with gcc (times in seconds):
OSL CLP
unitTest 181 461
Primal/ no presolve 342 461
Dual/no presolve 353 414
On an IBM Unix P690 using xlC I get for dual
Dual/no presolve 195 193
Also I had put in a trivial Branch and Bound code as required by
OsiSolverInterface but I am going to move it to a different directory and
decouple it from Clp and allow it to have cuts etc. The aim is to provide
a very lightweight counterpart to Bcp. I should have something up in a
week or so.
John Forrest
More information about the Clp
mailing list