Ipopt  3.12.12
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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 // $Id: IpInexactSearchDirCalc.hpp 1861 2010-12-21 21:34:47Z andreasw $
6 //
7 // Authors: Andreas Waechter IBM 2008-08-31
8 
9 #ifndef __IPINEXACTSEARCHDIRCALC_HPP__
10 #define __IPINEXACTSEARCHDIRCALC_HPP__
11 
13 #include "IpInexactCq.hpp"
15 #include "IpInexactPDSolver.hpp"
16 
17 namespace Ipopt
18 {
25  {
26  public:
31  SmartPtr<InexactPDSolver> inexact_pd_solver);
32 
36 
38  virtual bool InitializeImpl(const OptionsList& options,
39  const std::string& prefix);
40 
45  virtual bool ComputeSearchDirection();
46 
49  static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
51 
52  private:
63 
66 
70 
73  {
74  InexactData& inexact_data =
75  static_cast<InexactData&>(IpData().AdditionalData());
76  DBG_ASSERT(dynamic_cast<InexactData*>(&IpData().AdditionalData()));
77  return inexact_data;
78  }
79 
82  {
83  InexactCq& inexact_cq =
84  static_cast<InexactCq&>(IpCq().AdditionalCq());
85  DBG_ASSERT(dynamic_cast<InexactCq*>(&IpCq().AdditionalCq()));
86  return inexact_cq;
87  }
88 
94 
100 
103  {
107  };
110  };
111 
112 } // namespace Ipopt
113 
114 #endif
virtual ~InexactSearchDirCalculator()
Default destructor.
DecompositionTypeEnum
enumeration for decomposition options
Implementation of the search direction calculator that computes the search direction using iterative ...
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
SmartPtr< InexactNormalStepCalculator > normal_step_calculator_
Base class for computing the search direction for the line search.
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
overloaded from AlgorithmStrategyObject
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptType.
virtual bool ComputeSearchDirection()
Method for computing the search direction.
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
InexactData & InexData()
Method to easily access Inexact data.
void operator=(const InexactSearchDirCalculator &)
Overloaded Equals Operator.
This class stores a list of user set options.
Number local_inf_Ac_tol_
termination tolerance for local infeasibility
IpoptAdditionalData & AdditionalData()
Get access to additional data object.
SmartPtr< InexactPDSolver > inexact_pd_solver_
DecompositionTypeEnum decomposition_type_
Type of decomposition.
#define DBG_ASSERT(test)
Definition: IpDebug.hpp:38
Class for all Chen-Goldfarb penalty method specific calculated quantities.
Definition: IpInexactCq.hpp:22
Class to organize all the additional data required by the Chen-Goldfarb penalty function algorithm...
InexactSearchDirCalculator()
Default Constructor.
IpoptCalculatedQuantities & IpCq() const
InexactCq & InexCq()
Method to easily access Inexact calculated quantities.