Main Page
Namespaces
Classes
Files
File List
File Members
tmp
buildd
coinor-ipopt-3.10.2
Ipopt
src
Algorithm
IpGenAugSystemSolver.hpp
Go to the documentation of this file.
1
// Copyright (C) 2007 International Business Machines and others.
2
// All Rights Reserved.
3
// This code is published under the Eclipse Public License.
4
//
5
// $Id: IpGenAugSystemSolver.hpp 1861 2010-12-21 21:34:47Z andreasw $
6
//
7
// Authors: Andreas Waechter IBM 2007-03-01
8
9
#ifndef __IP_STDAUGSYSTEMSOLVER_HPP__
10
#define __IP_STDAUGSYSTEMSOLVER_HPP__
11
12
#include "
IpAugSystemSolver.hpp
"
13
#include "
IpGenKKTSolverInterface.hpp
"
14
15
namespace
Ipopt
16
{
22
class
GenAugSystemSolver
:
public
AugSystemSolver
23
{
24
public
:
28
GenAugSystemSolver
(
GenKKTSolverInterface
& SolverInterface);
29
31
virtual
~GenAugSystemSolver
();
33
35
bool
InitializeImpl
(
const
OptionsList
& options,
36
const
std::string& prefix);
37
42
virtual
ESymSolverStatus
MultiSolve
(
43
const
SymMatrix
* W,
44
double
W_factor,
45
const
Vector
* D_x,
46
double
delta_x,
47
const
Vector
* D_s,
48
double
delta_s,
49
const
Matrix
* J_c,
50
const
Vector
* D_c,
51
double
delta_c,
52
const
Matrix
* J_d,
53
const
Vector
* D_d,
54
double
delta_d,
55
std::vector<
SmartPtr<const Vector>
>& rhs_xV,
56
std::vector<
SmartPtr<const Vector>
>& rhs_sV,
57
std::vector<
SmartPtr<const Vector>
>& rhs_cV,
58
std::vector<
SmartPtr<const Vector>
>& rhs_dV,
59
std::vector<
SmartPtr<Vector>
>& sol_xV,
60
std::vector<
SmartPtr<Vector>
>& sol_sV,
61
std::vector<
SmartPtr<Vector>
>& sol_cV,
62
std::vector<
SmartPtr<Vector>
>& sol_dV,
63
bool
check_NegEVals,
64
Index
numberOfNegEVals);
65
72
virtual
Index
NumberOfNegEVals
()
const
;
73
77
virtual
bool
ProvidesInertia
()
const
;
78
85
virtual
bool
IncreaseQuality
();
86
87
private
:
97
GenAugSystemSolver
();
99
GenAugSystemSolver
(
const
GenAugSystemSolver
&);
100
102
void
operator=
(
const
GenAugSystemSolver
&);
104
107
bool
AugmentedSystemChanged
(
const
SymMatrix
* W,
108
double
W_factor,
109
const
Vector
* D_x,
110
double
delta_x,
111
const
Vector
* D_s,
112
double
delta_s,
113
const
Matrix
& J_c,
114
const
Vector
* D_c,
115
double
delta_c,
116
const
Matrix
& J_d,
117
const
Vector
* D_d,
118
double
delta_d);
119
120
void
UpdateTags
(
const
SymMatrix
* W,
121
double
W_factor,
122
const
Vector
* D_x,
123
double
delta_x,
124
const
Vector
* D_s,
125
double
delta_s,
126
const
Matrix
& J_c,
127
const
Vector
* D_c,
128
double
delta_c,
129
const
Matrix
& J_d,
130
const
Vector
* D_d,
131
double
delta_d);
132
136
SmartPtr<GenKKTSolverInterface>
solver_interface_
;
137
146
TaggedObject::Tag
w_tag_
;
148
double
w_factor_
;
152
TaggedObject::Tag
d_x_tag_
;
154
double
delta_x_
;
158
TaggedObject::Tag
d_s_tag_
;
160
double
delta_s_
;
164
TaggedObject::Tag
j_c_tag_
;
168
TaggedObject::Tag
d_c_tag_
;
170
double
delta_c_
;
174
TaggedObject::Tag
j_d_tag_
;
178
TaggedObject::Tag
d_d_tag_
;
180
double
delta_d_
;
182
186
Number
*
dx_vals_copy_
;
187
Number
*
ds_vals_copy_
;
188
Number
*
dc_vals_copy_
;
189
Number
*
dd_vals_copy_
;
191
196
bool
warm_start_same_structure_
;
198
};
199
200
}
// namespace Ipopt
201
202
#endif
Generated on Tue Jun 26 2012 17:01:43 by
1.8.1.1