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
IpInexactSearchDirCalc.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: IpInexactSearchDirCalc.hpp 1861 2010-12-21 21:34:47Z andreasw $
6
//
7
// Authors: Andreas Waechter IBM 2008-08-31
8
9
#ifndef __IPINEXACTSEARCHDIRCALC_HPP__
10
#define __IPINEXACTSEARCHDIRCALC_HPP__
11
12
#include "
IpSearchDirCalculator.hpp
"
13
#include "
IpInexactCq.hpp
"
14
#include "
IpInexactNormalStepCalc.hpp
"
15
#include "
IpInexactPDSolver.hpp
"
16
17
namespace
Ipopt
18
{
24
class
InexactSearchDirCalculator
:
public
SearchDirectionCalculator
25
{
26
public
:
30
InexactSearchDirCalculator
(
SmartPtr<InexactNormalStepCalculator>
normal_step_calculator,
31
SmartPtr<InexactPDSolver>
inexact_pd_solver);
32
34
virtual
~InexactSearchDirCalculator
();
36
38
virtual
bool
InitializeImpl
(
const
OptionsList
& options,
39
const
std::string& prefix);
40
45
virtual
bool
ComputeSearchDirection
();
46
49
static
void
RegisterOptions
(
SmartPtr<RegisteredOptions>
roptions);
51
52
private
:
62
InexactSearchDirCalculator
();
63
65
InexactSearchDirCalculator
(
const
InexactSearchDirCalculator
&);
66
68
void
operator=
(
const
InexactSearchDirCalculator
&);
70
72
InexactData
&
InexData
()
73
{
74
InexactData
& inexact_data =
75
static_cast<
InexactData
&
>
(
IpData
().
AdditionalData
());
76
DBG_ASSERT
(dynamic_cast<InexactData*>(&
IpData
().AdditionalData()));
77
return
inexact_data;
78
}
79
81
InexactCq
&
InexCq
()
82
{
83
InexactCq
& inexact_cq =
84
static_cast<
InexactCq
&
>
(
IpCq
().
AdditionalCq
());
85
DBG_ASSERT
(dynamic_cast<InexactCq*>(&
IpCq
().AdditionalCq()));
86
return
inexact_cq;
87
}
88
92
Number
local_inf_Ac_tol_
;
94
97
SmartPtr<InexactNormalStepCalculator>
normal_step_calculator_
;
98
SmartPtr<InexactPDSolver>
inexact_pd_solver_
;
100
102
enum
DecompositionTypeEnum
103
{
104
ALWAYS
=0,
105
ADAPTIVE
,
106
SWITCH_ONCE
107
};
109
DecompositionTypeEnum
decomposition_type_
;
110
};
111
112
}
// namespace Ipopt
113
114
#endif
Generated by
1.8.3.1