Main Page
Namespaces
Classes
Files
File List
File Members
tmp
buildd
coinor-ipopt-3.10.2
Ipopt
src
Algorithm
Inexact
IpInexactCq.hpp
Go to the documentation of this file.
1
// Copyright (C) 2008 International Business Machines and others.
2
// All Rights Reserved.
3
// This code is published under the Eclipse Public License.
4
//
5
// $Id: IpInexactCq.hpp 1861 2010-12-21 21:34:47Z andreasw $
6
//
7
// Authors: Andreas Waechter IBM 2008-08-31
8
// derived from IpIpoptCalculatedQuantities.hpp
9
10
#ifndef __IPINEXACTCQ_HPP__
11
#define __IPINEXACTCQ_HPP__
12
13
#include "
IpIpoptCalculatedQuantities.hpp
"
14
#include "
IpInexactData.hpp
"
15
16
namespace
Ipopt
17
{
18
22
class
InexactCq
:
public
IpoptAdditionalCq
23
{
24
public
:
25
29
InexactCq
(
IpoptNLP
* ip_nlp,
30
IpoptData
* ip_data,
31
IpoptCalculatedQuantities
* ip_cq);
32
34
virtual
~InexactCq
();
36
40
bool
Initialize
(
const
Journalist
& jnlst,
41
const
OptionsList
& options,
42
const
std::string& prefix);
43
46
static
void
RegisterOptions
(
const
SmartPtr<RegisteredOptions>
& roptions);
48
53
SmartPtr<const Vector>
curr_jac_cdT_times_curr_cdminuss
();
54
56
SmartPtr<const Vector>
curr_scaling_slacks
();
57
59
SmartPtr<const Vector>
curr_slack_scaled_d_minus_s
();
60
62
Number
curr_scaled_Ac_norm
();
63
65
Number
curr_scaled_A_norm2
();
66
69
Number
slack_scaled_norm
(
const
Vector
&
x
,
const
Vector
&s);
70
73
SmartPtr<const Vector>
curr_W_times_vec_x
(
const
Vector
& vec_x);
74
77
SmartPtr<const Vector>
curr_W_times_vec_s
(
const
Vector
& vec_s);
78
81
SmartPtr<const Vector>
curr_Wu_x
();
82
85
SmartPtr<const Vector>
curr_Wu_s
();
86
89
Number
curr_uWu
();
90
93
SmartPtr<const Vector>
curr_jac_times_normal_c
();
94
97
SmartPtr<const Vector>
curr_jac_times_normal_d
();
98
99
private
:
109
InexactCq
();
110
112
InexactCq
(
const
InexactCq
&);
113
115
void
operator=
(
const
InexactCq
&);
117
122
IpoptNLP
*
ip_nlp_
;
123
IpoptData
*
ip_data_
;
124
IpoptCalculatedQuantities
*
ip_cq_
;
126
128
InexactData
&
InexData
()
129
{
130
InexactData
& inexact_data =
131
static_cast<
InexactData
&
>
(
ip_data_
->
AdditionalData
());
132
DBG_ASSERT
(dynamic_cast<InexactData*>(&
ip_data_
->
AdditionalData
()));
133
return
inexact_data;
134
}
135
138
CachedResults<SmartPtr<const Vector>
>
curr_jac_cdT_times_curr_cdminuss_cache_
;
139
CachedResults<SmartPtr<const Vector>
>
curr_scaling_slacks_cache_
;
140
CachedResults<SmartPtr<const Vector>
>
curr_slack_scaled_d_minus_s_cache_
;
141
CachedResults<Number>
curr_scaled_Ac_norm_cache_
;
142
CachedResults<Number>
slack_scaled_norm_cache_
;
143
CachedResults<SmartPtr<const Vector>
>
curr_W_times_vec_x_cache_
;
144
CachedResults<SmartPtr<const Vector>
>
curr_W_times_vec_s_cache_
;
145
CachedResults<SmartPtr<const Vector>
>
curr_Wu_x_cache_
;
146
CachedResults<SmartPtr<const Vector>
>
curr_Wu_s_cache_
;
147
CachedResults<Number>
curr_uWu_cache_
;
148
CachedResults<SmartPtr<const Vector>
>
curr_jac_times_normal_c_cache_
;
149
CachedResults<SmartPtr<const Vector>
>
curr_jac_times_normal_d_cache_
;
151
153
Number
slack_scale_max_
;
154
};
155
156
}
// namespace Ipopt
157
158
#endif
Generated on Tue Jun 26 2012 17:01:43 by
1.8.1.1