Ipopt
3.11.8
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Algorithm
Inexact
IpInexactPDTerminationTester.hpp
Go to the documentation of this file.
1
// Copyright (C) 2008, 2011 International Business Machines and others.
2
// All Rights Reserved.
3
// This code is published under the Eclipse Public License.
4
//
5
// $Id: IpInexactPDTerminationTester.hpp 2442 2013-11-26 11:32:00Z stefan $
6
//
7
// Authors: Andreas Waechter IBM 2008-09-19
8
9
#ifndef __IPINEXACTPDTERMINATIONTESTER_HPP__
10
#define __IPINEXACTPDTERMINATIONTESTER_HPP__
11
12
#include "
IpIterativeSolverTerminationTester.hpp
"
13
14
namespace
Ipopt
15
{
16
20
class
InexactPDTerminationTester
:
public
IterativeSolverTerminationTester
21
{
22
public
:
27
InexactPDTerminationTester
();
28
30
virtual
~InexactPDTerminationTester
();
32
33
/* overloaded from AlgorithmStrategyObject */
34
virtual
bool
InitializeImpl
(
const
OptionsList
& options,
35
const
std::string& prefix);
36
39
static
void
RegisterOptions
(
SmartPtr<RegisteredOptions>
roptions);
41
44
virtual
bool
InitializeSolve
();
45
52
virtual
ETerminationTest
TestTermination
(
Index
ndim,
const
Number
* sol,
53
const
Number
* resid,
Index
iter,
54
Number
norm2_rhs);
55
58
virtual
void
Clear
();
59
62
virtual
Index
GetSolverIterations
()
const
63
{
64
return
last_iter_
;
65
}
66
67
private
:
77
InexactPDTerminationTester
&
operator=
(
const
InexactPDTerminationTester
&);
79
83
Number
tcc_psi_
;
85
Number
tcc_theta_
;
88
Number
tcc_theta_mu_exponent_
;
90
Number
tcc_zeta_
;
92
Number
tt_kappa1_
;
94
Number
tt_kappa2_
;
96
Number
tt_eps2_
;
98
Number
tt_eps3_
;
101
Number
rho_
;
103
Number
inexact_desired_pd_residual_
;
105
Index
inexact_desired_pd_residual_iter_
;
107
bool
requires_scaling_
;
109
113
SmartPtr<const Vector>
curr_Av_c_
;
114
SmartPtr<const Vector>
curr_Av_d_
;
115
Number
c_norm_
;
116
Number
c_plus_Av_norm_
;
117
Number
v_norm_scaled_
;
118
SmartPtr<const Vector>
curr_grad_barrier_obj_x_
;
119
SmartPtr<const Vector>
curr_grad_barrier_obj_s_
;
// in original space
120
SmartPtr<const Matrix>
curr_jac_c_
;
121
SmartPtr<const Matrix>
curr_jac_d_
;
122
SmartPtr<const Vector>
curr_scaling_slacks_
;
123
SmartPtr<Vector>
curr_nabla_phi_plus_ATy_x_
;
124
SmartPtr<Vector>
curr_nabla_phi_plus_ATy_s_
;
// in scaled space
125
Number
curr_Av_norm_
;
126
Number
curr_tt1_norm_
;
127
Number
curr_tt2_norm_
;
128
SmartPtr<const Vector>
curr_Wv_x_
;
129
SmartPtr<const Vector>
curr_Wv_s_
;
// in original space
130
bool
try_tt2_
;
132
136
Number
last_Av_norm_
;
137
Number
last_tt1_norm_
;
139
141
Index
last_iter_
;
142
};
143
144
}
// namespace Ipopt
145
146
#endif
Generated by
1.8.3.1