source: html/faq.html @ 1933

Last change on this file since 1933 was 975, checked in by ladanyi, 15 years ago

Clp static pages moved

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