Ipopt 3.11.9
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// $Id: IpInexactCq.hpp 1861 2010-12-21 21:34:47Z andreasw $
6//
7// Authors: Andreas Waechter IBM 2008-08-31
8// derived from IpIpoptCalculatedQuantities.hpp
9
10#ifndef __IPINEXACTCQ_HPP__
11#define __IPINEXACTCQ_HPP__
12
14#include "IpInexactData.hpp"
15
16namespace Ipopt
17{
18
23 {
24 public:
25
30 IpoptData* ip_data,
32
34 virtual ~InexactCq();
36
40 bool Initialize(const Journalist& jnlst,
41 const OptionsList& options,
42 const std::string& prefix);
43
46 static void RegisterOptions(const SmartPtr<RegisteredOptions>& roptions);
48
54
57
60
63
66
70
74
78
82
86
90
94
98
99 private:
110
113
115 void operator=(const InexactCq&);
117
126
129 {
130 InexactData& inexact_data =
131 static_cast<InexactData&>(ip_data_->AdditionalData());
132 DBG_ASSERT(dynamic_cast<InexactData*>(&ip_data_->AdditionalData()));
133 return inexact_data;
134 }
135
151
154 };
155
156} // namespace Ipopt
157
158#endif
#define DBG_ASSERT(test)
Definition IpDebug.hpp:38
Number * x
Input: Starting point Output: Optimal solution.
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 Equals 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)
Methods for IpoptType.
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()
Default 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
double Number
Type of all numbers.
Definition IpTypes.hpp:17