Main Page
Namespaces
Classes
Files
File List
File Members
var
build
temp
tmp.niCloInx4p
4.0-0-0
coinor-ipopt
coinor-ipopt-3.10.2
Ipopt
contrib
sIPOPT
src
SensStepCalc.hpp
Go to the documentation of this file.
1
// Copyright 2009, 2011 Hans Pirnay
2
// All Rights Reserved.
3
// This code is published under the Eclipse Public License.
4
//
5
// Date : 2009-05-14
6
7
#ifndef __ASSENSSTEPCALC_HPP__
8
#define __ASSENSSTEPCALC_HPP__
9
10
#include "
IpAlgStrategy.hpp
"
11
#include "
SensSchurDriver.hpp
"
12
13
14
namespace
Ipopt
15
{
17
class
DenseVector;
18
class
IteratesVector;
19
20
class
SensitivityStepCalculator
:
public
AlgorithmStrategyObject
21
{
22
/* This is the interface for the classes that perform the actual step. */
23
24
public
:
25
SensitivityStepCalculator
()
26
:
27
driver_
(NULL),
28
do_boundcheck_
(false)
29
{
30
}
31
32
virtual
~SensitivityStepCalculator
()
33
{
34
}
35
36
virtual
bool
InitializeImpl
(
const
OptionsList
& options,
37
const
std::string& prefix)
38
{
39
options.
GetBoolValue
(
"sens_boundcheck"
,
do_boundcheck_
, prefix);
40
return
true
;
41
}
42
43
bool
Do_Boundcheck
()
const
44
{
45
return
do_boundcheck_
;
46
}
47
48
void
SetSchurDriver
(
SmartPtr<SchurDriver>
driver)
49
{
50
DBG_ASSERT
(
IsValid
(driver));
51
driver_
= driver;
52
if
(
IsValid
(
driver_
->
pcalc_nonconst
())) {
53
driver_
->
pcalc_nonconst
()->
reset_data_A
();
54
// when the schurdriver is set, the data in the pcalculator has to be reset to its data?
55
}
56
}
57
58
SmartPtr<SchurDriver>
Driver
()
// this should be const or protected
59
{
60
DBG_ASSERT
(
IsValid
(
driver_
));
61
return
driver_
;
62
}
63
66
virtual
bool
Step
(
DenseVector
& delta_u,
IteratesVector
& sol) =0;
67
68
69
private
:
70
SmartPtr<SchurDriver>
driver_
;
71
bool
do_boundcheck_
;
72
};
73
}
74
75
#endif
Generated on Mon Mar 17 2014 19:49:12 by
1.8.1.2