[Ipopt-tickets] [Ipopt] #94: need a dense solver for small-scale optimization
Ipopt
coin-trac at coin-or.org
Mon Apr 13 13:05:25 EDT 2009
#94: need a dense solver for small-scale optimization
--------------------------------+-------------------------------------------
Reporter: klingenberg | Owner: andreasw
Type: enhancement | Status: assigned
Priority: normal | Component: Ipopt
Version: 3.5 (C++ Version) | Severity: normal
Resolution: | Keywords: dense solver singular value decomposition
--------------------------------+-------------------------------------------
Changes (by andreasw):
* owner: ipopt-team => andreasw
* status: new => assigned
* version: 3.4 (C++ Version) => 3.5 (C++ Version)
* type: defect => enhancement
Comment:
Hi,
It would not be a trivial change to use dense matrices in the Ipopt code.
One would have to change the data format in which the matrices are stored
(currently they are stored in a triplet format, three data items (row
index, column index, value) for each non-zero entry), and it would also
require to change how the linear solver is called. The changes would
affect files in the src/LinAlg subdirectory. And it then would also make
sense to change the user interface to request derivative matrices directly
in dense format, so a lot in src/Interfaces would also change.
Ipopt is an interior point method and as such targeting large problems,
with thousands and possibly millions of variables, and dense problems of
that size are out of the question.
The current sparse solvers are "accurate" in the sense that they solve the
linear systems up to a high precision (close to machine precision) - they
are based on a direct factorization of the matrices (and not on an
iterative procedure which might produce less accurate solutions). In
terms of accuracy, I doubt that much would be gained from switching to a
dense factorization (as in LAPACK) compared using the sparse linear
solvers that are interfaced now. In fact, some of the linear solvers
(such as Pardiso) would just call LAPACK for the dense part in the
matrices that they encounter. The only advantage of using dense LAPACK
routines directly would be speed.
There might be other optimization code specifically for small-scale
problems that are more suited for your application.
Sorry this is not as helpful as you might have hoped. I will close the
ticket soon.
--
Ticket URL: <https://projects.coin-or.org/Ipopt/ticket/94#comment:1>
Ipopt <http://projects.coin-or.org/Ipopt>
Interior-point optimizer for nonlinear programs.
More information about the Ipopt-tickets
mailing list