[Coin-ipopt] how biggest problems can IPOP solve
Andreas Waechter
andreasw at watson.ibm.com
Mon Feb 4 14:50:43 EST 2008
Hi Xiaoming,
An answer to these questions in general terms is difficult. Since Ipopt
is an interior method, it can in principle handle very large numbers of
variables and constraints (in contrast to active set methods). How high
you can drive this depends usually on how much memory (and computation
time) is required by the underlying linear solver, and that in turn
depends on how dense your Jacobian matrix is (and what structure it has).
We have solved some very large problems with the Pardiso linear solver,
where we want up to 12 million variables and 6 million constraints
(discretized 2D PDEs, not a trivial structure for the linear solver), see
http://www.research.ibm.com/people/a/andreasw/papers/rc23824.pdf
(Note: If you decide to use Pardiso, you cannot use the Pardiso version
that is in the Intel MKL, since that version of Pardiso does not include
important features necessary for Ipopt.)
However, in those experiments, we provided the second derivatives. If the
second derivatives are not available, you need to use the quasi-Newton
option, and this is a) to some degree a heuristic and not as robust as the
version using second derivatives, and b) usually not scaling well as the
size of the problem increases.
Furthermore, the convergence behavior of Ipopt (or any other NLP
algorithm) depends on "how nonlinear" your problem is; if it is difficult
to find a feasible point, for example, or your objective function has lots
of non-convex parts, Ipopt might require a large number of iterations.
Best regards,
Andreas
On Tue, 22 Jan 2008, Xiaoming Yu wrote:
> Hi Dear All:
>
>
>
> How biggest problems have been tested for IPOPT in terms of number of
> design variables and inequality constraints? How efficient is the IPOPT
> if the function evaluation and the first-order gradient computation (but
> no second-order gradients) are very cheap ( in terms of CPU time on
> faster Intel machines). Our goal is to solve two kinds of problems :
>
>
>
>
> 1) about 1-10 millions design variables but a few number of constraints
>
>
> 2) about 100-50K design variables and 500-100K constraints
>
>
>
>
>
> Another question is if IPOPT use a "active constraints" concept. Active
> constraints are the violated or near critical constraints. The gradients
> are calculated for active constraints only. Thus, we can save times for
> gradient computation (also less memory requirements). In engineering
> problems, lots of constraints are inactive.
>
>
>
>
> Thanks,
>
>
>
> Xiaoming
>
>
More information about the Coin-ipopt
mailing list