Ipopt Documentation  
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SensStdStepCalc.hpp
Go to the documentation of this file.
1 // Copyright 2009, 2011 Hans Pirnay
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // Date : 2009-05-16
6 
7 #ifndef __ASSTDSTEPCALC_HPP__
8 #define __ASSTDSTEPCALC_HPP__
9 
10 #include "SensBacksolver.hpp"
11 #include "SensStepCalc.hpp"
12 #include "IpDenseVector.hpp"
13 #include "IpIteratesVector.hpp"
14 
15 #include <vector>
16 
17 namespace Ipopt
18 {
19 
21 {
22 public:
24  SmartPtr<SchurData> ift_data,
25  SmartPtr<SensBacksolver> backsolver
26  );
27 
28  virtual ~StdStepCalculator();
29 
30  virtual bool InitializeImpl(
31  const OptionsList& options,
32  const std::string& prefix
33  );
34 
39  virtual bool Step(
40  DenseVector& delta_u,
41  IteratesVector& sol
42  );
43 
44  bool BoundCheck(
45  IteratesVector& sol,
46  std::vector<Index>& x_bound_violations_idx,
47  std::vector<Number>& x_bound_violations_du
48  );
49 
52  {
53  return SensitivityVector;
54  }
55 
56 private:
61 
63 };
64 
65 }
66 
67 #endif
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Implementation of the initialization method that has to be overloaded by for each derived class...
This is the interface for the classes that perform the actual step.
Specialized CompoundVector class specifically for the algorithm iterates.
SmartPtr< IteratesVector > SensitivityVector
virtual bool Step(DenseVector &delta_u, IteratesVector &sol)
This is the main algorithmic function of this class.
SmartPtr< SensBacksolver > backsolver_
double Number
Type of all numbers.
Definition: IpTypes.hpp:15
SmartPtr< SchurData > ift_data_
StdStepCalculator(SmartPtr< SchurData > ift_data, SmartPtr< SensBacksolver > backsolver)
Dense Vector Implementation.
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:171
This class stores a list of user set options.
virtual SmartPtr< IteratesVector > GetSensitivityVector(void)
return the sensitivity vector
bool BoundCheck(IteratesVector &sol, std::vector< Index > &x_bound_violations_idx, std::vector< Number > &x_bound_violations_du)