Ipopt Documentation  
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// Authors: Andreas Waechter IBM 2007-06-04
6// derived from IpIpoptCalculatedQuantities.hpp
7
8#ifndef __IPCGPENALTYCQ_HPP__
9#define __IPCGPENALTYCQ_HPP__
10
12#include "IpCGPenaltyData.hpp"
13
14namespace Ipopt
15{
16
21{
22public:
23
26
28 IpoptNLP* ip_nlp,
29 IpoptData* ip_data,
31 );
32
34 virtual ~CGPenaltyCq();
36
43 const Journalist& jnlst,
44 const OptionsList& options,
45 const std::string& prefix
46 );
47
50
52 Index nrm_type
53 );
58
69
72
77
80 const Number
81 );
82
86
89 static void RegisterOptions(
90 const SmartPtr<RegisteredOptions>& roptions
91 );
93
94private:
105
107
110 const CGPenaltyCq&
111 );
112
115 const CGPenaltyCq&
116 );
118
127
130 {
131 CGPenaltyData& cg_pen_data = static_cast<CGPenaltyData&>(ip_data_->AdditionalData());
132 // cppcheck-suppress assertWithSideEffect
133 DBG_ASSERT(dynamic_cast<CGPenaltyData*>(&ip_data_->AdditionalData()));
134 return cg_pen_data;
135 }
136
153
158
162};
163
164} // namespace Ipopt
165
166#endif
#define DBG_ASSERT(test)
Definition: IpDebug.hpp:27
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 &)
Default Assignment 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:98
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:36
Class responsible for all message output.
This class stores a list of user set options.
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:165
This file contains a base class for all exceptions and a set of macros to help with exceptions.
ipindex Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:20
ipnumber Number
Type of all numbers.
Definition: IpTypes.hpp:17