[Clp] Cholesky with Mumps and QPs + ABC
Jonathan Currie
jonathan.currie at aut.ac.nz
Mon Apr 29 05:41:21 EDT 2013
Hi,
I have been updating my MATLAB interface
(http://www.i2c2.aut.ac.nz/Wiki/OPTI/) to Clp to support most of the
options, together with experimenting with the interior point solver and
various Cholesky options for Window's users.
I had a few questions I can't seem to find answers for in the code (or in
the user's guide) if anyone could help!
1) If I create a ClpSimplex object (simplex), load an LP into it using
loadProblem(..), then do the following, what algorithm is being called? I
presume it is the interior point.
ClpSolve options;
options.setSolveType(ClpSolve::useBarrier);
simplex.initialSolve(options);
2) How does the ClpSolve::automatic mode work (using similar code as
the above)?
3) If I create a ClpInterior object (interior), load a QP into it using
loadProblem(..) and loadQuadraticObjective(..), then call
interior.primalDual(), which Cholesky factorization code is being used? I.e.
I have not specified it anywhere, I have not added any COIN_HAS_MUMPS etc
defines, and my problem is typically large and sparse.
4) I have access to the Mumps solver (sequential version) on Windows,
and would like to use it with Clp. However when I try and use it with the
interior point solver and a QP I get the message "Quadratic Barrier needs a
KKT factorization". My first guess was to do the following:
ClpCholeskyMumps clpMumps;
clpMumps.setKKT(true);
interior.setCholesky(&clpMumps);
However using my MATLAB interface it promptly crashes when trying to solve
the model. I see in the source files only Wssmp has a KKT suffix header
file, is this the only Cholesky code setup to solve the KKT system of a QP
with the barrier (interior) solver?
5) If I solve LPs using the barrier solver and sequential Mumps, will I
still expect (in general - for sparse problems) to see a speedup over the
CholeskyBase / CholeskyDense implementations supplied with Clp?
6) I have bought Intel Parallel Studio XE and therefore have access to
the Cilk libraries and would like to try using ABC for solving LPs (and
QPs?) in parallel. However I cannot find any examples.. Is it as simple as
replacing ClpSimplex with AbcSimplex, or is there a bit more to it? I have
not managed to compile the Abc part of Clp yet, so not quite at a point to
jump in and experiment.
Thanks for any help!
JONATHAN CURRIE [BE Hons]
LECTURER
ELECTRICAL & ELECTRONIC ENGINEERING
AUT UNIVERSITY
ph: (+64) 09 921 9999 x6608 | mob: (+64) 021 550 483 | web:
<http://www.i2c2.aut.ac.nz/> www.i2c2.aut.ac.nz
INDUSTRIAL INFORMATION & CONTROL CENTRE | AUCKLAND | NEW ZEALAND
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/clp/attachments/20130429/da10b385/attachment.html>
More information about the Clp
mailing list