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
IpPDFullSpaceSolver.hpp
Go to the documentation of this file.
1
// Copyright (C) 2004, 2007 International Business Machines and others.
2
// All Rights Reserved.
3
// This code is published under the Eclipse Public License.
4
//
5
// $Id: IpPDFullSpaceSolver.hpp 1861 2010-12-21 21:34:47Z andreasw $
6
//
7
// Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
8
9
#ifndef __IPPDFULLSPACESOLVER_HPP__
10
#define __IPPDFULLSPACESOLVER_HPP__
11
12
#include "
IpPDSystemSolver.hpp
"
13
#include "
IpAugSystemSolver.hpp
"
14
#include "
IpPDPerturbationHandler.hpp
"
15
16
namespace
Ipopt
17
{
18
32
class
PDFullSpaceSolver
:
public
PDSystemSolver
33
{
34
public
:
40
PDFullSpaceSolver
(
AugSystemSolver
& augSysSolver,
41
PDPerturbationHandler
& perturbHandler);
42
44
virtual
~PDFullSpaceSolver
();
46
47
/* overloaded from AlgorithmStrategyObject */
48
bool
InitializeImpl
(
const
OptionsList
& options,
49
const
std::string& prefix);
50
53
virtual
bool
Solve
(
Number
alpha,
54
Number
beta,
55
const
IteratesVector
& rhs,
56
IteratesVector
& res,
57
bool
allow_inexact=
false
,
58
bool
improve_solution=
false
);
59
62
static
void
RegisterOptions
(
SmartPtr<RegisteredOptions>
roptions);
64
65
private
:
75
PDFullSpaceSolver
();
77
PDFullSpaceSolver
&
operator=
(
const
PDFullSpaceSolver
&);
79
83
SmartPtr<AugSystemSolver>
augSysSolver_
;
85
SmartPtr<PDPerturbationHandler>
perturbHandler_
;
87
91
CachedResults<void*>
dummy_cache_
;
94
bool
augsys_improved_
;
96
100
Index
min_refinement_steps_
;
102
Index
max_refinement_steps_
;
105
Number
residual_ratio_max_
;
109
Number
residual_ratio_singular_
;
112
Number
residual_improvement_factor_
;
114
Number
neg_curv_test_tol_
;
116
123
bool
SolveOnce
(
bool
resolve_unmodified,
124
bool
pretend_singular,
125
const
SymMatrix
& W,
126
const
Matrix
& J_c,
127
const
Matrix
& J_d,
128
const
Matrix
& Px_L,
129
const
Matrix
& Px_U,
130
const
Matrix
& Pd_L,
131
const
Matrix
& Pd_U,
132
const
Vector
& z_L,
133
const
Vector
& z_U,
134
const
Vector
& v_L,
135
const
Vector
& v_U,
136
const
Vector
& slack_x_L,
137
const
Vector
& slack_x_U,
138
const
Vector
& slack_s_L,
139
const
Vector
& slack_s_U,
140
const
Vector
& sigma_x,
141
const
Vector
& sigma_s,
142
Number
alpha,
143
Number
beta,
144
const
IteratesVector
& rhs,
145
IteratesVector
& res);
146
150
void
ComputeResiduals
(
const
SymMatrix
& W,
151
const
Matrix
& J_c,
152
const
Matrix
& J_d,
153
const
Matrix
& Px_L,
154
const
Matrix
& Px_U,
155
const
Matrix
& Pd_L,
156
const
Matrix
& Pd_U,
157
const
Vector
& z_L,
158
const
Vector
& z_U,
159
const
Vector
& v_L,
160
const
Vector
& v_U,
161
const
Vector
& slack_x_L,
162
const
Vector
& slack_x_U,
163
const
Vector
& slack_s_L,
164
const
Vector
& slack_s_U,
165
const
Vector
& sigma_x,
166
const
Vector
& sigma_s,
167
Number
alpha,
168
Number
beta,
169
const
IteratesVector
& rhs,
170
const
IteratesVector
& res,
171
IteratesVector
& resid);
172
176
Number
ComputeResidualRatio
(
const
IteratesVector
& rhs,
177
const
IteratesVector
& res,
178
const
IteratesVector
& resid);
179
183
void
SinvBlrmZPTdBr
(
Number
alpha,
const
Vector
& S,
184
const
Vector
& R,
const
Vector
& Z,
185
const
Matrix
& P,
const
Vector
&
g
,
Vector
& X);
187
};
188
189
}
// namespace Ipopt
190
191
#endif
Generated on Mon Oct 21 2013 19:08:15 for Ipopt by
1.8.4