Ipopt 3.12.10

- Main Page
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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 // $Id: IpInexactData.hpp 1861 2010-12-21 21:34:47Z andreasw $
6 //
7 // Authors: Andreas Waechter IBM 2008-08-31
8
9 #ifndef __IPINEXACTDATA_HPP__
10 #define __IPINEXACTDATA_HPP__
11
12 #include "IpIpoptData.hpp"
13
14 namespace Ipopt
15 {
16
19 class InexactData : public IpoptAdditionalData
20 {
21 public:
25 InexactData();
26
28 ~InexactData();
30
36 bool Initialize(const Journalist& jnlst,
37 const OptionsList& options,
38 const std::string& prefix);
39
41 bool InitializeDataStructures();
42
46 void AcceptTrialPoint();
48
51 void set_normal_x(SmartPtr<Vector>& normal_x)
52 {
53 normal_x_ = ConstPtr(normal_x);
54 normal_x = NULL;
55 }
56 void set_normal_s(SmartPtr<Vector>& normal_s)
57 {
58 normal_s_ = ConstPtr(normal_s);
59 normal_s = NULL;
60 }
61 SmartPtr<const Vector> normal_x()
62 {
63 return normal_x_;
64 }
65 SmartPtr<const Vector> normal_s()
66 {
67 return normal_s_;
68 }
70
73 void set_tangential_x(SmartPtr<const Vector>& tangential_x)
74 {
75 tangential_x_ = tangential_x;
76 tangential_x = NULL;
77 }
78 void set_tangential_s(SmartPtr<const Vector>& tangential_s)
79 {
80 tangential_s_ = tangential_s;
81 tangential_s = NULL;
82 }
83 SmartPtr<const Vector> tangential_x()
84 {
85 return tangential_x_;
86 }
87 SmartPtr<const Vector> tangential_s()
88 {
89 return tangential_s_;
90 }
92
97 void set_full_step_accepted(bool full_step_accepted)
98 {
99 full_step_accepted_ = full_step_accepted;
100 }
101 bool full_step_accepted()
102 {
103 return full_step_accepted_;
104 }
106
109 void set_curr_nu(Number nu)
110 {
111 curr_nu_ = nu;
112 }
113 Number curr_nu()
114 {
115 return curr_nu_;
116 }
118
121 void set_compute_normal(bool compute_normal)
122 {
123 compute_normal_ = compute_normal;
124 }
125 bool compute_normal()
126 {
127 return compute_normal_;
128 }
130
133 void set_next_compute_normal(bool next_compute_normal)
134 {
135 next_compute_normal_ = next_compute_normal;
136 }
137 bool next_compute_normal()
138 {
139 return next_compute_normal_;
140 }
142
143 private:
153 InexactData(const InexactData&);
154
156 void operator=(const InexactData&);
158
161 SmartPtr<const Vector> normal_x_;
162 SmartPtr<const Vector> normal_s_;
164
167 SmartPtr<const Vector> tangential_x_;
168 SmartPtr<const Vector> tangential_s_;
170
172 bool full_step_accepted_;
173
175 Number curr_nu_;
176
178 bool compute_normal_;
179
181 bool next_compute_normal_;
182 };
183
184 } // namespace Ipopt
185
186 #endif
Ipopt::InexactData::tangential_s_
SmartPtr< const Vector > tangential_s_
Definition: IpInexactData.hpp:168
Ipopt::InexactData::next_compute_normal_
bool next_compute_normal_
next iteration normal step computation flag
Definition: IpInexactData.hpp:181
Ipopt::InexactData::set_curr_nu
void set_curr_nu(Number nu)
Definition: IpInexactData.hpp:109
Ipopt::InexactData::tangential_x
SmartPtr< const Vector > tangential_x()
Definition: IpInexactData.hpp:83
Ipopt::InexactData::normal_s
SmartPtr< const Vector > normal_s()
Definition: IpInexactData.hpp:65
Ipopt::InexactData::tangential_s
SmartPtr< const Vector > tangential_s()
Definition: IpInexactData.hpp:87
Ipopt::InexactData::InitializeDataStructures
bool InitializeDataStructures()
Initialize Data Structures at the beginning.
Ipopt::InexactData::curr_nu_
Number curr_nu_
current value of penalty parameter
Definition: IpInexactData.hpp:175
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
Ipopt::InexactData::next_compute_normal
bool next_compute_normal()
Definition: IpInexactData.hpp:137
Ipopt::InexactData::set_normal_s
void set_normal_s(SmartPtr< Vector > &normal_s)
Definition: IpInexactData.hpp:56
Ipopt::InexactData::operator=
void operator=(const InexactData &)
Overloaded Equals Operator.
Ipopt::InexactData::full_step_accepted_
bool full_step_accepted_
Flag indicating if most recent step has been fully accepted.
Definition: IpInexactData.hpp:172
Ipopt::InexactData::normal_x
SmartPtr< const Vector > normal_x()
Definition: IpInexactData.hpp:61
Ipopt::InexactData::compute_normal
bool compute_normal()
Definition: IpInexactData.hpp:125
Ipopt::InexactData::set_full_step_accepted
void set_full_step_accepted(bool full_step_accepted)
Definition: IpInexactData.hpp:97
Ipopt::InexactData::set_tangential_s
void set_tangential_s(SmartPtr< const Vector > &tangential_s)
Definition: IpInexactData.hpp:78
Ipopt::InexactData::set_next_compute_normal
void set_next_compute_normal(bool next_compute_normal)
Definition: IpInexactData.hpp:133
Ipopt::InexactData::tangential_x_
SmartPtr< const Vector > tangential_x_
Definition: IpInexactData.hpp:167
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
Ipopt::OptionsList
This class stores a list of user set options.
Definition: IpOptionsList.hpp:32
Ipopt::InexactData::normal_x_
SmartPtr< const Vector > normal_x_
Definition: IpInexactData.hpp:161
Ipopt::InexactData::normal_s_
SmartPtr< const Vector > normal_s_
Definition: IpInexactData.hpp:162
Ipopt::InexactData::set_compute_normal
void set_compute_normal(bool compute_normal)
Definition: IpInexactData.hpp:121
Ipopt::InexactData::InexactData
InexactData()
Constructor.
Ipopt::InexactData::full_step_accepted
bool full_step_accepted()
Definition: IpInexactData.hpp:101
Ipopt::InexactData::set_tangential_x
void set_tangential_x(SmartPtr< const Vector > &tangential_x)
Definition: IpInexactData.hpp:73
Ipopt::InexactData::Initialize
bool Initialize(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
This method must be called to initialize the global algorithmic parameters.
Ipopt::InexactData
Class to organize all the additional data required by the Chen-Goldfarb penalty function algorithm...
Definition: IpInexactData.hpp:19
Ipopt::ConstPtr
SmartPtr< const U > ConstPtr(const SmartPtr< U > &smart_ptr)
Definition: IpSmartPtr.hpp:572
Ipopt::Journalist
Class responsible for all message output.
Definition: IpJournalist.hpp:134
Ipopt::InexactData::compute_normal_
bool compute_normal_
current normal step computation flag
Definition: IpInexactData.hpp:178
Ipopt::InexactData::curr_nu
Number curr_nu()
Definition: IpInexactData.hpp:113
Ipopt::InexactData::~InexactData
~InexactData()
Default destructor.
Ipopt::InexactData::set_normal_x
void set_normal_x(SmartPtr< Vector > &normal_x)
Definition: IpInexactData.hpp:51
Ipopt::IpoptAdditionalData
Base class for additional data that is special to a particular type of algorithm, such as the CG pena...
Definition: IpIpoptData.hpp:28
IpIpoptData.hpp
Ipopt::InexactData::AcceptTrialPoint
void AcceptTrialPoint()
Do whatever is necessary to accept a trial point as current iterate.