# [Ipopt] mininimizing a function without a minimum

Dominik Skanda dominik.skanda at web.de
Mon Apr 6 10:33:31 EDT 2009

```Hi all,
I'm using IpOPT together with CVodes a numerical integrator in context of optimal control.
I have implemented the eval_h function by calculating second order sensitivities in forward mode.
Now my problem is that for my optimization problem ipopt doesn't converge correctly.
I think the problem is somehow connected to the regularization of my hessematrix.
If I restart the algorithm after he found a local solution with the solution point as new starting point it takes about 300 - 800 iterations until the algorithm ends with different values of the optimization variables but the objective value is somehow the same.
This is due to the fact, that at the solution point the hesse matrix gets regularized and somehow the information of the hessematrix is useless.
I think Ipopt get's stuck in a saddle point if there a minimium at all. Can Ipopt check that or is there a way to make the algorithm more robust against solutions at saddle points.

Dominik

P.s.
IpOPT Output:

******************************************************************************
This program contains Ipopt, a library for large-scale nonlinear optimization.
Ipopt is released as open source code under the Common Public License (CPL).
******************************************************************************

This is Ipopt version 3.5.4, running with linear solver ma27.

Number of nonzeros in equality constraint Jacobian...:     1056
Number of nonzeros in inequality constraint Jacobian.:        0
Number of nonzeros in Lagrangian Hessian.............:     3000

##Total number of variables............................:      160
variables with only lower bounds:        0
variables with lower and upper bounds:      160
variables with only upper bounds:        0
Total number of equality constraints.................:      153
Total number of inequality constraints...............:        1
inequality constraints with only lower bounds:        0
inequality constraints with lower and upper bounds:        1
inequality constraints with only upper bounds:        0

iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
0  8.3542665e+03 1.00e-02 1.00e+02  -1.0 0.00e+00    -  0.00e+00 0.00e+00   0
#   1  8.3335936e+03 4.31e-04 2.70e+01  -1.0 2.70e-01   2.0 9.66e-01 9.90e-01f  1
#   2  8.3090698e+03 4.46e-04 2.73e+01  -1.0 8.17e-01   1.5 9.90e-01 1.00e+00f  1
#   3  8.2270351e+03 6.60e-03 5.92e+01  -1.0 2.55e+00   1.0 9.93e-01 1.00e+00f  1
#   4  7.7368765e+03 3.33e-01 1.56e+02  -1.0 1.02e+01   0.6 8.41e-01 1.00e+00f  1
#   5  7.6476591e+03 4.46e-02 2.80e+01  -1.0 3.53e-01   1.9 1.00e+00 1.00e+00f  1
#   6  7.4401024e+03 7.61e-02 6.17e+01  -1.0 1.37e+00   1.4 1.00e+00 1.00e+00f  1
#   7  7.2902345e+03 2.33e-02 3.13e+01  -1.0 4.58e-01   1.8 1.00e+00 1.00e+00f  1
#   8  6.9488438e+03 7.45e-02 5.26e+02  -1.0 1.41e+00   1.4 1.00e+00 5.26e-01f  1
#   9  6.9426777e+03 7.43e-02 7.48e+02  -1.0 5.85e+00   0.9 4.09e-01 2.56e-03f  1
#iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
10  6.6391830e+03 1.85e-02 5.01e+01  -1.0 2.41e+00   1.3 1.00e+00 1.00e+00f  1
#  11  6.2302888e+03 2.26e-02 3.31e+02  -1.0 8.13e+00   0.8 1.00e+00 6.72e-01f  1
#  12  4.8049917e+03 1.72e-01 5.00e+01  -1.0 2.15e+01   0.4 1.00e+00 1.00e+00f  1
#  13  2.6227442e+03 3.62e-01 5.80e+01  -1.0 4.28e+01  -0.1 1.00e+00 1.00e+00f  1
#  14  1.1127574e+03 2.59e-01 3.06e+03  -1.0 5.21e+01  -0.6 4.46e-01 1.00e+00f  1
#  15  7.6696234e+02 7.51e-02 1.49e+03  -1.0 3.46e+01  -1.1 7.72e-01 1.00e+00f  1
#  16  7.8136912e+02 8.62e-04 5.65e+02  -1.0 5.03e-01   1.2 1.00e+00 1.00e+00h  1
#  17  7.8117568e+02 3.19e-04 8.05e+01  -1.0 1.47e-01   1.6 1.00e+00 1.00e+00f  1
#  18  7.8029578e+02 2.26e-04 1.69e+02  -1.0 3.72e-01   1.1 8.36e-01 1.00e+00f  1
####  19  7.7996243e+02 3.39e-04 5.98e+02  -1.0 2.81e-01   1.5 1.00e+00 1.93e-01f  2
#iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
20  7.7907386e+02 1.03e-03 1.22e+03  -1.0 5.11e-01   1.1 1.00e+00 3.10e-01f  1
#  21  7.7415079e+02 7.68e-04 1.11e+01  -1.0 1.20e+00   0.6 1.00e+00 1.00e+00f  1
#  22  7.6220230e+02 2.83e-04 9.90e+00  -1.0 2.99e+00   0.1 1.00e+00 1.00e+00f  1
#  23  7.4400359e+02 8.43e-04 1.77e+02  -1.0 7.11e+00  -0.4 1.00e+00 7.44e-01f  1
#  24  7.0436997e+02 1.10e-02 1.11e+02  -1.0 1.50e+01  -0.8 8.33e-01 1.00e+00f  1
#  25  6.9199952e+02 1.31e-02 1.13e+02  -1.0 6.17e+00  -0.4 1.00e+00 1.00e+00f  1
#  26  6.6552890e+02 2.06e-02 2.51e+02  -1.0 1.44e+01  -0.9 1.00e+00 8.70e-01f  1
#  27  6.6244986e+02 9.12e-03 1.36e+02  -1.0 2.30e+01  -1.4 2.70e-02 1.19e-01f  1
#  28  6.6306688e+02 6.54e-03 8.28e+02  -1.0 1.89e-01   2.7 1.00e+00 2.13e-01h  1
#  29  6.6307703e+02 6.53e-03 9.95e+02  -1.0 9.75e-01   2.2 6.40e-03 2.24e-03h  1
#iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
30  6.6311635e+02 6.48e-03 5.11e+03  -1.0 9.98e-01   1.7 2.16e-03 8.40e-03h  1
#  31  6.6311894e+02 6.48e-03 3.39e+04  -1.0 1.62e-01   4.8 9.54e-01 5.19e-04h  1
#  32  6.6313886e+02 6.46e-03 7.82e+04  -1.0 2.20e-01   4.4 8.31e-03 3.22e-03h  1
#  33  6.6318764e+02 6.41e-03 8.07e+06  -1.0 4.53e-01   3.9 6.49e-01 1.13e-02h  1
#  34  6.7048374e+02 5.31e-03 1.29e+05  -1.0 5.20e-01   3.4 1.00e+00 1.00e+00h  1
#  35  6.7204318e+02 5.70e-04 1.86e+05  -1.0 9.29e-02   2.9 4.02e-01 1.00e+00h  1
#  36  6.7134521e+02 8.07e-05 1.42e+04  -1.0 4.45e-02   2.5 3.17e-02 1.00e+00f  1
#  37  6.7105869e+02 3.50e-04 1.27e+04  -1.0 3.23e-02   2.9 1.00e+00 1.00e+00f  1
###  38  6.7094866e+02 3.92e-04 1.80e+04  -1.0 1.66e-01   3.3 9.51e-02 3.36e-02f  2
#  39  6.7103931e+02 9.30e-05 1.54e+05  -1.0 1.62e-02   4.6 6.63e-01 1.00e+00h  1
#iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
40  6.7087038e+02 4.07e-04 2.04e+05  -1.0 2.67e-02   4.2 1.00e+00 1.00e+00f  1
###  41  6.7080083e+02 2.83e-04 4.55e+04  -1.0 3.46e-02   4.6 1.00e+00 1.00e+00H  1
#  42  6.7079466e+02 2.47e-05 1.89e+02  -1.0 5.44e-04   4.1 1.00e+00 1.00e+00h  1
#  43  6.7080196e+02 2.94e-06 5.71e+00  -1.0 7.14e-04   3.6 1.00e+00 1.00e+00h  1
#  44  6.7077385e+02 2.89e-06 4.21e+00  -1.0 1.56e-03   3.2 1.00e+00 1.00e+00f  1
#  45  6.7069082e+02 2.85e-06 2.28e+00  -1.0 4.75e-03   2.7 1.00e+00 1.00e+00f  1
#  46  6.7045029e+02 2.03e-05 2.19e+00  -1.0 1.37e-02   2.2 1.00e+00 1.00e+00f  1
#  47  6.6975372e+02 1.39e-04 2.63e+01  -1.0 3.93e-02   1.7 1.00e+00 1.00e+00f  1
#  48  6.6785425e+02 7.46e-04 9.08e+01  -1.0 1.11e-01   1.2 1.00e+00 1.00e+00f  1
#  49  6.6411781e+02 2.89e-03 1.15e+02  -1.0 3.27e-01   0.8 1.00e+00 1.00e+00f  1
#iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
50  6.5999295e+02 6.03e-03 7.33e+01  -1.0 9.50e-01   0.3 1.00e+00 1.00e+00f  1
#  51  6.5517225e+02 5.55e-03 1.75e+02  -1.0 2.72e+00  -0.2 6.25e-01 1.00e+00f  1
#  52  6.4264201e+02 4.25e-03 1.07e+01  -1.0 7.62e+00  -0.7 1.00e+00 1.00e+00f  1
#  53  6.1301264e+02 5.38e-03 1.83e+02  -1.0 1.94e+01  -1.1 5.98e-01 1.00e+00f  1
#  54  5.5722673e+02 1.55e-02 8.92e+01  -1.0 4.39e+01  -1.6 8.60e-01 1.00e+00f  1
##  55  3.9891307e+02 1.04e+00 7.47e+02  -1.0 9.49e+01  -2.1 1.89e-01 1.00e+00F  1
#  56  4.2670957e+02 9.88e-01 4.75e+02  -1.0 5.30e+02  -2.6 7.11e-01 3.45e-02h  1
#  57  6.6036318e+02 1.81e-01 4.72e+02  -1.0 8.80e+01  -3.0 1.32e-01 1.00e+00h  1
##  58  6.5704741e+02 1.79e-01 4.68e+02  -1.0 1.61e+02  -0.8 5.11e-01 1.27e-02F  1
##  59  6.6227968e+02 9.04e-02 1.12e+02  -1.0 3.04e+01  -1.3 3.50e-02 5.00e-01h  2
#iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
60  6.1777219e+02 4.23e-01 4.46e+02  -1.0 3.28e+01  -0.9 1.71e-02 7.81e-01f  1
#  61  5.8125612e+02 1.63e-01 1.45e+03  -1.0 2.34e+00   1.4 5.14e-02 1.00e+00f  1
#  62  5.8604083e+02 1.55e-02 4.39e+01  -1.0 4.80e-01   0.9 9.78e-01 1.00e+00h  1
#  63  5.4852956e+02 1.58e-02 1.96e+01  -1.0 1.06e+00   0.4 9.56e-01 1.00e+00f  1
#  64  5.3482118e+02 6.61e-03 8.64e+00  -1.0 1.27e+00  -0.1 1.00e+00 1.00e+00f  1
#  65  5.3059194e+02 2.89e-03 2.82e+00  -1.0 3.77e+00  -0.5 1.00e+00 1.00e+00f  1
#  66  5.1983456e+02 1.61e-03 1.04e+00  -1.0 1.08e+01  -1.0 1.00e+00 1.00e+00f  1
#  67  4.9267774e+02 8.14e-03 1.41e+01  -1.7 2.85e+01  -1.5 8.80e-01 1.00e+00f  1
#  68  4.3931682e+02 4.00e-02 1.91e+01  -1.7 6.75e+01  -2.0 1.00e+00 1.00e+00f  1
#  69  3.7267676e+02 1.86e-01 2.79e+01  -1.7 1.23e+02  -2.4 7.65e-01 1.00e+00f  1
#iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
70  3.4708474e+02 4.15e-02 7.60e+00  -1.7 4.01e+01  -2.0 1.00e+00 1.00e+00f  1
#  71  3.4050487e+02 6.21e-02 1.21e+01  -1.7 1.41e+01  -1.6 1.00e+00 1.00e+00f  1
#  72  3.3832930e+02 2.60e-01 7.90e+01  -1.7 1.47e+01  -1.2 1.00e+00 1.00e+00f  1
#  73  3.0394659e+02 3.55e-02 6.65e+01  -1.7 5.91e-01   1.1 1.00e+00 1.00e+00f  1
#  74  2.8435370e+02 1.51e-03 2.80e+01  -1.7 2.27e-01   1.5 1.00e+00 1.00e+00f  1
#  75  2.5272813e+02 1.15e-01 1.15e+02  -1.7 1.35e+00   1.0 1.00e+00 1.00e+00f  1
###  76  1.7231274e+02 5.46e-01 3.23e+02  -1.7 7.57e+01   0.5 8.43e-02 2.43e-02f  2
#  77  4.5904146e+01 5.63e-01 7.45e+02  -1.7 2.76e+00   0.1 1.00e+00 1.00e+00f  1
#  78  3.3746438e+01 4.71e-01 1.31e+02  -1.7 1.21e+00   0.5 1.00e+00 1.00e+00f  1
#  79  3.0706462e+01 3.23e-02 2.23e+01  -1.7 4.64e-01   0.0 1.00e+00 1.00e+00f  1
#iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
80  3.0116792e+01 9.81e-03 8.12e-01  -1.7 2.45e-01  -0.5 1.00e+00 1.00e+00f  1
#  81  3.0044540e+01 4.31e-03 5.11e-01  -1.7 3.83e-01  -0.9 1.00e+00 1.00e+00h  1
#  82  3.0005044e+01 1.18e-05 3.94e-02  -1.7 1.05e+00  -1.4 1.00e+00 1.00e+00h  1
#  83  2.9923910e+01 3.29e-04 1.31e-01  -3.8 2.41e+00  -1.9 9.78e-01 1.00e+00f  1
#  84  2.9824717e+01 1.28e-03 6.72e-02  -3.8 4.22e+00  -2.4 1.00e+00 1.00e+00f  1
#  85  2.9775063e+01 1.14e-03 6.38e-02  -3.8 4.16e+00  -2.9 1.00e+00 1.00e+00h  1
#  86  2.9765715e+01 1.97e-04 1.28e-02  -3.8 1.84e+00  -3.3 1.00e+00 1.00e+00h  1
#  87  2.9764848e+01 5.09e-06 3.47e-04  -3.8 3.05e-01  -3.8 1.00e+00 1.00e+00h  1
#  88  2.9764826e+01 9.96e-09 7.29e-07  -5.7 1.42e-02  -4.3 1.00e+00 1.00e+00h  1
#  89  2.9764826e+01 1.00e-08 6.96e-07  -7.0 4.06e-02  -4.8 1.00e+00 1.00e+00h  1

Number of Iterations....: 89

(scaled)                 (unscaled)
Objective...............:   2.9663974905339639e+01    2.9764826051444537e+01
Dual infeasibility......:   6.9609272556087321e-07    6.9845929138329309e-07
Constraint violation....:   1.7686474507172534e-10    1.7686474507172534e-10
Complementarity.........:   9.3250541585591684e-08    9.3567573406978388e-08
Overall NLP error.......:   3.6323737816649029e-07    6.9845929138329309e-07

Number of objective function evaluations             = 102
Number of objective gradient evaluations             = 90
Number of equality constraint evaluations            = 102
Number of inequality constraint evaluations          = 102
Number of equality constraint Jacobian evaluations   = 90
Number of inequality constraint Jacobian evaluations = 90
Number of Lagrangian Hessian evaluations             = 89
Total CPU secs in IPOPT (w/o function evaluations)   =      1.280
Total CPU secs in NLP function evaluations           =     55.639

EXIT: Optimal Solution Found.
Finalize Solution
#Species:
FreeParameter_1:
FreeParameter_2:
x[0]: 44945.8
x[1]: 1.36255
x[2]: 2.03613
x[3]: 11865.1
x[4]: 632.74
x[5]: 50
x[6]: 5382.55
x[7]: 2.32012
TimePoints:

*** The problem solved in 89 iterations!

__________________________________________________________________________
Verschicken Sie SMS direkt vom Postfach aus - in alle deutschen und viele
ausländische Netze zum gleichen Preis!
https://produkte.web.de/webde_sms/sms

```