Ipopt Documentation  
 
Loading...
Searching...
No Matches
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// Authors: Andreas Waechter IBM 2008-09-05
6
7#ifndef __IPINEXACTNEWTONNORMAL_HPP__
8#define __IPINEXACTNEWTONNORMAL_HPP__
9
10#include "IpAlgStrategy.hpp"
11#include "IpAugSystemSolver.hpp"
12#include "IpInexactCq.hpp"
13
14namespace Ipopt
15{
20{
21public:
24
27 );
28
32
33 virtual bool InitializeImpl(
34 const OptionsList& options,
35 const std::string& prefix
36 );
37
47 Vector& newton_x,
48 Vector& newton_s
49 );
50
51 static void RegisterOptions(
53 );
54
55protected:
58 {
59 InexactData& inexact_data = static_cast<InexactData&>(IpData().AdditionalData());
60 DBG_ASSERT(dynamic_cast<InexactData*>(&IpData().AdditionalData()));
61 return inexact_data;
62 }
63
66 {
67 InexactCq& inexact_cq = static_cast<InexactCq&>(IpCq().AdditionalCq());
68 DBG_ASSERT(dynamic_cast<InexactCq*>(&IpCq().AdditionalCq()));
69 return inexact_cq;
70 }
71
72private:
83
85
89
93 );
95
98};
99
100} // namespace Ipopt
101
102#endif
#define DBG_ASSERT(test)
Definition IpDebug.hpp:27
This is the base class for all algorithm strategy objects.
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.
Compute the "Newton" normal step from the (slack-scaled) augmented system.
virtual ~InexactNewtonNormalStep()
Destructor.
InexactData & InexData()
Method to easily access Inexact data.
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.
InexactCq & InexCq()
Method to easily access Inexact calculated quantities.
InexactNewtonNormalStep()
Default Constructor.
virtual bool ComputeNewtonNormalStep(Vector &newton_x, Vector &newton_s)
Method for computing the normal step.
InexactNewtonNormalStep(SmartPtr< AugSystemSolver > aug_solver)
Constructor.
InexactNewtonNormalStep(const InexactNewtonNormalStep &)
Copy Constructor.
SmartPtr< AugSystemSolver > aug_solver_
Object to be used to solve the augmented system.
void operator=(const InexactNewtonNormalStep &)
Overloaded Assignment Operator.
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
IpoptAdditionalData & AdditionalData()
Get access to additional data object.
This class stores a list of user set options.
Template class for Smart Pointers.
Vector Base Class.
Definition IpVector.hpp:48
This file contains a base class for all exceptions and a set of macros to help with exceptions.