Ipopt 3.12.10

- Main Page
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
IpInexactNormalStepCalc.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: IpInexactNormalStepCalc.hpp 1861 2010-12-21 21:34:47Z andreasw $
6 //
7 // Authors: Andreas Waechter IBM 2008-08-31
8
9 #ifndef __IPINEXACTNORMALSTEPCALC_HPP__
10 #define __IPINEXACTNORMALSTEPCALC_HPP__
11
12 #include "IpAlgStrategy.hpp"
13 #include "IpInexactCq.hpp"
14
15 namespace Ipopt
16 {
20 class InexactNormalStepCalculator : public AlgorithmStrategyObject
21 {
22 public:
26 InexactNormalStepCalculator()
27 {}
28
30 virtual ~InexactNormalStepCalculator()
31 {}
33
35 virtual bool InitializeImpl(const OptionsList& options,
36 const std::string& prefix) = 0;
37
42 virtual bool ComputeNormalStep(SmartPtr<Vector>& normal_x,
43 SmartPtr<Vector>& normal_s) = 0;
44
45 protected:
47 InexactData& InexData()
48 {
49 InexactData& inexact_data =
50 static_cast<InexactData&>(IpData().AdditionalData());
51 DBG_ASSERT(dynamic_cast<InexactData*>(&IpData().AdditionalData()));
52 return inexact_data;
53 }
54
56 InexactCq& InexCq()
57 {
58 InexactCq& inexact_cq =
59 static_cast<InexactCq&>(IpCq().AdditionalCq());
60 DBG_ASSERT(dynamic_cast<InexactCq*>(&IpCq().AdditionalCq()));
61 return inexact_cq;
62 }
63
64 private:
74 InexactNormalStepCalculator(const InexactNormalStepCalculator&);
75
77 void operator=(const InexactNormalStepCalculator&);
79 };
80
81 } // namespace Ipopt
82
83 #endif
Ipopt::InexactNormalStepCalculator::operator=
void operator=(const InexactNormalStepCalculator &)
Overloaded Equals Operator.
Ipopt::InexactNormalStepCalculator::~InexactNormalStepCalculator
virtual ~InexactNormalStepCalculator()
Default destructor.
Definition: IpInexactNormalStepCalc.hpp:30
IpAlgStrategy.hpp
Ipopt::AlgorithmStrategyObject
This is the base class for all algorithm strategy objects.
Definition: IpAlgStrategy.hpp:35
Ipopt::InexactNormalStepCalculator::ComputeNormalStep
virtual bool ComputeNormalStep(SmartPtr< Vector > &normal_x, SmartPtr< Vector > &normal_s)=0
Method for computing the normal step.
Ipopt::InexactNormalStepCalculator::InexactNormalStepCalculator
InexactNormalStepCalculator()
Default onstructor.
Definition: IpInexactNormalStepCalc.hpp:26
Ipopt::InexactNormalStepCalculator
Base class for computing the normal step for the inexact step calculation algorithm.
Definition: IpInexactNormalStepCalc.hpp:20
Ipopt::IpoptCalculatedQuantities::AdditionalCq
IpoptAdditionalCq & AdditionalCq()
Definition: IpIpoptCalculatedQuantities.hpp:452
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
Ipopt::OptionsList
This class stores a list of user set options.
Definition: IpOptionsList.hpp:32
Ipopt::InexactNormalStepCalculator::InexData
InexactData & InexData()
Method to easily access Inexact data.
Definition: IpInexactNormalStepCalc.hpp:47
Ipopt::IpoptData::AdditionalData
IpoptAdditionalData & AdditionalData()
Get access to additional data object.
Definition: IpIpoptData.hpp:502
Ipopt::InexactNormalStepCalculator::InexCq
InexactCq & InexCq()
Method to easily access Inexact calculated quantities.
Definition: IpInexactNormalStepCalc.hpp:56
DBG_ASSERT
#define DBG_ASSERT(test)
Definition: IpDebug.hpp:38
Ipopt::InexactCq
Class for all Chen-Goldfarb penalty method specific calculated quantities.
Definition: IpInexactCq.hpp:22
Ipopt::InexactData
Class to organize all the additional data required by the Chen-Goldfarb penalty function algorithm...
Definition: IpInexactData.hpp:19
Ipopt::AlgorithmStrategyObject::IpData
IpoptData & IpData() const
Definition: IpAlgStrategy.hpp:131
Ipopt::InexactNormalStepCalculator::InitializeImpl
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)=0
overloaded from AlgorithmStrategyObject
IpInexactCq.hpp
Ipopt::AlgorithmStrategyObject::IpCq
IpoptCalculatedQuantities & IpCq() const
Definition: IpAlgStrategy.hpp:137