Ipopt Documentation  
IpTimingStatistics.hpp
Go to the documentation of this file.
1 // Copyright (C) 2005, 2008 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // Authors: Andreas Waechter IBM 2005-09-19
6 
7 #ifndef __IPTIMINGSTATISTICS_HPP__
8 #define __IPTIMINGSTATISTICS_HPP__
9 
10 #include "IpReferenced.hpp"
11 #include "IpJournalist.hpp"
12 #include "IpTimedTask.hpp"
13 
14 namespace Ipopt
15 {
19 {
20 public:
22 
25  { }
26 
29  { }
31 
33  void ResetTimes();
34 
36  void PrintAllTimingStatistics(
37  Journalist& jnlst,
38  EJournalLevel level,
39  EJournalCategory category
40  ) const;
41 
43  TimedTask& OverallAlgorithm()
45  {
46  return OverallAlgorithm_;
47  }
48 
50  {
51  return PrintProblemStatistics_;
52  }
53 
55  {
56  return InitializeIterates_;
57  }
58 
60  {
61  return UpdateHessian_;
62  }
63 
65  {
66  return OutputIteration_;
67  }
68 
70  {
71  return UpdateBarrierParameter_;
72  }
73 
75  {
76  return ComputeSearchDirection_;
77  }
78 
80  {
81  return ComputeAcceptableTrialPoint_;
82  }
83 
85  {
86  return AcceptTrialPoint_;
87  }
88 
90  {
91  return CheckConvergence_;
92  }
93 
95  {
96  return PDSystemSolverTotal_;
97  }
98 
100  {
101  return PDSystemSolverSolveOnce_;
102  }
103 
105  {
106  return ComputeResiduals_;
107  }
108 
110  {
111  return StdAugSystemSolverMultiSolve_;
112  }
113 
115  {
116  return LinearSystemScaling_;
117  }
118 
120  {
121  return LinearSystemSymbolicFactorization_;
122  }
123 
125  {
126  return LinearSystemFactorization_;
127  }
128 
130  {
131  return LinearSystemBackSolve_;
132  }
133 
135  {
136  return LinearSystemStructureConverter_;
137  }
138 
140  {
141  return LinearSystemStructureConverterInit_;
142  }
143 
145  {
146  return QualityFunctionSearch_;
147  }
148 
150  {
151  return TryCorrector_;
152  }
153 
155  {
156  return Task1_;
157  }
158 
160  {
161  return Task2_;
162  }
163 
165  {
166  return Task3_;
167  }
168 
170  {
171  return Task4_;
172  }
173 
175  {
176  return Task5_;
177  }
178 
180  {
181  return Task6_;
182  }
184 
185 private:
195 
198  const TimingStatistics&
199  );
200 
202  void operator=(
203  const TimingStatistics&
204  );
206 
208  TimedTask OverallAlgorithm_;
219 
232 
240 };
241 
242 } // namespace Ipopt
243 
244 #endif
TimedTask & LinearSystemSymbolicFactorization()
This class is used to collect timing information for a particular task.
Definition: IpTimedTask.hpp:16
TimedTask & ComputeSearchDirection()
TimedTask & PDSystemSolverSolveOnce()
TimedTask & ComputeAcceptableTrialPoint()
EJournalLevel
Print Level Enum.
This file contains a base class for all exceptions and a set of macros to help with exceptions...
TimedTask & LinearSystemStructureConverter()
This class collects all timing statistics for Ipopt.
Storing the reference count of all the smart pointers that currently reference it.
TimedTask & StdAugSystemSolverMultiSolve()
TimedTask & LinearSystemStructureConverterInit()
TimedTask & PrintProblemStatistics()
#define IPOPTLIB_EXPORT
Class responsible for all message output.
TimingStatistics()
Default constructor.
TimedTask & UpdateBarrierParameter()
TimedTask & LinearSystemFactorization()
EJournalCategory
Category Selection Enum.
virtual ~TimingStatistics()
Destructor.