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 | |
---|
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> |
---|
39 | |
---|
40 | </div> |
---|
41 | </TD> |
---|
42 | <!-- --> |
---|
43 | <!-- MAIN CONTENT --> |
---|
44 | <!-- --> |
---|
45 | <td> |
---|
46 | <div class="main-content"> |
---|
47 | |
---|
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. |
---|
51 | --> |
---|
52 | |
---|
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="http://www.coin-or.org/Clp/" 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="http://www.coin-or.org/" 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="http://opensource.org/licenses/cpl.php" 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="http://www.coin-or.org/faqs.html" target="_top">COIN-OR FAQ</a> |
---|
109 | for details on how to |
---|
110 | <a href="http://www.coin-or.org/faqs.html#ObtainSrcCode" target="_top">obtain</a> |
---|
111 | and |
---|
112 | <a href="http://www.coin-or.org/faqs.html#BuildCode" 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="http://www.coin-or.org/Clp/documentation.html" target="_top">CLP documentation webpage</a>. |
---|
141 | Also available is a list of |
---|
142 | <a href="http://www.coin-or.org/Doxygen/Clp/" target="_top">CLP class descriptions</a> generated |
---|
143 | by <a href="http://www.doxygen.org" 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="http://www.informs.org" target="_top">INFORMS</a> |
---|
155 | <a href="http://www.informs.org/Conf/Denver2004/" 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="http://www.coin-or.org/mail.html" 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> |
---|
239 | |
---|
240 | <!-- --> |
---|
241 | <!-- End DocBook content here --> |
---|
242 | <!-- --> |
---|
243 | |
---|
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> |
---|
256 | </table> |
---|
257 | |
---|
258 | </body> |
---|