# [Ipopt] Does Ipopt use Reduce Space Interior Point method?

Tony Kelman kelman at berkeley.edu
Mon Feb 9 09:44:00 EST 2015

```The "Reallocating memory" message is usually a sign that you're getting a
lot of fill-in. Usual easy things to try are using Metis partitioning, a
different linear solver, and a better BLAS implementation.

Depends exactly what you mean by reduced space methods. Since your problem
has almost as many equality constraints as variables, it might be worth
looking into a Schur complement type approach that would calculate the
Newton step restricted to only the degrees of freedom. But Ipopt doesn't do
things that way, it sends the entire sparse symmetric indefinite KKT system
to the sparse linear solver.

From: 徐辉
Sent: Monday, February 09, 2015 5:05 AM
To: ipopt at list.coin-or.org
Subject: [Ipopt] Does Ipopt use Reduce Space Interior Point method?
Hello Everyone!

I use ipopt 3.11.7 via matlab interface with linear solver ma57
It Seems it solved my problem in 20s, but ipopt cost 18s.
the exact NLP jacobian and hessian function cost 2s.
the problem is a optimal control problem, it was very sparse.
Some research show that Reduce Space Interior Point method can speed  KKT
solving times.

So my question is Does Ipopt use Reduce Space Interior Point Method? (not
the kind of reduce space technique to form hessian matrix)
Or it has options to allow to speed up the KKT solving.

If it doesn't, Do you have Any advice to speed up solving my optimal control
problems?

the jacobian matrix size: 2611*(2504+1134)
Nonzeros in jacobian matrix  :   (165616 + 61236)       2.39%
the Hessian matrix size:    2611*2611
Nonzeros in Hessian matrix :   90937                          1.33%

Here is my Program log as follows：

This is Ipopt version 3.11.7, running with linear solver ma57.

Number of nonzeros in equality constraint Jacobian...:   165616
Number of nonzeros in inequality constraint Jacobian.:    61236
Number of nonzeros in Lagrangian Hessian.............:    90937

Reallocating memory for MA57: lfact (8124492)
Reallocating memory for MA57: lfact (9949073)
Total number of variables............................:     2611
variables with only lower bounds:        0
variables with lower and upper bounds:      280
variables with only upper bounds:        0
Total number of equality constraints.................:     2504
Total number of inequality constraints...............:     1134
inequality constraints with only lower bounds:        0
inequality constraints with lower and upper bounds:     1134
inequality constraints with only upper bounds:        0

iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr
ls
0 1.7160931e+005 4.05e+002 2.22e+001   0.0 0.00e+000    -  0.00e+000
0.00e+000   0
1 1.6394305e+005 3.37e+002 1.80e+001  -0.5 5.54e+000    -  5.08e-001
1.67e-001h  1
2 1.2964367e+005 2.25e-001 2.52e+001  -0.6 3.87e+000    -  7.64e-001
1.00e+000h  1
3 1.3054588e+005 1.63e-001 2.69e+001  -0.1 8.94e-001   0.0 1.00e+000
3.08e-001f  2
4 1.3082580e+005 8.45e-003 1.83e+000  -0.8 3.42e+000    -  9.66e-001
1.00e+000h  1
5 1.3014168e+005 4.09e-003 2.25e-001  -1.8 4.03e-001    -  9.74e-001
1.00e+000f  1
6 1.2985090e+005 7.35e-003 5.45e-001  -7.7 1.16e+000    -  5.83e-001
1.00e+000f  1
7 1.2974092e+005 2.65e-003 1.11e-001  -2.5 1.63e+000    -  9.45e-001
8.20e-001h  1
8 1.2969486e+005 1.36e-003 7.48e-001  -3.1 8.63e-001    -  9.74e-001
6.56e-001h  1
9 1.2966988e+005 1.72e-003 5.80e-001  -3.6 6.38e-001    -  1.00e+000
7.10e-001h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr
ls
10 1.2966203e+005 1.11e-003 3.07e-001  -4.5 4.00e-001    -  1.00e+000
7.16e-001h  1
11 1.2966050e+005 4.17e-004 7.80e-002  -5.2 1.79e-001    -  1.00e+000
8.11e-001h  1
Reallocating memory for MA57: lfact (10761429)
12 1.2966060e+005 1.48e-004 4.33e-002  -5.7 3.75e-002    -  1.00e+000
6.48e-001h  1
13 1.2966068e+005 1.29e-005 4.27e-003  -6.8 1.46e-002    -  1.00e+000
9.13e-001h  1
14 1.2966069e+005 4.55e-007 4.26e-006  -7.6 4.24e-003    -  1.00e+000
1.00e+000h  1
15 1.2966069e+005 1.32e-008 1.66e-007  -9.7 7.05e-004    -  1.00e+000
1.00e+000h  1
16 1.2966069e+005 7.92e-011 1.05e-009 -11.0 5.56e-005    -  1.00e+000
1.00e+000h  1

Number of Iterations....: 16

(scaled)                 (unscaled)
Objective...............:  4.6307390708014606e+002   1.2966069398244091e+005
Dual infeasibility......:  1.0450803869017929e-009   2.9262250833250202e-007
Constraint violation....:  7.9200465630258066e-011   7.9200465630258066e-011
Complementarity.........:  5.7463050022030235e-010   1.6089654006168466e-007
Overall NLP error.......:  1.0450803869017929e-009   2.9262250833250202e-007

Number of objective function evaluations             = 18
Number of objective gradient evaluations             = 17
Number of equality constraint evaluations            = 18
Number of inequality constraint evaluations          = 18
Number of equality constraint Jacobian evaluations   = 17
Number of inequality constraint Jacobian evaluations = 17
Number of Lagrangian Hessian evaluations             = 16
Total CPU secs in IPOPT (w/o function evaluations)   =     18.260
Total CPU secs in NLP function evaluations           =      1.791

EXIT: Optimal Solution Found.

_______________________________________________
Ipopt mailing list
Ipopt at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/ipopt

```