Ipopt Documentation  
 
Loading...
Searching...
No Matches
IpInexactCq.hpp
Go to the documentation of this file.
1// Copyright (C) 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 2008-08-31
6// derived from IpIpoptCalculatedQuantities.hpp
7
8#ifndef __IPINEXACTCQ_HPP__
9#define __IPINEXACTCQ_HPP__
10
12#include "IpInexactData.hpp"
13
14namespace Ipopt
15{
16
21{
22public:
23
26
28 IpoptNLP* ip_nlp,
29 IpoptData* ip_data,
31 );
32
34 virtual ~InexactCq();
36
43 const Journalist& jnlst,
44 const OptionsList& options,
45 const std::string& prefix
46 );
47
48 static void RegisterOptions(
49 const SmartPtr<RegisteredOptions>& roptions
50 );
51
60
63
66
69
72
77 const Vector& x,
78 const Vector& s
79 );
80
85 const Vector& vec_x
86 );
87
92 const Vector& vec_s
93 );
94
99
104
110
116
122
123private:
134
136
139 const InexactCq&);
140
143 const InexactCq&);
145
156
159 {
160 InexactData& inexact_data = static_cast<InexactData&>(ip_data_->AdditionalData());
161 // cppcheck-suppress assertWithSideEffect
162 DBG_ASSERT(dynamic_cast<InexactData*>(&ip_data_->AdditionalData()));
163 return inexact_data;
164 }
165
181
184};
185
186} // namespace Ipopt
187
188#endif
#define DBG_ASSERT(test)
Definition: IpDebug.hpp:27
Templated class for Cached Results.
Class for all Chen-Goldfarb penalty method specific calculated quantities.
Definition: IpInexactCq.hpp:21
CachedResults< Number > curr_scaled_Ac_norm_cache_
InexactData & InexData()
Method to easily access Inexact data.
SmartPtr< const Vector > curr_jac_cdT_times_curr_cdminuss()
Gradient of infeasibility w.r.t.
CachedResults< SmartPtr< const Vector > > curr_jac_times_normal_d_cache_
InexactCq(IpoptNLP *ip_nlp, IpoptData *ip_data, IpoptCalculatedQuantities *ip_cq)
Constructor.
IpoptNLP * ip_nlp_
CachedResults< SmartPtr< const Vector > > curr_W_times_vec_s_cache_
Number slack_scale_max_
Upper bound on slack-based scaling factors.
Number slack_scaled_norm(const Vector &x, const Vector &s)
Compute the 2-norm of a slack-scaled vector with x and s component.
CachedResults< Number > curr_uWu_cache_
SmartPtr< const Vector > curr_jac_times_normal_d()
Compute the d-component of the product of the current constraint Jacobian with the current normal ste...
Number curr_scaled_A_norm2()
Scaled, squared norm of A.
CachedResults< SmartPtr< const Vector > > curr_Wu_s_cache_
SmartPtr< const Vector > curr_slack_scaled_d_minus_s()
Vector with the slack-scaled d minus s inequalities.
InexactCq(const InexactCq &)
Copy Constructor.
CachedResults< SmartPtr< const Vector > > curr_jac_cdT_times_curr_cdminuss_cache_
SmartPtr< const Vector > curr_Wu_s()
Compute s component of the W*u product for the current values.
void operator=(const InexactCq &)
Overloaded Assignment Operator.
IpoptCalculatedQuantities * ip_cq_
SmartPtr< const Vector > curr_Wu_x()
Compute x component of the W*u product for the current values.
static void RegisterOptions(const SmartPtr< RegisteredOptions > &roptions)
CachedResults< SmartPtr< const Vector > > curr_Wu_x_cache_
CachedResults< SmartPtr< const Vector > > curr_jac_times_normal_c_cache_
SmartPtr< const Vector > curr_jac_times_normal_c()
Compute the c-component of the product of the current constraint Jacobian with the current normal ste...
CachedResults< SmartPtr< const Vector > > curr_slack_scaled_d_minus_s_cache_
Number curr_scaled_Ac_norm()
Scaled norm of Ac.
SmartPtr< const Vector > curr_scaling_slacks()
Vector of all inequality slacks for doing the slack-based scaling.
virtual ~InexactCq()
Destructor.
IpoptData * ip_data_
CachedResults< SmartPtr< const Vector > > curr_W_times_vec_x_cache_
bool Initialize(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
This method must be called to initialize the global algorithmic parameters.
CachedResults< SmartPtr< const Vector > > curr_scaling_slacks_cache_
InexactCq()
Default Constructor.
SmartPtr< const Vector > curr_W_times_vec_s(const Vector &vec_s)
Compute s component of the W*vec product for the current Hessian and a vector.
CachedResults< Number > slack_scaled_norm_cache_
Number curr_uWu()
Compute the u^T*W*u product for the current values.
SmartPtr< const Vector > curr_W_times_vec_x(const Vector &vec_x)
Compute x component of the W*vec product for the current Hessian and a vector.
Class to organize all the additional data required by the Chen-Goldfarb penalty function algorithm.
Base class for additional calculated quantities that is special to a particular type of algorithm,...
Class for all IPOPT specific calculated quantities.
Class to organize all the data required by the algorithm.
Definition: IpIpoptData.hpp:98
IpoptAdditionalData & AdditionalData()
Get access to additional data object.
This is the abstract base class for classes that map the traditional NLP into something that is more ...
Definition: IpIpoptNLP.hpp:36
Class responsible for all message output.
This class stores a list of user set options.
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:165
Vector Base Class.
Definition: IpVector.hpp:48
This file contains a base class for all exceptions and a set of macros to help with exceptions.
ipnumber Number
Type of all numbers.
Definition: IpTypes.hpp:17