Ipopt Documentation  
IpInexactData.hpp
Go to the documentation of this file.
1 // Copyright (C) 2008, 2009 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 2008-08-31
6 
7 #ifndef __IPINEXACTDATA_HPP__
8 #define __IPINEXACTDATA_HPP__
9 
10 #include "IpIpoptData.hpp"
11 
12 namespace Ipopt
13 {
14 
19 {
20 public:
22 
24  InexactData();
25 
27  ~InexactData();
29 
31 
37  bool Initialize(
38  const Journalist& jnlst,
39  const OptionsList& options,
40  const std::string& prefix
41  );
42 
45 
52  void AcceptTrialPoint();
54 
56  void set_normal_x(
59  )
60  {
62  normal_x = NULL;
63  }
64 
67  )
68  {
70  normal_s = NULL;
71  }
72 
74  {
75  return normal_x_;
76  }
77 
79  {
80  return normal_s_;
81  }
83 
85  void set_tangential_x(
88  )
89  {
91  tangential_x = NULL;
92  }
93 
96  )
97  {
99  tangential_s = NULL;
100  }
101 
103  {
104  return tangential_x_;
105  }
106 
108  {
109  return tangential_s_;
110  }
112 
120  bool full_step_accepted
121  )
122  {
124  }
125 
127  {
128  return full_step_accepted_;
129  }
131 
133  void set_curr_nu(
135  Number nu
136  )
137  {
138  curr_nu_ = nu;
139  }
140 
142  {
143  return curr_nu_;
144  }
146 
148  void set_compute_normal(
150  bool compute_normal
151  )
152  {
154  }
155 
157  {
158  return compute_normal_;
159  }
161 
166  )
167  {
169  }
170 
172  {
173  return next_compute_normal_;
174  }
176 
177 private:
187 
189  InexactData(
190  const InexactData&
191  );
192 
194  void operator=(
195  const InexactData&
196  );
198 
204 
210 
213 
216 
219 
222 };
223 
224 } // namespace Ipopt
225 
226 #endif
SmartPtr< const Vector > tangential_s_
bool next_compute_normal_
next iteration normal step computation flag
void set_curr_nu(Number nu)
SmartPtr< const Vector > tangential_x()
SmartPtr< const Vector > normal_s()
SmartPtr< const Vector > tangential_s()
bool InitializeDataStructures()
Initialize Data Structures at the beginning.
Number curr_nu_
current value of penalty parameter
void set_normal_s(SmartPtr< Vector > &normal_s)
void operator=(const InexactData &)
Overloaded Assignment Operator.
bool full_step_accepted_
Flag indicating if most recent step has been fully accepted.
SmartPtr< const Vector > normal_x()
void set_full_step_accepted(bool full_step_accepted)
void set_tangential_s(SmartPtr< const Vector > &tangential_s)
This file contains a base class for all exceptions and a set of macros to help with exceptions...
void set_next_compute_normal(bool next_compute_normal)
SmartPtr< const Vector > tangential_x_
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:164
This class stores a list of user set options.
SmartPtr< const Vector > normal_x_
SmartPtr< const Vector > normal_s_
void set_compute_normal(bool compute_normal)
InexactData()
Constructor.
ipnumber Number
Type of all numbers.
Definition: IpTypes.hpp:17
void set_tangential_x(SmartPtr< const Vector > &tangential_x)
bool Initialize(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
This method must be called to initialize the global algorithmic parameters.
Class to organize all the additional data required by the Chen-Goldfarb penalty function algorithm...
SmartPtr< const U > ConstPtr(const SmartPtr< U > &smart_ptr)
Definition: IpSmartPtr.hpp:663
Class responsible for all message output.
bool compute_normal_
current normal step computation flag
~InexactData()
Destructor.
void set_normal_x(SmartPtr< Vector > &normal_x)
Base class for additional data that is special to a particular type of algorithm, such as the CG pena...
Definition: IpIpoptData.hpp:29
void AcceptTrialPoint()
Do whatever is necessary to accept a trial point as current iterate.