[Ipopt] Questions about IPOPT Timing Statistics
Stefan Vigerske
stefan at math.hu-berlin.de
Tue Jul 23 09:18:48 EDT 2013
Hi,
On 07/19/2013 10:19 PM, Riadh Omheni wrote:
> 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,
Please keep in mind, that Ipopt is made for large scale optimization
problems. Problems that solve in less than a second were not the main
target when Ipopt had been implemented.
> 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" ?
I am not aware of any documentation on this.
To see what PDSystemSolverSolveOnce is doing, look for
PDSystemSolverSolveOnce in IpPDFullSpaceSolver.cpp.
To see what StdAugSystemSolverMultiSolve is doing, look into
IpStdAugSystemSolver.cpp.
> 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 ?
Your problem was solved within 1 or 2 iterations. In such a case,
initialization can be dominating, I believe. It has to setup a number of
data structures, I guess.
Stefan
>
>
> ** 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
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>
More information about the Ipopt
mailing list