Main Page
Namespaces
Classes
Files
File List
File Members
tmp
buildd
coinor-ipopt-3.10.2
Ipopt
src
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 2073 2012-02-12 15:54:34Z 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 on Tue Jun 26 2012 17:01:43 by
1.8.1.1