Ipopt Documentation  
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 // Authors: Carl Laird, Andreas Waechter IBM 2005-08-15
6 
7 #ifndef __IPSOLVESTATISTICS_HPP__
8 #define __IPSOLVESTATISTICS_HPP__
9 
10 #include "IpReferenced.hpp"
11 #include "IpSmartPtr.hpp"
12 #include "IpUtils.hpp"
13 
14 namespace Ipopt
15 {
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:
32 
40  const SmartPtr<IpoptNLP>& ip_nlp,
41  const SmartPtr<IpoptData>& ip_data,
43  );
44 
46  virtual ~SolveStatistics()
47  { }
49 
52 
53  virtual Index IterationCount() const;
54 
56  virtual Number TotalCpuTime() const;
57 
64  {
65  return TotalCpuTime();
66  }
67 
69  virtual Number TotalSysTime() const;
70 
72  virtual Number TotalWallclockTime() const;
73 
75  virtual void NumberOfEvaluations(
76  Index& num_obj_evals,
77  Index& num_constr_evals,
78  Index& num_obj_grad_evals,
79  Index& num_constr_jac_evals,
80  Index& num_hess_evals
81  ) const;
82 
88  virtual void Infeasibilities(
89  Number& dual_inf,
90  Number& constr_viol,
91  Number& complementarity,
92  Number& kkt_error
93  ) const;
94 
96  virtual void Infeasibilities(
97  Number& dual_inf,
98  Number& constr_viol,
99  Number& varbounds_viol,
100  Number& complementarity,
101  Number& kkt_error
102  ) const;
103 
109  virtual void ScaledInfeasibilities(
110  Number& scaled_dual_inf,
111  Number& scaled_constr_viol,
112  Number& scaled_complementarity,
113  Number& scaled_kkt_error
114  ) const;
115 
120  virtual void ScaledInfeasibilities(
121  Number& scaled_dual_inf,
122  Number& scaled_constr_viol,
123  Number& scaled_varbounds_viol,
124  Number& scaled_complementarity,
125  Number& scaled_kkt_error
126  ) const;
127 
129  virtual Number FinalObjective() const;
130 
132  virtual Number FinalScaledObjective() const;
134 
135 private:
146 
148 
151  const SolveStatistics&
152  );
153 
155  void operator=(
156  const SolveStatistics&
157  );
159 
162 
164  /* Total CPU time */
166  /* Total system time */
168  /* Total wall clock time */
180 
206 };
207 
208 } // namespace Ipopt
209 
210 #endif
#define IPOPT_DEPRECATED
macro to declare symbols as deprecated
Definition: IpTypes.h:25
Storing the reference count of all the smart pointers that currently reference it.
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:165
This class collects statistics about an optimization run, such as iteration count,...
Index num_constr_evals_
Number of constraints evaluations (max of equality and inequality)
Number scaled_kkt_error_
Final overall scaled KKT error (max-norm)
Number scaled_obj_val_
Final scaled value of objective function.
Number obj_val_
Final unscaled value of objective function.
SolveStatistics()
Default Constructor.
Number scaled_constr_viol_
Final scaled constraint violation (max-norm)
Number kkt_error_
Final overall unscaled KKT error (max-norm)
SolveStatistics(const SmartPtr< IpoptNLP > &ip_nlp, const SmartPtr< IpoptData > &ip_data, const SmartPtr< IpoptCalculatedQuantities > &ip_cq)
Default constructor.
Number constr_viol_
Final unscaled constraint violation (max-norm)
Number scaled_dual_inf_
Final scaled dual infeasibility (max-norm)
Number dual_inf_
Final unscaled dual infeasibility (max-norm)
virtual IPOPT_DEPRECATED void ScaledInfeasibilities(Number &scaled_dual_inf, Number &scaled_constr_viol, Number &scaled_complementarity, Number &scaled_kkt_error) const
Scaled solution infeasibilities.
virtual Number FinalScaledObjective() const
Final scaled value of objective function.
void operator=(const SolveStatistics &)
Default Assignment Operator.
Index num_constr_jac_evals_
Number of constraint Jacobian evaluations.
Number scaled_compl_
Final scaled complementarity error (max-norm)
IPOPT_DEPRECATED Number TotalCPUTime() const
Total CPU time, including function evaluations.
virtual Number TotalSysTime() const
Total System time, including function evaluations.
virtual void Infeasibilities(Number &dual_inf, Number &constr_viol, Number &varbounds_viol, Number &complementarity, Number &kkt_error) const
Unscaled solution infeasibilities.
Number scaled_bound_viol_
Final scaled variable bound violation (max-norm)
virtual Number TotalCpuTime() const
Total CPU time, including function evaluations.
Number compl_
Final unscaled complementarity error (max-norm)
Number bound_viol_
Final unscaled variable bound violation (max-norm)
virtual Number TotalWallclockTime() const
Total wall clock time, including function evaluations.
virtual IPOPT_DEPRECATED void Infeasibilities(Number &dual_inf, Number &constr_viol, Number &complementarity, Number &kkt_error) const
Unscaled solution infeasibilities.
virtual void NumberOfEvaluations(Index &num_obj_evals, Index &num_constr_evals, Index &num_obj_grad_evals, Index &num_constr_jac_evals, Index &num_hess_evals) const
Number of NLP function evaluations.
Index num_obj_evals_
Number of objective function evaluations.
Index num_iters_
Number of iterations.
virtual Number FinalObjective() const
Final value of objective function.
Index num_hess_evals_
Number of Lagrangian Hessian evaluations.
virtual ~SolveStatistics()
Default destructor.
virtual void ScaledInfeasibilities(Number &scaled_dual_inf, Number &scaled_constr_viol, Number &scaled_varbounds_viol, Number &scaled_complementarity, Number &scaled_kkt_error) const
Scaled solution infeasibilities.
Index num_obj_grad_evals_
Number of objective gradient evaluations.
SolveStatistics(const SolveStatistics &)
Copy Constructor.
virtual Index IterationCount() const
Iteration counts.
#define IPOPTLIB_EXPORT
Definition: config.h:94
This file contains a base class for all exceptions and a set of macros to help with exceptions.
ipindex Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:20
ipnumber Number
Type of all numbers.
Definition: IpTypes.hpp:17