Main Page
Namespaces
Classes
Files
File List
File Members
build
buildd
coinor-ipopt-3.10.2
Ipopt
contrib
sIPOPT
examples
parametric_cpp
parametricTNLP.hpp
Go to the documentation of this file.
1
// Copyright 2010 Hans Pirnay
2
// All Rights Reserved.
3
// This code is published under the Eclipse Public License.
4
//
5
// Date : 2010-01-05
6
7
#ifndef __PARAMETRICTNLPEXAMPLE_HPP__
8
#define __PARAMETRICTNLPEXAMPLE_HPP__
9
10
#include "
IpTNLP.hpp
"
11
12
namespace
Ipopt
13
{
14
15
class
ParametricTNLP
:
public
TNLP
16
{
17
public
:
18
20
ParametricTNLP
();
21
23
virtual
~ParametricTNLP
();
24
28
virtual
bool
get_nlp_info
(
Index
& n,
Index
&
m
,
Index
& nnz_jac_g,
29
Index
& nnz_h_lag,
IndexStyleEnum
&
index_style
);
30
32
virtual
bool
get_bounds_info
(
Index
n,
Number
* x_l,
Number
* x_u,
33
Index
m,
Number
* g_l,
Number
* g_u);
34
36
virtual
bool
get_starting_point
(
Index
n,
bool
init_x,
Number
*
x
,
37
bool
init_z,
Number
* z_L,
Number
* z_U,
38
Index
m,
bool
init_lambda,
39
Number
* lambda);
40
42
virtual
bool
eval_f
(
Index
n,
const
Number
* x,
bool
new_x,
Number
& obj_value);
43
45
virtual
bool
eval_grad_f
(
Index
n,
const
Number
* x,
bool
new_x,
Number
* grad_f);
46
48
virtual
bool
eval_g
(
Index
n,
const
Number
* x,
bool
new_x,
Index
m,
Number
*
g
);
49
54
virtual
bool
eval_jac_g
(
Index
n,
const
Number
* x,
bool
new_x,
55
Index
m,
Index
nele_jac
,
Index
* iRow,
Index
*jCol,
56
Number
* values);
57
62
virtual
bool
eval_h
(
Index
n,
const
Number
* x,
bool
new_x,
63
Number
obj_factor,
Index
m,
const
Number
* lambda,
64
bool
new_lambda,
Index
nele_hess
,
Index
* iRow,
65
Index
* jCol,
Number
* values);
66
68
69
virtual
bool
get_var_con_metadata
(
Index
n,
70
StringMetaDataMapType
& var_string_md,
71
IntegerMetaDataMapType
& var_integer_md,
72
NumericMetaDataMapType
& var_numeric_md,
73
Index
m,
74
StringMetaDataMapType
& con_string_md,
75
IntegerMetaDataMapType
& con_integer_md,
76
NumericMetaDataMapType
& con_numeric_md);
77
81
virtual
void
finalize_solution
(
SolverReturn
status,
82
Index
n,
const
Number
* x,
const
Number
* z_L,
const
Number
* z_U,
83
Index
m,
const
Number
* g,
const
Number
* lambda,
84
Number
obj_value,
85
const
IpoptData
* ip_data,
86
IpoptCalculatedQuantities
* ip_cq);
87
90
virtual
void
finalize_metadata
(
Index
n,
91
const
StringMetaDataMapType
& var_string_md,
92
const
IntegerMetaDataMapType
& var_integer_md,
93
const
NumericMetaDataMapType
& var_numeric_md,
94
Index
m,
95
const
StringMetaDataMapType
& con_string_md,
96
const
IntegerMetaDataMapType
& con_integer_md,
97
const
NumericMetaDataMapType
& con_numeric_md);
99
100
private
:
112
ParametricTNLP
(
const
ParametricTNLP
&);
113
ParametricTNLP
&
operator=
(
const
ParametricTNLP
&);
115
116
117
/* Nominal and perturbed parameter values */
118
Number
nominal_eta1_
;
119
Number
nominal_eta2_
;
120
121
Number
eta_1_perturbed_value_
;
122
Number
eta_2_perturbed_value_
;
123
};
124
125
}
126
127
#endif
Generated on Fri Jun 29 2012 06:35:12 by
1.8.1.1