Ipopt
3.11.8
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Algorithm
Inexact
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
Generated by
1.8.3.1