Ipopt Documentation  
 
Loading...
Searching...
No Matches
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
15namespace Ipopt
16{
24{
25public:
28
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
56private:
67
69
73 );
74
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
99
102
108
116
119};
120
121} // namespace Ipopt
122
123#endif
#define DBG_ASSERT(test)
Definition IpDebug.hpp:27
IpoptCalculatedQuantities & IpCq() const
Class for all Chen-Goldfarb penalty method specific calculated quantities.
Class to organize all the additional data required by the Chen-Goldfarb penalty function algorithm.
Implementation of the search direction calculator that computes the search direction using iterative ...
InexactData & InexData()
Method to easily access Inexact data.
virtual ~InexactSearchDirCalculator()
Destructor.
SmartPtr< InexactPDSolver > inexact_pd_solver_
InexactSearchDirCalculator()
Default Constructor.
InexactSearchDirCalculator(const InexactSearchDirCalculator &)
Copy Constructor.
DecompositionTypeEnum
enumeration for decomposition options
DecompositionTypeEnum decomposition_type_
Type of decomposition.
void operator=(const InexactSearchDirCalculator &)
Overloaded Assignment Operator.
InexactCq & InexCq()
Method to easily access Inexact calculated quantities.
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
virtual bool ComputeSearchDirection()
Method for computing the search direction.
Number local_inf_Ac_tol_
termination tolerance for local infeasibility
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.
InexactSearchDirCalculator(SmartPtr< InexactNormalStepCalculator > normal_step_calculator, SmartPtr< InexactPDSolver > inexact_pd_solver)
Constructor.
SmartPtr< InexactNormalStepCalculator > normal_step_calculator_
IpoptAdditionalData & AdditionalData()
Get access to additional data object.
This class stores a list of user set options.
Base class for computing the search direction for the line search.
Template class for Smart Pointers.
This file contains a base class for all exceptions and a set of macros to help with exceptions.
ipnumber Number
Type of all numbers.
Definition IpTypes.hpp:17