[Ipopt] Questions on "Total CPU secs in NLP function evaluations"

Yao Xie xieyao04 at gmail.com
Tue Oct 1 16:43:19 EDT 2013


Hi all,

I couldn't find documentation to explain the difference of "Total CPU secs
in IPOPT (w/o function evaluations)" and "Total CPU secs in NLP function
evaluations". I was using AMPL interface and got a very long function
evaluation time (details below).

My questions are:
1) What's the difference between these two CPU time? Does "NLP function
evaluations" mean to evaluate objective function values, Jacobian, Hessian
matrix? Which parts are in IPOPT and which are outside IPOPT?
2) Is there any way to speed up this NLP function evaluation part? It's
just evaluation, can we parallelize it? Thanks!


******************************************************************************
This program contains Ipopt, a library for large-scale nonlinear
optimization.
 Ipopt is released as open source code under the Eclipse Public License
(EPL).
         For more information visit http://projects.coin-or.org/Ipopt
******************************************************************************

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

Number of nonzeros in equality constraint Jacobian...:   233227
Number of nonzeros in inequality constraint Jacobian.:  1070521
Number of nonzeros in Lagrangian Hessian.............:   408874

Total number of variables............................:     4276
                     variables with only lower bounds:     2124
                variables with lower and upper bounds:     1053
                     variables with only upper bounds:        0
Total number of equality constraints.................:     1098
Total number of inequality constraints...............:     8130
        inequality constraints with only lower bounds:      918
   inequality constraints with lower and upper bounds:     6488
        inequality constraints with only upper bounds:      724

iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
alpha_pr  ls
   0  1.5184014e+01 1.35e+01 1.21e+00  -1.0 0.00e+00    -  0.00e+00
0.00e+00   0
   1  1.5529233e+01 1.14e+01 1.54e+00  -1.0 1.35e+01    -  2.71e-01
1.52e-01f  1
   2  1.5731676e+01 1.07e+01 1.67e+01  -1.0 1.12e+01    -  3.03e-01
6.06e-02f  1
   3  1.6322257e+01 9.25e+00 2.69e+01  -1.0 1.04e+01    -  2.32e-01
1.38e-01f  1
   4  2.2667912e+01 1.74e+00 9.90e+01  -1.0 1.14e+01    -  3.78e-01
8.12e-01f  1
   5  2.4502734e+01 1.52e-01 1.85e+01  -1.0 1.25e+01    -  5.98e-01
9.13e-01f  1
   6  2.4458296e+01 9.66e-02 1.33e+01  -1.0 2.81e+01    -  6.36e-01
3.63e-01f  1
   7  2.4413454e+01 8.27e-02 1.92e+01  -1.0 6.97e+01    -  6.70e-01
1.44e-01f  1
   8  2.4186533e+01 6.47e-02 1.81e+01  -1.0 2.02e+02    -  2.25e-01
2.18e-01f  1
   9  2.3696600e+01 3.92e-02 2.70e+01  -1.0 1.69e+02    -  4.39e-01
3.95e-01f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
alpha_pr  ls
  10  2.2518615e+01 1.06e-02 7.21e+01  -1.0 1.02e+02    -  4.29e-01
7.29e-01f  1
  11  2.3141833e+01 1.22e+00 4.38e+01  -1.0 3.95e+01    -  8.09e-01
1.00e+00f  1
  12  3.5914960e+01 4.19e+00 6.88e+01  -1.0 2.16e+02    -  6.15e-01
8.68e-01f  1
  13  5.3361320e+01 3.36e-04 1.41e+02  -1.0 4.87e+03    -  2.78e-01
1.00e+00f  1
  14  6.2414788e+01 6.12e-06 9.32e+01  -1.0 4.04e+03    -  3.23e-01
1.00e+00f  1
  15  7.0993399e+01 4.33e-06 3.35e+01  -1.0 4.68e+03    -  5.85e-01
1.00e+00f  1
  16  7.6576101e+01 6.50e-07 1.61e-04  -1.0 2.75e+03    -  1.00e+00
1.00e+00f  1
  17  6.1839269e+01 5.67e-05 5.52e+02  -2.5 2.02e+04    -  8.89e-01
1.51e-01f  1
  18  3.6882450e+01 5.29e-04 3.88e+02  -2.5 1.76e+04    -  3.82e-01
3.09e-01f  1
  19  3.1596814e+01 5.75e-04 3.44e+02  -2.5 1.18e+04    -  1.35e-01
1.18e-01f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
alpha_pr  ls
  20  2.6903910e+01 6.90e-04 3.07e+02  -2.5 5.64e+03    -  2.96e-01
1.47e-01f  1
  21  2.1622746e+01 1.20e-03 2.74e+02  -2.5 3.55e+03    -  7.42e-01
2.44e-01f  1
  22  1.3725739e+01 1.55e+00 1.09e+02  -2.5 2.07e+03    -  9.14e-01
6.40e-01f  1
  23  9.8071792e+00 1.41e+01 1.62e-01  -2.5 4.56e+02    -  1.00e+00
1.00e+00f  1
  24  9.2830838e+00 1.75e+01 2.22e-03  -2.5 5.67e+02    -  1.00e+00
1.00e+00h  1
  25  9.3565618e+00 4.66e-05 2.70e-04  -2.5 3.71e+01    -  1.00e+00
1.00e+00h  1
  26  9.3568071e+00 1.18e-07 2.35e-07  -2.5 5.63e-01    -  1.00e+00
1.00e+00h  1
  27  7.6404273e+00 1.38e+01 8.47e+00  -3.8 1.70e+02    -  5.68e-01
9.21e-01f  1
  28  6.9145674e+00 8.26e+00 2.19e+00  -3.8 6.44e+01    -  7.43e-01
1.00e+00h  1
  29  6.7459563e+00 1.13e+00 2.69e-04  -3.8 2.23e+01    -  1.00e+00
1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
alpha_pr  ls
  30  6.7292995e+00 2.82e-02 3.62e-07  -3.8 6.60e+00    -  1.00e+00
1.00e+00h  1
  31  6.7292875e+00 1.21e-08 7.06e-09  -3.8 1.27e-01    -  1.00e+00
1.00e+00h  1
  32  6.5327961e+00 1.23e+00 8.28e-02  -5.7 2.04e+01    -  8.98e-01
9.82e-01f  1
  33  6.5231283e+00 1.93e-01 5.40e-07  -5.7 2.35e+00    -  1.00e+00
1.00e+00h  1
  34  6.5230925e+00 2.56e-02 6.49e-08  -5.7 8.17e-02    -  1.00e+00
1.00e+00h  1
  35  6.5231024e+00 8.54e-04 7.07e-10  -5.7 9.35e-03    -  1.00e+00
1.00e+00h  1
  36  6.5231030e+00 3.01e-10 4.39e-11  -5.7 1.69e-03    -  1.00e+00
1.00e+00h  1
  37  6.5231030e+00 5.97e-13 1.84e-11  -5.7 5.90e-05    -  1.00e+00
1.00e+00h  1
  38  6.5205040e+00 4.17e-03 6.76e-06  -8.6 3.03e-01    -  9.99e-01
1.00e+00f  1
  39  6.5205036e+00 3.87e-04 4.71e-10  -8.6 6.00e-03    -  1.00e+00
1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
alpha_pr  ls
  40  6.5205037e+00 4.09e-05 7.35e-11  -8.6 2.94e-03    -  1.00e+00
1.00e+00h  1
  41  6.5205037e+00 1.80e-06 3.82e-12  -8.6 1.37e-03    -  1.00e+00
1.00e+00h  1
  42  6.5205037e+00 6.25e-13 2.58e-14  -8.6 5.19e-04    -  1.00e+00
1.00e+00h  1

Number of Iterations....: 42

                                   (scaled)                 (unscaled)
Objective...............:   6.5205036976368600e+00    6.5205036976368600e+00
Dual infeasibility......:   2.5757174171303632e-14    2.5757174171303632e-14
Constraint violation....:   6.2527760746888816e-13    6.2527760746888816e-13
Complementarity.........:   3.3600095527448848e-09    3.3600095527448848e-09
Overall NLP error.......:   3.3600095527448848e-09    3.3600095527448848e-09


Number of objective function evaluations             = 43
Number of objective gradient evaluations             = 43
Number of equality constraint evaluations            = 43
Number of inequality constraint evaluations          = 43
Number of equality constraint Jacobian evaluations   = 43
Number of inequality constraint Jacobian evaluations = 43
Number of Lagrangian Hessian evaluations             = 42
Total CPU secs in IPOPT (w/o function evaluations)   =    460.055
Total CPU secs in NLP function evaluations           =   1722.145
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20131001/1479438f/attachment.html>


More information about the Ipopt mailing list