Ipopt 3.12.10

- Main Page
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
IpCGPenaltyCq.hpp
Go to the documentation of this file.
1 // Copyright (C) 2007, 2008 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // $Id: IpCGPenaltyCq.hpp 1861 2010-12-21 21:34:47Z andreasw $
6 //
7 // Authors: Andreas Waechter IBM 2007-06-04
8 // derived from IpIpoptCalculatedQuantities.hpp
9
10 #ifndef __IPCGPENALTYCQ_HPP__
11 #define __IPCGPENALTYCQ_HPP__
12
13 #include "IpIpoptCalculatedQuantities.hpp"
14 #include "IpCGPenaltyData.hpp"
15
16 namespace Ipopt
17 {
18
22 class CGPenaltyCq : public IpoptAdditionalCq
23 {
24 public:
25
29 CGPenaltyCq(IpoptNLP* ip_nlp,
30 IpoptData* ip_data,
31 IpoptCalculatedQuantities* ip_cg);
32
34 virtual ~CGPenaltyCq();
36
40 bool Initialize(const Journalist& jnlst,
41 const OptionsList& options,
42 const std::string& prefix);
43
46
48 Number curr_jac_cd_norm(Index nrm_type);
50 Number curr_scaled_y_Amax();
52 Number curr_added_y_nrm2();
53
55 Number curr_penalty_function();
57 Number trial_penalty_function();
60 Number curr_direct_deriv_penalty_function();
63 Number curr_fast_direct_deriv_penalty_function();
64
66 Number dT_times_barH_times_d();
67
68
72 Number curr_cg_pert_fact();
73
75 Number compute_curr_cg_penalty(const Number );
76
78 Number compute_curr_cg_penalty_scale();
80
83 static void RegisterOptions(const SmartPtr<RegisteredOptions>& roptions);
85
86 private:
96 CGPenaltyCq();
97
99 CGPenaltyCq(const CGPenaltyCq&);
100
102 void operator=(const CGPenaltyCq&);
104
109 IpoptNLP* ip_nlp_;
110 IpoptData* ip_data_;
111 IpoptCalculatedQuantities* ip_cq_;
113
115 CGPenaltyData& CGPenData()
116 {
117 CGPenaltyData& cg_pen_data =
118 static_cast<CGPenaltyData&>(ip_data_->AdditionalData());
119 DBG_ASSERT(dynamic_cast<CGPenaltyData*>(&ip_data_->AdditionalData()));
120 return cg_pen_data;
121 }
122
125 CachedResults<Number> curr_fast_direct_deriv_penalty_function_cache_;
126 CachedResults<Number> curr_jac_cd_norm_cache_;
127 CachedResults<Number> curr_scaled_y_Amax_cache_;
128 CachedResults<Number> curr_added_y_nrm2_cache_;
130 CachedResults<Number> curr_penalty_function_cache_;
132 CachedResults<Number> trial_penalty_function_cache_;
135 CachedResults<Number> curr_direct_deriv_penalty_function_cache_;
137 CachedResults<Number> curr_cg_pert_fact_cache_;
139
142 Number reference_infeasibility_;
144
147 bool initialize_called_;
148 };
149
150 } // namespace Ipopt
151
152 #endif
Ipopt::CGPenaltyCq::curr_added_y_nrm2
Number curr_added_y_nrm2()
Compute the 2-norm of y plus delta y.
Ipopt::CGPenaltyCq::curr_jac_cd_norm
Number curr_jac_cd_norm(Index nrm_type)
Compute ||delta_c, delta_d||_infty.
Ipopt::IpoptCalculatedQuantities
Class for all IPOPT specific calculated quantities.
Definition: IpIpoptCalculatedQuantities.hpp:81
Ipopt::CGPenaltyCq::~CGPenaltyCq
virtual ~CGPenaltyCq()
Default destructor.
Ipopt::CGPenaltyCq::compute_curr_cg_penalty
Number compute_curr_cg_penalty(const Number)
Method for choose line search penalty parameter.
Ipopt::CGPenaltyCq::initialize_called_
bool initialize_called_
flag indicating if Initialize method has been called (for debugging)
Definition: IpCGPenaltyCq.hpp:147
Ipopt::CGPenaltyCq::curr_fast_direct_deriv_penalty_function
Number curr_fast_direct_deriv_penalty_function()
Method for the directional derivative of the penalty function at current point with current &quot;fast&quot; st...
IpIpoptCalculatedQuantities.hpp
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
IpCGPenaltyData.hpp
Ipopt::CGPenaltyCq::compute_curr_cg_penalty_scale
Number compute_curr_cg_penalty_scale()
Method for choose penalty parameters for scaling the KKT system.
Ipopt::CGPenaltyCq::CGPenData
CGPenaltyData & CGPenData()
Method to easily access CGPenalty data.
Definition: IpCGPenaltyCq.hpp:115
Ipopt::CGPenaltyCq::curr_scaled_y_Amax_cache_
CachedResults< Number > curr_scaled_y_Amax_cache_
Definition: IpCGPenaltyCq.hpp:127
Ipopt::CGPenaltyCq::curr_scaled_y_Amax
Number curr_scaled_y_Amax()
Compute gradient scaling based y-&gt;Amax.
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
Ipopt::OptionsList
This class stores a list of user set options.
Definition: IpOptionsList.hpp:32
Ipopt::CGPenaltyData
Class to organize all the additional data required by the Chen-Goldfarb penalty function algorithm...
Definition: IpCGPenaltyData.hpp:22
Ipopt::CGPenaltyCq::curr_cg_pert_fact_cache_
CachedResults< Number > curr_cg_pert_fact_cache_
Cache for Chen-Goldfarb perturbation factor.
Definition: IpCGPenaltyCq.hpp:137
Ipopt::CGPenaltyCq::curr_jac_cd_norm_cache_
CachedResults< Number > curr_jac_cd_norm_cache_
Definition: IpCGPenaltyCq.hpp:126
Ipopt::CachedResults< Number >
Ipopt::CGPenaltyCq::curr_fast_direct_deriv_penalty_function_cache_
CachedResults< Number > curr_fast_direct_deriv_penalty_function_cache_
Definition: IpCGPenaltyCq.hpp:125
Ipopt::CGPenaltyCq::reference_infeasibility_
Number reference_infeasibility_
Parameters for penalty method.
Definition: IpCGPenaltyCq.hpp:142
Ipopt::CGPenaltyCq
Class for all Chen-Goldfarb penalty method specific calculated quantities.
Definition: IpCGPenaltyCq.hpp:22
Ipopt::IpoptData::AdditionalData
IpoptAdditionalData & AdditionalData()
Get access to additional data object.
Definition: IpIpoptData.hpp:502
Ipopt::IpoptData
Class to organize all the data required by the algorithm.
Definition: IpIpoptData.hpp:83
Ipopt::Index
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:19
Ipopt::CGPenaltyCq::ip_data_
IpoptData * ip_data_
Definition: IpCGPenaltyCq.hpp:110
DBG_ASSERT
#define DBG_ASSERT(test)
Definition: IpDebug.hpp:38
Ipopt::CGPenaltyCq::curr_direct_deriv_penalty_function_cache_
CachedResults< Number > curr_direct_deriv_penalty_function_cache_
Cache for the directional derivative of the penalty function at current point with step in delta...
Definition: IpCGPenaltyCq.hpp:135
Ipopt::CGPenaltyCq::CGPenaltyCq
CGPenaltyCq()
Default Constructor.
Ipopt::CGPenaltyCq::operator=
void operator=(const CGPenaltyCq &)
Overloaded Equals Operator.
Ipopt::CGPenaltyCq::trial_penalty_function_cache_
CachedResults< Number > trial_penalty_function_cache_
Cache for the penalty function at trial point.
Definition: IpCGPenaltyCq.hpp:132
Ipopt::CGPenaltyCq::trial_penalty_function
Number trial_penalty_function()
Method for the penalty function at trial point.
Ipopt::Journalist
Class responsible for all message output.
Definition: IpJournalist.hpp:134
Ipopt::CGPenaltyCq::curr_cg_pert_fact
Number curr_cg_pert_fact()
Method for the current value for the perturbation factor for the Chen-Goldfarb method.
Ipopt::CGPenaltyCq::ip_cq_
IpoptCalculatedQuantities * ip_cq_
Definition: IpCGPenaltyCq.hpp:111
Ipopt::CGPenaltyCq::dT_times_barH_times_d
Number dT_times_barH_times_d()
Quality of d^T Aug(H) d.
Ipopt::CGPenaltyCq::RegisterOptions
static void RegisterOptions(const SmartPtr< RegisteredOptions > &roptions)
Methods for IpoptType.
Ipopt::CGPenaltyCq::curr_penalty_function_cache_
CachedResults< Number > curr_penalty_function_cache_
Cache for the penalty function at current point.
Definition: IpCGPenaltyCq.hpp:130
Ipopt::IpoptNLP
This is the abstract base class for classes that map the traditional NLP into something that is more ...
Definition: IpIpoptNLP.hpp:28
Ipopt::CGPenaltyCq::curr_penalty_function
Number curr_penalty_function()
Method for the penalty function at current point.
Ipopt::IpoptAdditionalCq
Base class for additional calculated quantities that is special to a particular type of algorithm...
Definition: IpIpoptCalculatedQuantities.hpp:40
Ipopt::CGPenaltyCq::ip_nlp_
IpoptNLP * ip_nlp_
Definition: IpCGPenaltyCq.hpp:109
Ipopt::CGPenaltyCq::Initialize
bool Initialize(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
This method must be called to initialize the global algorithmic parameters.
Ipopt::CGPenaltyCq::curr_direct_deriv_penalty_function
Number curr_direct_deriv_penalty_function()
Method for the directional derivative of the penalty function at current point with current step in d...
Ipopt::CGPenaltyCq::curr_added_y_nrm2_cache_
CachedResults< Number > curr_added_y_nrm2_cache_
Definition: IpCGPenaltyCq.hpp:128