source: html/trunk/Clp/faq.html @ 962

Last change on this file since 962 was 962, checked in by ddelanu, 16 years ago

Fixed some more typos and made clear the actual existence of a User Guide

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 14.1 KB
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
4    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5    <title>Clp Homepage</title>
6    <link rel="stylesheet" href="../coin.css" type="text/css">
9<!-- <div align="center"><h3>Clp Homepage</h3></div> -->
14  <tbody>
15    <tr>
16      <td>
17        &nbsp;
18      </td>
19      <td>
20        <div align="center">
21          <img id="ClpBanner"
22            height="60" width="600"
23            border="0"
24            src="images/ClpBanner.gif"
25            alt="Clp">
26        </div>
27      </td>
28    </tr>
29    <tr>
30      <td valign="top" width="120">
31        <a href="index.html">
32          <img id="ClpNavHome"
33            height="25" width="120"
34            border="0"
35            src="images/ClpNav-Home.gif"
36            alt="Home">
37        </a>
38        <a href="faq.html">
39          <img id="ClpNavFAQ"
40            height="25" width="120"
41            border="0"
42            src="images/ClpNav-FAQ-Hi.gif"
43            alt="Home">
44        </a>
45        <a href="documentation.html">
46          <img id="ClpNavDoc"
47            height="25" width="120"
48            border="0"
49            src="images/ClpNav-Doc.gif"
50            alt="Home">
51        </a>
52      </td>
53      <!--              -->
54      <!-- MAIN CONTENT -->
55      <!--              -->
56      <td>
57        <div class="main-content">
59<!-- DO NOT CHANGE THIS FAQ by hand.  The content is automatically generated
60     via DocBook.  The source is in COIN/Clp/Docs.  Read the DocBook for CLP
61     document for more info.
64<!--                            -->
65<!-- Begin DocBook content here -->
66<!--                            -->
67<div class="qandaset"><dl><dt>Q: <a href="index.html#id4693599">
68  What is CLP?
69  </a></dt><dt>Q: <a href="index.html#id4694311">
70  What are some of the features of CLP?
71  </a></dt><dt>Q: <a href="index.html#id4694338">
72  How do I obtain and install CLP?
73  </a></dt><dt>Q: <a href="index.html#id4695264">
74  Is CLP reliable?
75  </a></dt><dt>Q: <a href="index.html#id4695295">
76  On which platforms does CLP run?   
77  </a></dt><dt>Q: <a href="index.html#id4695346">
78  Is there any documentation for CLP? 
79  </a></dt><dt>Q: <a href="index.html#id4757343">
80  Is CLP as fast as OSL?
81  </a></dt><dt>Q: <a href="index.html#id4757364">
82  When will version 1.0 of CLP be available? 
83  </a></dt><dt>Q: <a href="index.html#id4757396">
84  The barrier method sounds interesting, what are some of the details?
85  </a></dt><dt>Q: <a href="index.html#id4757421">
86  Which Cholesky factorizations codes are supported by CLP's barrier method?
87  </a></dt><dt>Q: <a href="index.html#id4757485">
88  When will CLP have a good native ordering?
89  </a></dt><dt>Q: <a href="index.html#id4757506">
90  Is the barrier code as mature as the simplex code?
91  </a></dt><dt>Q: <a href="index.html#id4757531">
92  Which algorithm should I use for quadratic programming and should I keep an
93  eye open for any issues?
94  </a></dt><dt>Q: <a href="index.html#id4757563">
95  What can the community do to help?
96  </a></dt></dl><table border="0" summary="Q and A Set"><col align="left" width="1%"><tbody><tr class="question"><td align="left" valign="top"><a name="id4693599"></a><a name="id4693601"></a><b>Q:</b></td><td align="left" valign="top"><p>
97  What is <a href="" target="_top">CLP</a>?
98  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
99  (DN 08/27/04) The <a href="" target="_top">COIN-OR</a> LP code
100  is designed to be a high quality Simplex code provided under the terms of the
101  <a href="" target="_top">Common Public License</a>.
102  CLP is written in C++, and is primarily intended to be used as a callable
103  library (though a rudimentary stand-alone executable exists).
104  The first release was version .90.  The current release is version .99.9.
105  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4694311"></a><a name="id4694314"></a><b>Q:</b></td><td align="left" valign="top"><p>
106  What are some of the features of CLP?
107  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
108  (DN 08/27/04) CLP includes primal and dual Simplex solvers.  Both dual and primal algorithms
109  can use matrix storage methods provided by the user (0-1 and network matrices
110  are already supported in addition to the default sparse matrix). The dual algorithm
111  has Dantzig and Steepest edge row pivot choices; new ones may be provided by
112  the user. The same is true for the column pivot choice of the primal algorithm.
113  The primal can also use a non linear cost which should work for piecewise
114  linear convex functions.  CLP also includes a barrier method for solving LPs.
115  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4694338"></a><a name="id4694340"></a><b>Q:</b></td><td align="left" valign="top"><p>
116  How do I obtain and install CLP?
117  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
118  (DN 08/27/04) Please see the
119  <a href="" target="_top">COIN-OR FAQ</a>
120  for details on how to
121  <a href="" target="_top">obtain</a>
122  and
123  <a href="" target="_top">install</a>
124  COIN-OR modules.
125  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4695264"></a><a name="id4695266"></a><b>Q:</b></td><td align="left" valign="top"><p>
126  Is CLP reliable?
127  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
128  (DN 09/07/04) CLP has been tested on many problems of up to 1.5 million
129  constraints and has shown itself as reliable as OSL. It is also being tested
130  in the context of
131  <a href="" target="_top">SBB</a>
132  ("Simple Branch and Bound", which is used to solve integer
133  programs), but more testing is needed before it can get to version 1.0.
134  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4695295"></a><a name="id4695297"></a><b>Q:</b></td><td align="left" valign="top"><p>
135  On which platforms does CLP run?   
136  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
137  (DN 08/27/04) CLP compiles and has been tested (to varying degrees) on the following
138  platforms:
139  </p><div class="itemizedlist"><ul type="disc"><li><p>
140  Linux using g++ version 3.1.1 (or later)
141  </p></li><li><p>
142  Windows using Microsoft Visual C++ 6
143  </p></li><li><p>
144  Windows using cygwin
145  </p></li><li><p>
146  AIX using xIC (not supported in the current Makefile)
147  </p></li></ul></div></td></tr><tr class="question"><td align="left" valign="top"><a name="id4695346"></a><a name="id4695348"></a><b>Q:</b></td><td align="left" valign="top"><p>
148  Is there any documentation for CLP? 
149  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
150  (DN 09/16/04) An early release of a User Guide is available on the
151  <a href="" target="_top">CLP documentation webpage</a>.
152  Also available is a list of
153  <a href="" target="_top">CLP class descriptions</a> generated
154  by <a href="" target="_top">Doxygen</a>.
155  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4757343"></a><a name="id4757346"></a><b>Q:</b></td><td align="left" valign="top"><p>
156  Is CLP as fast as OSL?
157  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
158   (DN 08/27/04) CLP uses sparse matrix techniques designed for very large
159   problems. The design criteria were for it not to be too slow. Some speed
160   has been sacrificed to make the code less opaque OSL (not difficult!).
161  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4757364"></a><a name="id4757366"></a><b>Q:</b></td><td align="left" valign="top"><p>
162  When will version 1.0 of CLP be available? 
163  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
164  (DN 08/27/04) It is expected that version 1.0 will be released in time for the 2004
165  <a href="" target="_top">INFORMS</a>
166  <a href="" target="_top">Annual Meeting</a>
167  (24-27 October, 2004).
168  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4757396"></a><a name="id4757398"></a><b>Q:</b></td><td align="left" valign="top"><p>
169  The barrier method sounds interesting, what are some of the details?
170  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
171  (DN 08/30/04) The CLP barrier method solves convex QPs as well as LPs. In
172  general, a barrier method requires implementation of the algorithm, as
173  well as a fast Cholesky factorization.  CLP provides the algorithm, and is
174  expected to have a reasonable factorization implementation by the release of
175  CLP version 1.0.  However, the sparse factorization requires a good ordering
176  algorithm, which the user is expected to provide (perhaps a better
177  factorization code as well).
178  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4757421"></a><a name="id4757423"></a><b>Q:</b></td><td align="left" valign="top"><p>
179  Which Cholesky factorizations codes are supported by CLP's barrier method?
180  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
181  (DN 09/16/04) The Cholesky interface is flexible enough so that a variety of Cholesky
182  ordering and factorization codes can be used.  Interfaces are provided to each
183  of the following:
184  </p><div class="itemizedlist"><ul type="disc"><li><p>
185  Anshul Gupta's WSSMP parallel enabled ordering and factorization code
186  </p></li><li><p>
187  Sivan Toledo's TAUCS parallel enabled factorization code (the package includes
188  third party ordering codes)
189  </p></li><li><p>
190  University of Florida's Approximate Minimum Degree (AMD) ordering code (the
191  CLP native factorization code is used with this ordering code)
192  </p></li><li><p>
193  CLP native code: very weak ordering but competitive nonparallel factorization
194  </p></li><li><p>
195  Fast dense factorization
196  </p></li></ul></div><p>
197  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4757485"></a><a name="id4757487"></a><b>Q:</b></td><td align="left" valign="top"><p>
198  When will CLP have a good native ordering?
199  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
200  (DN 09/16/04) The best outcome would be to have an existing ordering code available as part
201  of the COIN distribution under the CPL.  However, if this is not possible, the
202  native ordering will be made respectable.
203  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4757506"></a><a name="id4757508"></a><b>Q:</b></td><td align="left" valign="top"><p>
204  Is the barrier code as mature as the simplex code?
205  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
206  (DN 09/16/04) The simplex code has been exposed to user testing for more than a year and
207  and the principal author, John Forrest, knows more about simplex algorithms
208  than interior point algorithms, so the answer is "no".  However, it
209  performs well on test sets and seems to be more reliable than some
210  commercially available codes (including OSL).
211  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4757531"></a><a name="id4757533"></a><b>Q:</b></td><td align="left" valign="top"><p>
212  Which algorithm should I use for quadratic programming and should I keep an
213  eye open for any issues?
214  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
215  (DN 09/16/04) The interior point algorithm for quadratic programming is much more elegant
216  and normally much faster than the quadratic simplex code.  Caution is
217  suggested with the presolve as not all bugs have been found and squashed when
218  a quadratic objective is used.  One may wish to switch off the crossover to a
219  basic feasible solution as the simplex code can be slow.  The sequential
220  linear code is useful as a "crash" to the simplex code; its
221  convergence is poor but, say, 100 iterations could set up the problem well for
222  the simplex code.
223  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4757563"></a><a name="id4757565"></a><b>Q:</b></td><td align="left" valign="top"><p>
224  What can the community do to help?
225  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
226  (DN 09/09/04) A lot!  A good first step would be to join the CLP
227  <a href="" target="_top">mailing lists</a>.  Some
228  other possibilities:
229  </p><div class="itemizedlist"><ul type="disc"><li><p>
230  Comment on the design
231  </p></li><li><p>
232  Break the code, or better yet, mend it.
233  </p></li><li><p>
234  Add non-English language support in your own favo(u)rite language.
235  </p></li><li><p>
236  Improve the CLP executable.  In particular it would be nice to be able to link
237  the executable's online help system with the existing CLP Samples (e.g. entering
238  <b class="userinput"><tt>presol???</tt></b> would give the user references to all
239  CLP Sample files which use presolve).
240  </p></li><li><p>
241  Implement a dual Simplex method for QPs (quadratic programs)
242  </p></li><li><p>
243  Implement a parametric Simplex method
244  </p></li><li><p>
245  Implement a true network Simplex method (network matrix and factorization
246  are already in place, but the method is not)
247  </p></li><li><p>
248  Fill the holes in the barrier method mentioned above.
249  </p></li></ul></div></td></tr></tbody></table></div>
251<!--                            -->
252<!--  End DocBook content here  -->
253<!--                            -->
255        </div>
256        <!--        -->
257        <!-- FOOTER -->
258        <!--        -->
259        <div class="footer">
260          <p>
261            This page last modified <!--#echo var="LAST_MODIFIED"-->
262          </p>
263        </div>
264      </td>
265    </tr>
266  </tbody>
Note: See TracBrowser for help on using the repository browser.