Ipopt  3.11.9
LuksanVlcek2.hpp
Go to the documentation of this file.
1 // Copyright (C) 2005, 2006 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // $Id: LuksanVlcek2.hpp 1861 2010-12-21 21:34:47Z andreasw $
6 //
7 // Authors: Andreas Waechter IBM 2005-10-127
8 
9 #ifndef __LUKSANVLCEK2_HPP__
10 #define __LUKSANVLCEK2_HPP__
11 
12 #include "RegisteredTNLP.hpp"
13 
14 using namespace Ipopt;
15 
20 {
21 public:
27 
29  virtual ~LuksanVlcek2()
30  {}
31  ;
32 
34  virtual bool InitializeProblem(Index N);
35 
39  virtual bool get_nlp_info(Index& n, Index& m, Index& nnz_jac_g,
40  Index& nnz_h_lag, IndexStyleEnum& index_style);
41 
43  virtual bool get_bounds_info(Index n, Number* x_l, Number* x_u,
44  Index m, Number* g_l, Number* g_u);
45 
47  virtual bool get_starting_point(Index n, bool init_x, Number* x,
48  bool init_z, Number* z_L, Number* z_U,
49  Index m, bool init_lambda,
50  Number* lambda);
51 
53  virtual bool eval_f(Index n, const Number* x, bool new_x, Number& obj_value);
54 
56  virtual bool eval_grad_f(Index n, const Number* x, bool new_x, Number* grad_f);
57 
59  virtual bool eval_g(Index n, const Number* x, bool new_x, Index m, Number* g);
60 
65  virtual bool eval_jac_g(Index n, const Number* x, bool new_x,
66  Index m, Index nele_jac, Index* iRow, Index *jCol,
67  Number* values);
68 
73  virtual bool eval_h(Index n, const Number* x, bool new_x,
74  Number obj_factor, Index m, const Number* lambda,
75  bool new_lambda, Index nele_hess, Index* iRow,
76  Index* jCol, Number* values);
77 
79 
83  virtual void finalize_solution(SolverReturn status,
84  Index n, const Number* x, const Number* z_L, const Number* z_U,
85  Index m, const Number* g, const Number* lambda,
86  Number obj_value,
87  const IpoptData* ip_data,
90 
91 private:
107 
110 
115 };
116 
117 #endif
Ipopt::IpoptData
Class to organize all the data required by the algorithm.
Definition: IpIpoptData.hpp:84
LuksanVlcek2::g_u_
Number g_u_
General upper bound for all constraints.
Definition: LuksanVlcek2.hpp:114
RegisteredTNLP
Class implemented the NLP discretization of.
Definition: RegisteredTNLP.hpp:21
Ipopt::IpoptCalculatedQuantities
Class for all IPOPT specific calculated quantities.
Definition: IpIpoptCalculatedQuantities.hpp:82
LuksanVlcek2::~LuksanVlcek2
virtual ~LuksanVlcek2()
Default destructor.
Definition: LuksanVlcek2.hpp:29
Ipopt
Definition: matlabjournal.hpp:14
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
LuksanVlcek2::N_
Index N_
Parameter determining problem size.
Definition: LuksanVlcek2.hpp:109
LuksanVlcek2::eval_h
virtual bool eval_h(Index n, const Number *x, bool new_x, Number obj_factor, Index m, const Number *lambda, bool new_lambda, Index nele_hess, Index *iRow, Index *jCol, Number *values)
Method to return: 1) The structure of the hessian of the lagrangian (if "values" is NULL) 2) The valu...
LuksanVlcek2
Implementation of Example 5.2 from "Sparse and Parially Separable Test Problems for Unconstrained and...
Definition: LuksanVlcek2.hpp:20
x
Number * x
Input: Starting point Output: Optimal solution.
Definition: IpStdCInterface.h:238
LuksanVlcek2::eval_g
virtual bool eval_g(Index n, const Number *x, bool new_x, Index m, Number *g)
Method to return the constraint residuals.
nele_hess
Number Number Index Number Number Index Index nele_hess
Number of non-zero elements in Hessian of Lagrangian.
Definition: IpStdCInterface.h:166
nele_jac
Number Number Index Number Number Index nele_jac
Number of non-zero elements in constraint Jacobian.
Definition: IpStdCInterface.h:164
Ipopt::Index
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:19
LuksanVlcek2::operator=
LuksanVlcek2 & operator=(const LuksanVlcek2 &)
LuksanVlcek2::get_starting_point
virtual bool get_starting_point(Index n, bool init_x, Number *x, bool init_z, Number *z_L, Number *z_U, Index m, bool init_lambda, Number *lambda)
Method to return the starting point for the algorithm.
LuksanVlcek2::eval_jac_g
virtual bool eval_jac_g(Index n, const Number *x, bool new_x, Index m, Index nele_jac, Index *iRow, Index *jCol, Number *values)
Method to return: 1) The structure of the jacobian (if "values" is NULL) 2) The values of the jacobia...
LuksanVlcek2::LuksanVlcek2
LuksanVlcek2()
LuksanVlcek2::LuksanVlcek2
LuksanVlcek2(Number g_l, Number g_u)
Constructor.
LuksanVlcek2::get_nlp_info
virtual bool get_nlp_info(Index &n, Index &m, Index &nnz_jac_g, Index &nnz_h_lag, IndexStyleEnum &index_style)
Method to return some info about the nlp.
g
Number Number * g
Values of constraint at final point (output only - ignored if set to NULL)
Definition: IpStdCInterface.h:240
LuksanVlcek2::InitializeProblem
virtual bool InitializeProblem(Index N)
Overloaded from RegisteredTNLP.
Ipopt::TNLP::IndexStyleEnum
IndexStyleEnum
overload this method to return the number of variables and constraints, and the number of non-zeros i...
Definition: IpTNLP.hpp:80
LuksanVlcek2::eval_grad_f
virtual bool eval_grad_f(Index n, const Number *x, bool new_x, Number *grad_f)
Method to return the gradient of the objective.
LuksanVlcek2::finalize_solution
virtual void finalize_solution(SolverReturn status, Index n, const Number *x, const Number *z_L, const Number *z_U, Index m, const Number *g, const Number *lambda, Number obj_value, const IpoptData *ip_data, IpoptCalculatedQuantities *ip_cq)
This method is called when the algorithm is complete so the TNLP can store/write the solution.
Ipopt::SolverReturn
SolverReturn
enum for the return from the optimize algorithm (obviously we need to add more)
Definition: IpAlgTypes.hpp:22
LuksanVlcek2::get_bounds_info
virtual bool get_bounds_info(Index n, Number *x_l, Number *x_u, Index m, Number *g_l, Number *g_u)
Method to return the bounds for my problem.
RegisteredTNLP.hpp
LuksanVlcek2::LuksanVlcek2
LuksanVlcek2(const LuksanVlcek2 &)
LuksanVlcek2::eval_f
virtual bool eval_f(Index n, const Number *x, bool new_x, Number &obj_value)
Method to return the objective value.
index_style
Number Number Index Number Number Index Index Index index_style
indexing style for iRow & jCol, 0 for C style, 1 for Fortran style
Definition: IpStdCInterface.h:168
LuksanVlcek2::g_l_
Number g_l_
General lower bound for all constraints.
Definition: LuksanVlcek2.hpp:112
m
Number Number Index m
Number of constraints.
Definition: IpStdCInterface.h:146