Ipopt Documentation  
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SensStepCalc.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-14
6 
7 #ifndef __ASSENSSTEPCALC_HPP__
8 #define __ASSENSSTEPCALC_HPP__
9 
10 #include "IpAlgStrategy.hpp"
11 #include "SensSchurDriver.hpp"
12 
13 namespace Ipopt
14 {
15 /* Forward declarations */
16 class DenseVector;
17 class IteratesVector;
18 
21 {
22 public:
24  : driver_(NULL),
25  do_boundcheck_(false)
26  { }
27 
29  { }
30 
31  virtual bool InitializeImpl(
32  const OptionsList& options,
33  const std::string& prefix
34  )
35  {
36  options.GetBoolValue("sens_boundcheck", do_boundcheck_, prefix);
37  return true;
38  }
39 
40  bool Do_Boundcheck() const
41  {
42  return do_boundcheck_;
43  }
44 
47  )
48  {
49  DBG_ASSERT(IsValid(driver));
50 
51  driver_ = driver;
52  if( IsValid(driver_->pcalc_nonconst()) )
53  {
54  driver_->pcalc_nonconst()->reset_data_A();
55  // when the schurdriver is set, the data in the pcalculator has to be reset to its data?
56  }
57  }
58 
59  SmartPtr<SchurDriver> Driver() // this should be const or protected
60  {
61  DBG_ASSERT(IsValid(driver_));
62 
63  return driver_;
64  }
65 
70  virtual bool Step(
71  DenseVector& delta_u,
72  IteratesVector& sol
73  ) = 0;
74 
76  virtual SmartPtr<IteratesVector> GetSensitivityVector() = 0;
77 
78 private:
81 };
82 
83 }
84 
85 #endif
bool IsValid(const SmartPtr< U > &smart_ptr)
Definition: IpSmartPtr.hpp:674
This is the interface for the classes that perform the actual step.
Specialized CompoundVector class specifically for the algorithm iterates.
This is the base class for all algorithm strategy objects.
virtual bool GetBoolValue(const std::string &tag, bool &value, const std::string &prefix) const
Dense Vector Implementation.
#define SIPOPTLIB_EXPORT
Include file for the configuration of Ipopt.
Definition: IpoptConfig.h:79
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:171
This class stores a list of user set options.
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...
void SetSchurDriver(SmartPtr< SchurDriver > driver)
#define DBG_ASSERT(test)
Definition: IpDebug.hpp:27
SmartPtr< SchurDriver > Driver()
SmartPtr< SchurDriver > driver_