Ipopt 3.11.9
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// $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
16namespace Ipopt
17{
22 {
23 public:
28
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
48
49 protected:
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
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:
79
82
86
89 };
90
91} // namespace Ipopt
92
93#endif
#define DBG_ASSERT(test)
Definition IpDebug.hpp:38
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()
Default destructor.
InexactData & InexData()
Method to easily access Inexact data.
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
overloaded from AlgorithmStrategyObject
InexactCq & InexCq()
Method to easily access Inexact calculated quantities.
InexactNewtonNormalStep()
Default onstructor.
virtual bool ComputeNewtonNormalStep(Vector &newton_x, Vector &newton_s)
Method for computing the normal step.
InexactNewtonNormalStep(SmartPtr< AugSystemSolver > aug_solver)
Default onstructor.
InexactNewtonNormalStep(const InexactNewtonNormalStep &)
Copy Constructor.
SmartPtr< AugSystemSolver > aug_solver_
Object to be used to solve the augmented system.
void operator=(const InexactNewtonNormalStep &)
Overloaded Equals Operator.
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptType.
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