Ipopt Documentation  
IpInexactSearchDirCalc.hpp
Go to the documentation of this file.
1 // Copyright (C) 2008 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 __IPINEXACTSEARCHDIRCALC_HPP__
8 #define __IPINEXACTSEARCHDIRCALC_HPP__
9 
11 #include "IpInexactCq.hpp"
13 #include "IpInexactPDSolver.hpp"
14 
15 namespace Ipopt
16 {
24 {
25 public:
30  SmartPtr<InexactNormalStepCalculator> normal_step_calculator,
31  SmartPtr<InexactPDSolver> inexact_pd_solver
32  );
33 
37 
38  virtual bool InitializeImpl(
39  const OptionsList& options,
40  const std::string& prefix
41  );
42 
50  virtual bool ComputeSearchDirection();
51 
52  static void RegisterOptions(
54  );
55 
56 private:
69 
73  );
74 
76  void operator=(
78  );
80 
83  {
84  InexactData& inexact_data = static_cast<InexactData&>(IpData().AdditionalData());
85  DBG_ASSERT(dynamic_cast<InexactData*>(&IpData().AdditionalData()));
86  return inexact_data;
87  }
88 
91  {
92  InexactCq& inexact_cq = static_cast<InexactCq&>(IpCq().AdditionalCq());
93  DBG_ASSERT(dynamic_cast<InexactCq*>(&IpCq().AdditionalCq()));
94  return inexact_cq;
95  }
96 
102 
108 
111  {
112  ALWAYS = 0,
115  };
116 
119 };
120 
121 } // namespace Ipopt
122 
123 #endif
Ipopt::AlgorithmStrategyObject::IpCq
IpoptCalculatedQuantities & IpCq() const
Definition: IpAlgStrategy.hpp:150
IpSearchDirCalculator.hpp
Ipopt::InexactSearchDirCalculator::ALWAYS
@ ALWAYS
Definition: IpInexactSearchDirCalc.hpp:112
IpInexactCq.hpp
Ipopt::InexactSearchDirCalculator::local_inf_Ac_tol_
Number local_inf_Ac_tol_
termination tolerance for local infeasibility
Definition: IpInexactSearchDirCalc.hpp:100
Ipopt::InexactData
Class to organize all the additional data required by the Chen-Goldfarb penalty function algorithm.
Definition: IpInexactData.hpp:18
Ipopt
This file contains a base class for all exceptions and a set of macros to help with exceptions.
Definition: IpInexactAlgBuilder.hpp:13
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:15
Ipopt::InexactSearchDirCalculator::operator=
void operator=(const InexactSearchDirCalculator &)
Overloaded Assignment Operator.
Ipopt::InexactSearchDirCalculator::InexData
InexactData & InexData()
Method to easily access Inexact data.
Definition: IpInexactSearchDirCalc.hpp:82
IpInexactPDSolver.hpp
Ipopt::InexactSearchDirCalculator::ADAPTIVE
@ ADAPTIVE
Definition: IpInexactSearchDirCalc.hpp:113
Ipopt::AlgorithmStrategyObject::IpData
IpoptData & IpData() const
Definition: IpAlgStrategy.hpp:144
Ipopt::SearchDirectionCalculator
Base class for computing the search direction for the line search.
Definition: IpSearchDirCalculator.hpp:18
Ipopt::InexactSearchDirCalculator::normal_step_calculator_
SmartPtr< InexactNormalStepCalculator > normal_step_calculator_
Definition: IpInexactSearchDirCalc.hpp:105
Ipopt::InexactSearchDirCalculator::inexact_pd_solver_
SmartPtr< InexactPDSolver > inexact_pd_solver_
Definition: IpInexactSearchDirCalc.hpp:106
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:171
Ipopt::IpoptData::AdditionalData
IpoptAdditionalData & AdditionalData()
Get access to additional data object.
Definition: IpIpoptData.hpp:606
Ipopt::InexactSearchDirCalculator::RegisterOptions
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Ipopt::InexactSearchDirCalculator::InitializeImpl
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.
Ipopt::InexactSearchDirCalculator::ComputeSearchDirection
virtual bool ComputeSearchDirection()
Method for computing the search direction.
IpInexactNormalStepCalc.hpp
Ipopt::IpoptCalculatedQuantities::AdditionalCq
IpoptAdditionalCq & AdditionalCq()
Definition: IpIpoptCalculatedQuantities.hpp:574
Ipopt::InexactSearchDirCalculator::InexactSearchDirCalculator
InexactSearchDirCalculator()
Default Constructor.
Ipopt::InexactSearchDirCalculator
Implementation of the search direction calculator that computes the search direction using iterative ...
Definition: IpInexactSearchDirCalc.hpp:23
Ipopt::InexactSearchDirCalculator::decomposition_type_
DecompositionTypeEnum decomposition_type_
Type of decomposition.
Definition: IpInexactSearchDirCalc.hpp:118
Ipopt::InexactSearchDirCalculator::InexCq
InexactCq & InexCq()
Method to easily access Inexact calculated quantities.
Definition: IpInexactSearchDirCalc.hpp:90
Ipopt::InexactSearchDirCalculator::~InexactSearchDirCalculator
virtual ~InexactSearchDirCalculator()
Destructor.
DBG_ASSERT
#define DBG_ASSERT(test)
Definition: IpDebug.hpp:28
Ipopt::InexactSearchDirCalculator::DecompositionTypeEnum
DecompositionTypeEnum
enumeration for decomposition options
Definition: IpInexactSearchDirCalc.hpp:110
Ipopt::OptionsList
This class stores a list of user set options.
Definition: IpOptionsList.hpp:32
Ipopt::InexactSearchDirCalculator::SWITCH_ONCE
@ SWITCH_ONCE
Definition: IpInexactSearchDirCalc.hpp:114
Ipopt::InexactCq
Class for all Chen-Goldfarb penalty method specific calculated quantities.
Definition: IpInexactCq.hpp:20