Ipopt  3.12.12
 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 
14 #include "IpCGPenaltyData.hpp"
15 
16 namespace Ipopt
17 {
18 
23  {
24  public:
25 
29  CGPenaltyCq(IpoptNLP* ip_nlp,
30  IpoptData* ip_data,
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);
53 
64 
67 
68 
73 
76 
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 
113 
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 
139 
144 
148  };
149 
150 } // namespace Ipopt
151 
152 #endif
Number curr_added_y_nrm2()
Compute the 2-norm of y plus delta y.
Number curr_jac_cd_norm(Index nrm_type)
Compute ||delta_c, delta_d||_infty.
Class for all IPOPT specific calculated quantities.
virtual ~CGPenaltyCq()
Default destructor.
Number compute_curr_cg_penalty(const Number)
Method for choose line search penalty parameter.
bool initialize_called_
flag indicating if Initialize method has been called (for debugging)
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...
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
Number compute_curr_cg_penalty_scale()
Method for choose penalty parameters for scaling the KKT system.
CGPenaltyData & CGPenData()
Method to easily access CGPenalty data.
CachedResults< Number > curr_scaled_y_Amax_cache_
Number curr_scaled_y_Amax()
Compute gradient scaling based y-&gt;Amax.
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
This class stores a list of user set options.
Class to organize all the additional data required by the Chen-Goldfarb penalty function algorithm...
CachedResults< Number > curr_cg_pert_fact_cache_
Cache for Chen-Goldfarb perturbation factor.
CachedResults< Number > curr_jac_cd_norm_cache_
CachedResults< Number > curr_fast_direct_deriv_penalty_function_cache_
Number reference_infeasibility_
Parameters for penalty method.
Class for all Chen-Goldfarb penalty method specific calculated quantities.
IpoptAdditionalData & AdditionalData()
Get access to additional data object.
Class to organize all the data required by the algorithm.
Definition: IpIpoptData.hpp:83
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:19
#define DBG_ASSERT(test)
Definition: IpDebug.hpp:38
CachedResults< Number > curr_direct_deriv_penalty_function_cache_
Cache for the directional derivative of the penalty function at current point with step in delta...
CGPenaltyCq()
Default Constructor.
void operator=(const CGPenaltyCq &)
Overloaded Equals Operator.
CachedResults< Number > trial_penalty_function_cache_
Cache for the penalty function at trial point.
Number trial_penalty_function()
Method for the penalty function at trial point.
Class responsible for all message output.
Number curr_cg_pert_fact()
Method for the current value for the perturbation factor for the Chen-Goldfarb method.
IpoptCalculatedQuantities * ip_cq_
Number dT_times_barH_times_d()
Quality of d^T Aug(H) d.
static void RegisterOptions(const SmartPtr< RegisteredOptions > &roptions)
Methods for IpoptType.
CachedResults< Number > curr_penalty_function_cache_
Cache for the penalty function at current point.
This is the abstract base class for classes that map the traditional NLP into something that is more ...
Definition: IpIpoptNLP.hpp:28
Number curr_penalty_function()
Method for the penalty function at current point.
Base class for additional calculated quantities that is special to a particular type of algorithm...
bool Initialize(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
This method must be called to initialize the global algorithmic parameters.
Number curr_direct_deriv_penalty_function()
Method for the directional derivative of the penalty function at current point with current step in d...
CachedResults< Number > curr_added_y_nrm2_cache_