Ipopt
3.11.4
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
src
Algorithm
Inexact
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
Generated on Mon Oct 21 2013 19:08:14 for Ipopt by
1.8.4