Main Page
Namespaces
Classes
Files
File List
File Members
tmp
buildd
coinor-ipopt-3.10.2
Ipopt
examples
Cpp_example
MyNLP.hpp
Go to the documentation of this file.
1
// Copyright (C) 2004, 2006 International Business Machines and others.
2
// All Rights Reserved.
3
// This code is published under the Eclipse Public License.
4
//
5
// $Id: MyNLP.hpp 1861 2010-12-21 21:34:47Z andreasw $
6
//
7
// Authors: Carl Laird, Andreas Waechter IBM 2004-11-05
8
9
#ifndef __MYNLP_HPP__
10
#define __MYNLP_HPP__
11
12
#include "
IpTNLP.hpp
"
13
14
using namespace
Ipopt;
15
28
class
MyNLP
:
public
TNLP
29
{
30
public
:
32
MyNLP
();
33
35
virtual
~
MyNLP
();
36
40
virtual
bool
get_nlp_info(
Index
& n,
Index
&
m
,
Index
& nnz_jac_g,
41
Index
& nnz_h_lag,
IndexStyleEnum
&
index_style
);
42
44
virtual
bool
get_bounds_info(
Index
n,
Number
* x_l,
Number
* x_u,
45
Index
m,
Number
* g_l,
Number
* g_u);
46
48
virtual
bool
get_starting_point(
Index
n,
bool
init_x,
Number
*
x
,
49
bool
init_z,
Number
* z_L,
Number
* z_U,
50
Index
m,
bool
init_lambda,
51
Number
* lambda);
52
54
virtual
bool
eval_f
(
Index
n,
const
Number
* x,
bool
new_x,
Number
& obj_value);
55
57
virtual
bool
eval_grad_f
(
Index
n,
const
Number
* x,
bool
new_x,
Number
* grad_f);
58
60
virtual
bool
eval_g
(
Index
n,
const
Number
* x,
bool
new_x,
Index
m,
Number
*
g
);
61
66
virtual
bool
eval_jac_g
(
Index
n,
const
Number
* x,
bool
new_x,
67
Index
m,
Index
nele_jac
,
Index
* iRow,
Index
*jCol,
68
Number
* values);
69
74
virtual
bool
eval_h
(
Index
n,
const
Number
* x,
bool
new_x,
75
Number
obj_factor,
Index
m,
const
Number
* lambda,
76
bool
new_lambda,
Index
nele_hess
,
Index
* iRow,
77
Index
* jCol,
Number
* values);
78
80
84
virtual
void
finalize_solution(
SolverReturn
status,
85
Index
n,
const
Number
* x,
const
Number
* z_L,
const
Number
* z_U,
86
Index
m,
const
Number
* g,
const
Number
* lambda,
87
Number
obj_value,
88
const
IpoptData
* ip_data,
89
IpoptCalculatedQuantities
* ip_cq);
91
92
private
:
104
// MyNLP();
105
MyNLP
(
const
MyNLP
&);
106
MyNLP
& operator=(
const
MyNLP
&);
108
};
109
110
111
#endif
Generated on Tue Jun 26 2012 17:01:43 by
1.8.1.1