Class implementating Example 5. More...
#include <MittelmannBndryCntrlNeum.hpp>
Public Member Functions | |
MittelmannBndryCntrlNeum1 () | |
virtual | ~MittelmannBndryCntrlNeum1 () |
virtual bool | InitializeProblem (Index N) |
Initialize internal parameters, where N is a parameter determining the problme size. | |
![]() | |
MittelmannBndryCntrlNeumBase () | |
Constructor. | |
virtual | ~MittelmannBndryCntrlNeumBase () |
Default destructor. | |
virtual bool | get_scaling_parameters (Number &obj_scaling, bool &use_x_scaling, Index n, Number *x_scaling, bool &use_g_scaling, Index m, Number *g_scaling) |
Method for returning scaling parameters. | |
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. | |
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. | |
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. | |
virtual bool | eval_f (Index n, const Number *x, bool new_x, Number &obj_value) |
Method to return the objective value. | |
virtual bool | eval_grad_f (Index n, const Number *x, bool new_x, Number *grad_f) |
Method to return the gradient of the objective. | |
virtual bool | eval_g (Index n, const Number *x, bool new_x, Index m, Number *g) |
Method to return the constraint residuals. | |
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 jacobian (if "values" is not NULL) | |
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 values of the hessian of the lagrangian (if "values" is not NULL) | |
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 after the optimization, and could write an output file with the optimal profiles. |
Protected Member Functions | |
virtual Number | y_d_cont (Number x1, Number x2) const |
Target profile function for y. | |
virtual Number | d_cont (Number x1, Number x2, Number y) const |
Forcing function for the elliptic equation. | |
virtual Number | d_cont_dy (Number x1, Number x2, Number y) const |
First partial derivative of forcing function w.r.t. | |
virtual Number | d_cont_dydy (Number x1, Number x2, Number y) const |
Second partial derivative of forcing function w.r.t y,y. | |
virtual bool | d_cont_dydy_alwayszero () const |
returns true if second partial derivative of d_cont w.r.t. | |
virtual Number | b_cont (Number x1, Number x2, Number y, Number u) const |
Function in Neuman boundary condition. | |
virtual Number | b_cont_dy (Number x1, Number x2, Number y, Number u) const |
First partial derivative of b_cont w.r.t. | |
virtual Number | b_cont_du (Number x1, Number x2, Number y, Number u) const |
First partial derivative of b_cont w.r.t. | |
virtual Number | b_cont_dydy (Number x1, Number x2, Number y, Number u) const |
Second partial derivative of b_cont w.r.t. | |
virtual bool | b_cont_dydy_alwayszero () const |
returns true if second partial derivative of b_cont w.r.t. | |
![]() | |
void | SetBaseParameters (Index N, Number alpha, Number lb_y, Number ub_y, Number lb_u, Number ub_u, Number u_init) |
Method for setting the internal parameters that define the problem. |
Private Member Functions | |
hide implicitly defined contructors copy operators | |
MittelmannBndryCntrlNeum1 (const MittelmannBndryCntrlNeum1 &) | |
MittelmannBndryCntrlNeum1 & | operator= (const MittelmannBndryCntrlNeum1 &) |
Additional Inherited Members | |
![]() | |
enum | LinearityType { LINEAR, NON_LINEAR } |
Type of the constraints. More... | |
enum | IndexStyleEnum { C_STYLE = 0, FORTRAN_STYLE = 1 } |
overload this method to return the number of variables and constraints, and the number of non-zeros in the jacobian and the hessian. More... | |
typedef std::map< std::string, std::vector< std::string > > | StringMetaDataMapType |
overload this method to return the number of variables and constraints, and the number of non-zeros in the jacobian and the hessian. | |
typedef std::map< std::string, std::vector< Index > > | IntegerMetaDataMapType |
overload this method to return the number of variables and constraints, and the number of non-zeros in the jacobian and the hessian. | |
typedef std::map< std::string, std::vector< Number > > | NumericMetaDataMapType |
overload this method to return the number of variables and constraints, and the number of non-zeros in the jacobian and the hessian. |
Class implementating Example 5.
Definition at line 243 of file MittelmannBndryCntrlNeum.hpp.
|
inline |
Definition at line 246 of file MittelmannBndryCntrlNeum.hpp.
|
inlinevirtual |
Definition at line 249 of file MittelmannBndryCntrlNeum.hpp.
|
private |
|
inlinevirtual |
Initialize internal parameters, where N is a parameter determining the problme size.
This returns false, if N has an invalid value.
Implements RegisteredTNLP.
Definition at line 252 of file MittelmannBndryCntrlNeum.hpp.
|
inlineprotectedvirtual |
Target profile function for y.
Implements MittelmannBndryCntrlNeumBase.
Definition at line 270 of file MittelmannBndryCntrlNeum.hpp.
|
inlineprotectedvirtual |
Forcing function for the elliptic equation.
Implements MittelmannBndryCntrlNeumBase.
Definition at line 275 of file MittelmannBndryCntrlNeum.hpp.
|
inlineprotectedvirtual |
First partial derivative of forcing function w.r.t.
y
Implements MittelmannBndryCntrlNeumBase.
Definition at line 280 of file MittelmannBndryCntrlNeum.hpp.
|
inlineprotectedvirtual |
Second partial derivative of forcing function w.r.t y,y.
Implements MittelmannBndryCntrlNeumBase.
Definition at line 285 of file MittelmannBndryCntrlNeum.hpp.
|
inlineprotectedvirtual |
returns true if second partial derivative of d_cont w.r.t.
y,y is always zero.
Implements MittelmannBndryCntrlNeumBase.
Definition at line 291 of file MittelmannBndryCntrlNeum.hpp.
|
inlineprotectedvirtual |
Function in Neuman boundary condition.
Implements MittelmannBndryCntrlNeumBase.
Definition at line 296 of file MittelmannBndryCntrlNeum.hpp.
|
inlineprotectedvirtual |
First partial derivative of b_cont w.r.t.
y
Implements MittelmannBndryCntrlNeumBase.
Definition at line 301 of file MittelmannBndryCntrlNeum.hpp.
|
inlineprotectedvirtual |
First partial derivative of b_cont w.r.t.
u
Implements MittelmannBndryCntrlNeumBase.
Definition at line 306 of file MittelmannBndryCntrlNeum.hpp.
|
inlineprotectedvirtual |
Second partial derivative of b_cont w.r.t.
y,y
Implements MittelmannBndryCntrlNeumBase.
Definition at line 311 of file MittelmannBndryCntrlNeum.hpp.
|
inlineprotectedvirtual |
returns true if second partial derivative of b_cont w.r.t.
y,y is always zero.
Implements MittelmannBndryCntrlNeumBase.
Definition at line 317 of file MittelmannBndryCntrlNeum.hpp.
|
private |