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
14namespace Ipopt
15{
16
17// forward declaration (to avoid inclusion of too many header files)
18class IpoptNLP;
19class IpoptData;
20class IpoptCalculatedQuantities;
21
28{
29public:
32
40 const SmartPtr<IpoptNLP>& ip_nlp,
41 const SmartPtr<IpoptData>& ip_data,
43 );
44
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
110 Number& scaled_dual_inf,
111 Number& scaled_constr_viol,
112 Number& scaled_complementarity,
113 Number& scaled_kkt_error
114 ) const;
115
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
134
135private:
146
148
151 const SolveStatistics&
152 );
153
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