Ipopt  3.11.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
IpSolveStatistics.hpp
Go to the documentation of this file.
1 // Copyright (C) 2005, 2009 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // $Id: IpSolveStatistics.hpp 1861 2010-12-21 21:34:47Z andreasw $
6 //
7 // Authors: Carl Laird, Andreas Waechter IBM 2005-08-15
8 
9 #ifndef __IPSOLVESTATISTICS_HPP__
10 #define __IPSOLVESTATISTICS_HPP__
11 
12 #include "IpReferenced.hpp"
13 #include "IpSmartPtr.hpp"
14 
15 namespace Ipopt
16 {
17  // forward declaration (to avoid inclusion of too many header files)
18  class IpoptNLP;
19  class IpoptData;
20  class IpoptCalculatedQuantities;
21 
28  {
29  public:
36  SolveStatistics(const SmartPtr<IpoptNLP>& ip_nlp,
37  const SmartPtr<IpoptData>& ip_data,
39 
41  virtual ~SolveStatistics()
42  {}
44 
49  virtual Index IterationCount() const;
51  virtual Number TotalCpuTime() const;
55  {
56  return TotalCpuTime();
57  }
59  virtual Number TotalSysTime() const;
61  virtual Number TotalWallclockTime() const;
63  virtual void NumberOfEvaluations(Index& num_obj_evals,
64  Index& num_constr_evals,
65  Index& num_obj_grad_evals,
66  Index& num_constr_jac_evals,
67  Index& num_hess_evals) const;
69  virtual void Infeasibilities(Number& dual_inf,
70  Number& constr_viol,
71  Number& complementarity,
72  Number& kkt_error) const;
74  virtual void ScaledInfeasibilities(Number& scaled_dual_inf,
75  Number& scaled_constr_viol,
76  Number& scaled_complementarity,
77  Number& scaled_kkt_error) const;
79  virtual Number FinalObjective() const;
81  virtual Number FinalScaledObjective() const;
83 
84  private:
95 
98 
100  void operator=(const SolveStatistics&);
102 
107  /* Total CPU time */
109  /* Total system time */
111  /* Total wall clock time */
124 
146  };
147 
148 } // namespace Ipopt
149 
150 #endif