Ipopt  3.12.12
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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 
18 
19 namespace Ipopt
20 {
21 
23  {
24  public:
26  SmartPtr<SensBacksolver> backsolver);
27 
28  virtual ~StdStepCalculator();
29 
30  virtual bool InitializeImpl(const OptionsList& options,
31  const std::string& prefix);
32 
35  virtual bool Step(DenseVector& delta_u, IteratesVector& sol);
36 
37  bool BoundCheck(IteratesVector& sol,
38  std::vector<Index>& x_bound_violations_idx,
39  std::vector<Number>& x_bound_violations_du);
40 
43 
44  private:
49 
51  };
52 }
53 
54 #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...
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; It calculates a step using its SchurDriver...
SmartPtr< SensBacksolver > backsolver_
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
SmartPtr< SchurData > ift_data_
StdStepCalculator(SmartPtr< SchurData > ift_data, SmartPtr< SensBacksolver > backsolver)
Dense Vector Implementation.
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
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)