Q:   What is CLP?  
A:   (DN 08/27/04) The COINOR LP code  is designed to be a high quality Simplex code provided under the terms of the  Common Public License.  CLP is written in C++, and is primarily intended to be used as a callable  library (though a rudimentary standalone executable exists).  The first release was version .90. The current release is version .99.9.  
Q:   What are some of the features of CLP?  
A:   (DN 08/27/04) CLP includes primal and dual Simplex solvers. Both dual and primal algorithms  can use matrix storage methods provided by the user (01 and network matrices  are already supported in addition to the default sparse matrix). The dual algorithm  has Dantzig and Steepest edge row pivot choices; new ones may be provided by  the user. The same is true for the column pivot choice of the primal algorithm.  The primal can also use a non linear cost which should work for piecewise  linear convex functions. CLP also includes a barrier method for solving LPs.  
Q:   How do I obtain and install CLP?  
A:   (DN 08/27/04) Please see the  COINOR FAQ  for details on how to  obtain  and  install  COINOR modules.  
Q:   Is CLP reliable?  
A:   (DN 09/07/04) CLP has been tested on many problems of up to 1.5 million  constraints and has shown itself as reliable as OSL. It is also being tested  in the context of  SBB  ("Simple Branch and Bound", which is used to solve integer  programs), but more testing is needed before it can get to version 1.0.  
Q:   On which platforms does CLP run?  
A:   (DN 08/27/04) CLP compiles and has been tested (to varying degrees) on the following  platforms: 

Q:   Is there any documentation for CLP?  
A:   (DN 09/16/04) An early release of a User Guide is available on the  CLP documentation webpage.  Also available is a list of  CLP class descriptions generated  by Doxygen.  
Q:   Is CLP as fast as OSL?  
A:   (DN 08/27/04) CLP uses sparse matrix techniques designed for very large  problems. The design criteria were for it not to be too slow. Some speed  has been sacrificed to make the code less opaque OSL (not difficult!).  
Q:   When will version 1.0 of CLP be available?  
A:   (DN 08/27/04) It is expected that version 1.0 will be released in time for the 2004  INFORMS  Annual Meeting  (2427 October, 2004).  
Q:   The barrier method sounds interesting, what are some of the details?  
A:   (DN 08/30/04) The CLP barrier method solves convex QPs as well as LPs. In  general, a barrier method requires implementation of the algorithm, as  well as a fast Cholesky factorization. CLP provides the algorithm, and is  expected to have a reasonable factorization implementation by the release of  CLP version 1.0. However, the sparse factorization requires a good ordering  algorithm, which the user is expected to provide (perhaps a better  factorization code as well).  
Q:   Which Cholesky factorizations codes are supported by CLP's barrier method?  
A:   (DN 09/16/04) The Cholesky interface is flexible enough so that a variety of Cholesky  ordering and factorization codes can be used. Interfaces are provided to each  of the following: 
 
Q:   When will CLP have a good native ordering?  
A:   (DN 09/16/04) The best outcome would be to have an existing ordering code available as part  of the COIN distribution under the CPL. However, if this is not possible, the  native ordering will be made respectable.  
Q:   Is the barrier code as mature as the simplex code?  
A:   (DN 09/16/04) The simplex code has been exposed to user testing for more than a year and  and the principal author, John Forrest, knows more about simplex algorithms  than interior point algorithms, so the answer is "no". However, it  performs well on test sets and seems to be more reliable than some  commercially available codes (including OSL).  
Q:   Which algorithm should I use for quadratic programming and should I keep an  eye open for any issues?  
A:   (DN 09/16/04) The interior point algorithm for quadratic programming is much more elegant  and normally much faster than the quadratic simplex code. Caution is  suggested with the presolve as not all bugs have been found and squashed when  a quadratic objective is used. One may wish to switch off the crossover to a  basic feasible solution as the simplex code can be slow. The sequential  linear code is useful as a "crash" to the simplex code; its  convergence is poor but, say, 100 iterations could set up the problem well for  the simplex code.  
Q:   What can the community do to help?  
A:   (DN 09/09/04) A lot! A good first step would be to join the CLP  mailing lists. Some  other possibilities: 

Q:  + What is CLP? + + 
A:  + (DN 08/27/04) The COINOR LP + code is designed to be a high quality Simplex code provided under the terms of + the Common Public + License. CLP is written in C++, and is primarily intended to be used as + a callable library (though a rudimentary standalone executable exists). The + first release was version .90. The current release is version .99.9. + + 
Q:  + What are some of the features of CLP? + + 
A:  + (DN 08/27/04) CLP includes primal and dual Simplex solvers. Both dual and + primal algorithms can use matrix storage methods provided by the user (01 and + network matrices are already supported in addition to the default sparse + matrix). The dual algorithm has Dantzig and Steepest edge row pivot choices; + new ones may be provided by the user. The same is true for the column pivot + choice of the primal algorithm. The primal can also use a non linear cost which + should work for piecewise linear convex functions. CLP also includes a barrier + method for solving LPs. + + 
Q:  + How do I obtain and install CLP? + + 
A:  + (DN 08/27/04) Please see the + COINOR FAQ for details on how to + obtain and + install COINOR modules. + + 
Q:  + Is CLP reliable? + + 
A:  + (DN 09/07/04) CLP has been tested on many problems of up to 1.5 million + constraints and has shown itself as reliable as OSL. It is also being tested in + the context of SBB ("Simple Branch and Bound", which is used to solve integer + programs), but more testing is needed before it can get to version 1.0. SBB has + been replaced by Cbc + + 
Q:  + On which platforms does CLP run? + + 
A:  + (DN 08/27/04) CLP compiles and has been tested (to varying degrees) on the + following platforms: + +

Q:  + Is there any documentation for CLP? + + 
A:  + (DN 09/16/04) An early release of a User Guide is available on the + CLP documentation webpage. Also available is a list of + CLP class descriptions generated by + Doxygen. + + 
Q:  + Is CLP as fast as OSL? + + 
A:  + (DN 08/27/04) CLP uses sparse matrix techniques designed for very large + problems. The design criteria were for it not to be too slow. Some speed has + been sacrificed to make the code less opaque OSL (not difficult!). + + 
Q:  + When will version 1.0 of CLP be available? + + 
A:  + (DN 08/27/04) It is expected that version 1.0 will be released in time for the + 2004 INFORMS + Annual Meeting (2427 October, 2004). + + 
Q:  + The barrier method sounds interesting, what are some of the details? + + 
A:  + (DN 08/30/04) The CLP barrier method solves convex QPs as well as LPs. In + general, a barrier method requires implementation of the algorithm, as well as + a fast Cholesky factorization. CLP provides the algorithm, and is expected to + have a reasonable factorization implementation by the release of CLP version + 1.0. However, the sparse factorization requires a good ordering algorithm, + which the user is expected to provide (perhaps a better factorization code as + well). + + 
Q:  + Which Cholesky factorizations codes are supported by CLP's barrier method? + + 
A:  + (DN 09/16/04) The Cholesky interface is flexible enough so that a variety of + Cholesky ordering and factorization codes can be used. Interfaces are provided + to each of the following: + +
+ + 
Q:  + When will CLP have a good native ordering? + + 
A:  + (DN 09/16/04) The best outcome would be to have an existing ordering code + available as part of the COIN distribution under the CPL. However, if this is + not possible, the native ordering will be made respectable. + + 
Q:  + Is the barrier code as mature as the simplex code? + + 
A:  + (DN 09/16/04) The simplex code has been exposed to user testing for more than a + year and and the principal author, John Forrest, knows more about simplex + algorithms than interior point algorithms, so the answer is "no". However, it + performs well on test sets and seems to be more reliable than some commercially + available codes (including OSL). + + 
Q:  + Which algorithm should I use for quadratic programming and should I keep an eye + open for any issues? + + 
A:  + (DN 09/16/04) The interior point algorithm for quadratic programming is much + more elegant and normally much faster than the quadratic simplex code. Caution + is suggested with the presolve as not all bugs have been found and squashed + when a quadratic objective is used. One may wish to switch off the crossover to + a basic feasible solution as the simplex code can be slow. The sequential + linear code is useful as a "crash" to the simplex code; its convergence is poor + but, say, 100 iterations could set up the problem well for the simplex code. + + 
Q:  + What can the community do to help? + + 
A:  + (DN 09/09/04) A lot! A good first step would be to join the CLP + mailing lists. Some other possibilities: + +

Index: /html/trunk/Clp/userguide/clpuserguide.html ===================================================================  /html/trunk/Clp/userguide/clpuserguide.html (revision 973) +++ /html/trunk/Clp/userguide/clpuserguide.html (revision 974) @@ 186,5 +186,5 @@ This is a consequence of CLP's mixed heritage as a child of OSL  and a cousin of OSI. + and a cousin of OSI. Finding the status of a model exemplifies this situation.
@@ 1829,7 +1829,8 @@ constraints and has shown itself as reliable as OSL. It is also being tested in the context of  SBB + SBB ("Simple Branch and Bound", which is used to solve integer programs), but more testing is needed before it can get to version 1.0. + SBB has been replaced by Cbc.
Q:On which platforms does CLP run?