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.
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.
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.
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 ...
Class responsible for all message output.
This class stores a list of user set options.
Template class for Smart Pointers.
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