Ipopt 3.12.10

- Main Page
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
IpInexactNewtonNormal.hpp
Go to the documentation of this file.
1 // Copyright (C) 2008, 2011 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // $Id: IpInexactNewtonNormal.hpp 1886 2011-01-27 23:11:16Z andreasw $
6 //
7 // Authors: Andreas Waechter IBM 2008-09-05
8
9 #ifndef __IPINEXACTNEWTONNORMAL_HPP__
10 #define __IPINEXACTNEWTONNORMAL_HPP__
11
12 #include "IpAlgStrategy.hpp"
13 #include "IpAugSystemSolver.hpp"
14 #include "IpInexactCq.hpp"
15
16 namespace Ipopt
17 {
21 class InexactNewtonNormalStep : public AlgorithmStrategyObject
22 {
23 public:
27 InexactNewtonNormalStep(SmartPtr<AugSystemSolver> aug_solver);
28
30 virtual ~InexactNewtonNormalStep();
32
34 virtual bool InitializeImpl(const OptionsList& options,
35 const std::string& prefix);
36
42 virtual bool ComputeNewtonNormalStep(Vector& newton_x, Vector& newton_s);
43
46 static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
48
49 protected:
51 InexactData& InexData()
52 {
53 InexactData& inexact_data =
54 static_cast<InexactData&>(IpData().AdditionalData());
55 DBG_ASSERT(dynamic_cast<InexactData*>(&IpData().AdditionalData()));
56 return inexact_data;
57 }
58
60 InexactCq& InexCq()
61 {
62 InexactCq& inexact_cq =
63 static_cast<InexactCq&>(IpCq().AdditionalCq());
64 DBG_ASSERT(dynamic_cast<InexactCq*>(&IpCq().AdditionalCq()));
65 return inexact_cq;
66 }
67
68 private:
78 InexactNewtonNormalStep();
79
81 InexactNewtonNormalStep(const InexactNewtonNormalStep&);
82
84 void operator=(const InexactNewtonNormalStep&);
86
88 SmartPtr<AugSystemSolver> aug_solver_;
89 };
90
91 } // namespace Ipopt
92
93 #endif
Ipopt::InexactNewtonNormalStep::ComputeNewtonNormalStep
virtual bool ComputeNewtonNormalStep(Vector &newton_x, Vector &newton_s)
Method for computing the normal step.
IpAlgStrategy.hpp
Ipopt::AlgorithmStrategyObject
This is the base class for all algorithm strategy objects.
Definition: IpAlgStrategy.hpp:35
Ipopt::Vector
Vector Base Class.
Definition: IpVector.hpp:47
Ipopt::InexactNewtonNormalStep::InitializeImpl
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
overloaded from AlgorithmStrategyObject
Ipopt::InexactNewtonNormalStep::InexCq
InexactCq & InexCq()
Method to easily access Inexact calculated quantities.
Definition: IpInexactNewtonNormal.hpp:60
Ipopt::IpoptCalculatedQuantities::AdditionalCq
IpoptAdditionalCq & AdditionalCq()
Definition: IpIpoptCalculatedQuantities.hpp:452
Ipopt::InexactNewtonNormalStep::operator=
void operator=(const InexactNewtonNormalStep &)
Overloaded Equals Operator.
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
Ipopt::InexactNewtonNormalStep::aug_solver_
SmartPtr< AugSystemSolver > aug_solver_
Object to be used to solve the augmented system.
Definition: IpInexactNewtonNormal.hpp:88
Ipopt::OptionsList
This class stores a list of user set options.
Definition: IpOptionsList.hpp:32
Ipopt::InexactNewtonNormalStep
Compute the &quot;Newton&quot; normal step from the (slack-scaled) augmented system.
Definition: IpInexactNewtonNormal.hpp:21
IpAugSystemSolver.hpp
Ipopt::IpoptData::AdditionalData
IpoptAdditionalData & AdditionalData()
Get access to additional data object.
Definition: IpIpoptData.hpp:502
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::InexactNewtonNormalStep::InexData
InexactData & InexData()
Method to easily access Inexact data.
Definition: IpInexactNewtonNormal.hpp:51
Ipopt::InexactNewtonNormalStep::~InexactNewtonNormalStep
virtual ~InexactNewtonNormalStep()
Default destructor.
IpInexactCq.hpp
Ipopt::AlgorithmStrategyObject::IpCq
IpoptCalculatedQuantities & IpCq() const
Definition: IpAlgStrategy.hpp:137
Ipopt::InexactNewtonNormalStep::InexactNewtonNormalStep
InexactNewtonNormalStep()
Default onstructor.
Ipopt::InexactNewtonNormalStep::RegisterOptions
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptType.