Ipopt  3.11.8
 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