[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