[Ipopt] Questions about IPOPT Timing Statistics

Riadh Omheni riadh.omheni at unilim.fr
Fri Jul 19 16:19:54 EDT 2013


Hi,

We are implementing a primal dual method (in C) for solving nonlinear 
optimization problem and we have compared it to IPOPT on some equality 
constrained problems. Both methods were run using MA57. We remark that 
IPOPT takes more time than our code, especially for problems that are 
quickly solved, say less than 1 sec, for which IPOPT and our method 
succeed to find an optimal solution after similar numbers of function 
and gradient evaluations. In order to find the source of this surprising 
difference, we print the IPOPT timing statistics by setting the option 
print_timing_statistics to yes. These outputs are not very clear 
especially the statistics concerning the solution of the linear system.
We would like to know if there is some documentation decribing these 
output (see output below) ? In particular, what is the difference 
between "PDSystemSolverSolveOnce" and "StdAugSystemSolverMultiSolve" ?
My second question concerns the member "InitializeIterates" in the 
Timing Statistics. Why this initialization step take more than 50% of 
overall time needed to solve the problem ?


** IPOPT statistics for the problem aug2d **

Number of objective function evaluations             = 2
Number of objective gradient evaluations             = 2
Number of equality constraint evaluations            = 2
Number of inequality constraint evaluations          = 0
Number of equality constraint Jacobian evaluations   = 2
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations             = 1
Total CPU secs in IPOPT (w/o function evaluations)   =     0.3217
Total CPU secs in NLP function evaluations           =     0.0125

Timing Statistics:

OverallAlgorithm....................:      0.334 (sys:      0.007 
wall:      0.344)
  PrintProblemStatistics.............:      0.002 (sys:      0.000 
wall:      0.002)
  InitializeIterates.................:      0.176 (sys:      0.006 
wall:      0.185)
  UpdateHessian......................:      0.001 (sys:      0.000 
wall:      0.002)
  OutputIteration....................:      0.000 (sys:      0.000 
wall:      0.000)
  UpdateBarrierParameter.............:      0.000 (sys:      0.000 
wall:      0.000)
  ComputeSearchDirection.............:      0.142 (sys:      0.001 
wall:      0.143)
  ComputeAcceptableTrialPoint........:      0.004 (sys:      0.000 
wall:      0.004)
  AcceptTrialPoint...................:      0.000 (sys:      0.000 
wall:      0.000)
  CheckConvergence...................:      0.008 (sys:      0.000 
wall:      0.008)
PDSystemSolverTotal.................:      0.142 (sys:      0.001 
wall:      0.142)
  PDSystemSolverSolveOnce............:      0.137 (sys:      0.001 
wall:      0.138)
  ComputeResiduals...................:      0.003 (sys:      0.000 
wall:      0.004)
  StdAugSystemSolverMultiSolve.......:      0.299 (sys:      0.004 
wall:      0.305)
  LinearSystemScaling................:      0.000 (sys:      0.000 
wall:      0.000)
  LinearSystemSymbolicFactorization..:      0.032 (sys:      0.001 
wall:      0.034)
  LinearSystemFactorization..........:      0.246 (sys:      0.002 
wall:      0.249)
  LinearSystemBackSolve..............:      0.019 (sys:      0.000 
wall:      0.019)
  LinearSystemStructureConverter.....:      0.000 (sys:      0.000 
wall:      0.000)
   LinearSystemStructureConverterInit:      0.000 (sys:      0.000 
wall:      0.000)
QualityFunctionSearch...............:      0.000 (sys:      0.000 
wall:      0.000)
TryCorrector........................:      0.000 (sys:      0.000 
wall:      0.000)
Task1...............................:      0.000 (sys:      0.000 
wall:      0.000)
Task2...............................:      0.000 (sys:      0.000 
wall:      0.000)
Task3...............................:      0.000 (sys:      0.000 
wall:      0.000)
Task4...............................:      0.000 (sys:      0.000 
wall:      0.000)
Task5...............................:      0.000 (sys:      0.000 
wall:      0.000)
Function Evaluations................:      0.013 (sys:      0.001 
wall:      0.013)
  Objective function.................:      0.002 (sys:      0.000 
wall:      0.002)
  Objective function gradient........:      0.004 (sys:      0.000 
wall:      0.004)
  Equality constraints...............:      0.002 (sys:      0.000 
wall:      0.002)
  Inequality constraints.............:      0.000 (sys:      0.000 
wall:      0.000)
  Equality constraint Jacobian.......:      0.003 (sys:      0.000 
wall:      0.003)
  Inequality constraint Jacobian.....:      0.000 (sys:      0.000 
wall:      0.000)
  Lagrangian Hessian.................:      0.001 (sys:      0.000 
wall:      0.001)

EXIT: Optimal Solution Found.

Ipopt 3.10.1: Optimal Solution Found

I am grateful for any help.

Best regards,
Riadh Omheni


More information about the Ipopt mailing list