Main Page
Namespaces
Classes
Files
File List
File Members
tmp
buildd
coinor-ipopt-3.10.2
Ipopt
src
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 on Tue Jun 26 2012 17:01:43 by
1.8.1.1