Ipopt
3.11.4
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
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 Mon Oct 21 2013 19:08:15 for Ipopt by
1.8.4