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
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 Mon Oct 21 2013 19:08:14 for Ipopt by
1.8.4