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

Last change on this file since 961 was 961, checked in by ddelanu, 15 years ago

Clarified a couple of answers and added several news QandAs? about the barrier code

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 13.9 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html>
3<head>
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">
7</head>
8
9<!-- <div align="center"><h3>Clp Homepage</h3></div> -->
10
11<body>
12
13<table>
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">
58
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.
62-->
63
64<!--                            -->
65<!-- Begin DocBook content here -->
66<!--                            -->
67<div class="qandaset"><dl><dt>Q: <a href="#id4693599">
68  What is CLP?
69  </a></dt><dt>Q: <a href="#id4694311">
70  What are some of the features of CLP?
71  </a></dt><dt>Q: <a href="#id4694338">
72  How do I obtain and install CLP?
73  </a></dt><dt>Q: <a href="#id4695264">
74  Is CLP reliable?
75  </a></dt><dt>Q: <a href="#id4695295">
76  On which platforms does CLP run?   
77  </a></dt><dt>Q: <a href="#id4695346">
78  Is there any documentation for CLP? 
79  </a></dt><dt>Q: <a href="#id4757338">
80  Is CLP as fast as OSL?
81  </a></dt><dt>Q: <a href="#id4757359">
82  When will version 1.0 of CLP be available? 
83  </a></dt><dt>Q: <a href="#id4757390">
84  The barrier method sounds interesting, what are some of the details?
85  </a></dt><dt>Q: <a href="#id4757416">
86  Which Cholesky factorizations codes are supported?
87  </a></dt><dt>Q: <a href="#id4757480">
88  When will CLP have a good native ordering?
89  </a></dt><dt>Q: <a href="#id4757501">
90  Is the interior point code as mature as the simplex code?
91  </a></dt><dt>Q: <a href="#id4757525">
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="#id4757558">
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="http://www.coin-or.org/Clp/" 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="http://www.coin-or.org/" 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="http://opensource.org/licenses/cpl.php" 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 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="http://www.coin-or.org/faqs.html" target="_top">COIN-OR FAQ</a>
120  for details on how to
121  <a href="http://www.coin-or.org/faqs.html#ObtainSrcCode" target="_top">obtain</a>
122  and
123  <a href="http://www.coin-or.org/faqs.html#BuildCode" 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="http://www.coin-or.org/faqs.html#SBB" 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 08/27/04) A User Guide should be available in time for the release of version 1.0 of CLP.
151  Also available is a list of
152  <a href="http://www.coin-or.org/Doxygen/Clp/" target="_top">CLP class descriptions</a>.
153  More on CLP documentation is available on the
154  <a href="http://www.coin-or.org/Clp/documentation.html" target="_top">CLP documentation webpage</a>.
155  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4757338"></a><a name="id4757340"></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) It 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 than OSL (not
161   difficult!).
162  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4757359"></a><a name="id4757361"></a><b>Q:</b></td><td align="left" valign="top"><p>
163  When will version 1.0 of CLP be available? 
164  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
165  (DN 08/27/04) It is expected that version 1.0 will be released in time for the 2004
166  <a href="http://www.informs.org" target="_top">INFORMS</a>
167  <a href="http://www.informs.org/Conf/Denver2004/" target="_top">Annual Meeting</a>
168  (24-27 October, 2004).
169  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4757390"></a><a name="id4757393"></a><b>Q:</b></td><td align="left" valign="top"><p>
170  The barrier method sounds interesting, what are some of the details?
171  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
172  (DN 08/30/04) The CLP barrier method solves convex QPs as well as LPs. In
173  general, a barrier method requires implementation of the algorithm, as
174  well as a fast Cholesky factorization.  CLP provides the algorithm, and is
175  expected to have a reasonable factorization implementation by the release of
176  CLP version 1.0.  However, the sparse factorization requires a good ordering
177  algorithm, which the user is expected to provide (perhaps a better
178  factorization code as well).
179  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4757416"></a><a name="id4757418"></a><b>Q:</b></td><td align="left" valign="top"><p>
180  Which Cholesky factorizations codes are supported?
181  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
182  (DN 09/16/04) The Cholesky interface is flexible enough so that any of a variety of Cholesky
183  ordering and factorization codes can be used.  Interfaces are provided to each
184  of the following:
185  </p><div class="itemizedlist"><ul type="disc"><li><p>
186  Anshul Gupta's WSSMP parallel enabled ordering and factorization code
187  </p></li><li><p>
188  Sivan Toledo's TAUCS parallel enabled factorization code (the package includes
189  third party ordering codes)
190  </p></li><li><p>
191  University of Florida's Approximate Minimum Degree ordering code (AMD) (the
192  CLP native factorization code is used with this ordering code)
193  </p></li><li><p>
194  CLP native code: very weak ordering but competitive nonparallel factorization
195  </p></li><li><p>
196  Fast dense factorization
197  </p></li></ul></div><p>
198  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4757480"></a><a name="id4757482"></a><b>Q:</b></td><td align="left" valign="top"><p>
199  When will CLP have a good native ordering?
200  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
201  (DN 09/16/04) The best outcome would be to have an existing ordering code available as part
202  of the COIN distribution under the CPL.  However, if this is not possible, the
203  native ordering will be made respectable.
204  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4757501"></a><a name="id4757503"></a><b>Q:</b></td><td align="left" valign="top"><p>
205  Is the interior point code as mature as the simplex code?
206  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
207  (DN 09/16/04) The simplex code has been exposed to user testing for more than a year and
208  and the principal author, John Forrest, knows more about simplex algorithms
209  than interior point algorithms, so the answer is "no".  However, it
210  performs well on test sets and seems to be more reliable than some
211  commercially available codes (including OSL).
212  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4757525"></a><a name="id4757528"></a><b>Q:</b></td><td align="left" valign="top"><p>
213  Which algorithm should I use for quadratic programming and should I keep an
214  eye open for any issues?
215  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
216  (DN 09/16/04) The interior point algorithm for quadratic programming is much more elegant
217  and normally much faster than the quadratic simplex code.  Caution is
218  suggested with the presolve as not all bugs have been found and squashed when
219  a quadratic objective is used.  One may wish to switch off the crossover to a
220  basic feasible solution as the simplex code can be slow.  The sequential
221  linear code is useful as a "crash" to the simplex code; its
222  convergence is poor but, say, 100 iterations could set up the problem well for
223  the simplex code.
224  </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id4757558"></a><a name="id4757560"></a><b>Q:</b></td><td align="left" valign="top"><p>
225  What can the community do to help?
226  </p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
227  (DN 09/09/04) A lot!  A good first step would be to join the CLP
228  <a href="http://www.coin-or.org/mail.html" target="_top">mailing lists</a>.  Some
229  other possibilities:
230  </p><div class="itemizedlist"><ul type="disc"><li><p>
231  Comment on the design
232  </p></li><li><p>
233  Break the code, or better yet, mend it.
234  </p></li><li><p>
235  Add non-English language support in your own favo(u)rite language.
236  </p></li><li><p>
237  Improve the CLP executable.  In particular it would be nice to be able to link
238  the executable's online help system with the existing CLP Samples (e.g. entering
239  <b class="userinput"><tt>presol???</tt></b> would give the user references to all
240  CLP Sample files which use presolve).
241  </p></li><li><p>
242  Implement a dual Simplex method for QPs (quadratic programs)
243  </p></li><li><p>
244  Implement a parametric Simplex method
245  </p></li><li><p>
246  Implement a true network Simplex method (network matrix and factorization
247  are already in place, but the method is not)
248  </p></li><li><p>
249  Fill the holes in the barrier method mentioned above.
250  </p></li></ul></div></td></tr></tbody></table></div>
251
252<!--                            -->
253<!--  End DocBook content here  -->
254<!--                            -->
255
256        </div>
257        <!--        -->
258        <!-- FOOTER -->
259        <!--        -->
260        <div class="footer">
261          <p>
262            This page last modified <!--#echo var="LAST_MODIFIED"-->
263          </p>
264        </div>
265      </td>
266    </tr>
267  </tbody>
268</table>
269
270</body>
Note: See TracBrowser for help on using the repository browser.