Ipopt 3.11.9
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
16namespace Ipopt
17{
18
23 {
24 public:
25
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
53
64
67
68
73
76
80
83 static void RegisterOptions(const SmartPtr<RegisteredOptions>& roptions);
85
86 private:
97
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
#define DBG_ASSERT(test)
Definition: IpDebug.hpp:38
Class for all Chen-Goldfarb penalty method specific calculated quantities.
Number reference_infeasibility_
Parameters for penalty method.
CachedResults< Number > curr_fast_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.
CGPenaltyCq(IpoptNLP *ip_nlp, IpoptData *ip_data, IpoptCalculatedQuantities *ip_cg)
Constructor.
Number curr_penalty_function()
Method for the penalty function at current point.
IpoptCalculatedQuantities * ip_cq_
Number curr_jac_cd_norm(Index nrm_type)
Compute ||delta_c, delta_d||_infty.
CGPenaltyData & CGPenData()
Method to easily access CGPenalty data.
CachedResults< Number > curr_scaled_y_Amax_cache_
virtual ~CGPenaltyCq()
Default destructor.
static void RegisterOptions(const SmartPtr< RegisteredOptions > &roptions)
Methods for IpoptType.
CachedResults< Number > curr_jac_cd_norm_cache_
CachedResults< Number > curr_added_y_nrm2_cache_
Number curr_fast_direct_deriv_penalty_function()
Method for the directional derivative of the penalty function at current point with current "fast" st...
Number compute_curr_cg_penalty(const Number)
Method for choose line search penalty parameter.
Number trial_penalty_function()
Method for the penalty function at trial point.
CachedResults< Number > trial_penalty_function_cache_
Cache for the penalty function at trial point.
CachedResults< Number > curr_cg_pert_fact_cache_
Cache for Chen-Goldfarb perturbation factor.
CGPenaltyCq()
Default Constructor.
Number compute_curr_cg_penalty_scale()
Method for choose penalty parameters for scaling the KKT system
Number dT_times_barH_times_d()
Quality of d^T Aug(H) d.
CGPenaltyCq(const CGPenaltyCq &)
Copy Constructor.
Number curr_cg_pert_fact()
Method for the current value for the perturbation factor for the Chen-Goldfarb method.
Number curr_added_y_nrm2()
Compute the 2-norm of y plus delta y.
Number curr_scaled_y_Amax()
Compute gradient scaling based y->Amax.
bool initialize_called_
flag indicating if Initialize method has been called (for debugging)
CachedResults< Number > curr_penalty_function_cache_
Cache for the penalty function at current point.
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...
void operator=(const CGPenaltyCq &)
Overloaded Equals Operator.
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:84
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:29
Class responsible for all message output.
This class stores a list of user set options.
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:183
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:19
double Number
Type of all numbers.
Definition: IpTypes.hpp:17