7 #ifndef __IPSTDINTERFACETNLP_HPP__
8 #define __IPSTDINTERFACETNLP_HPP__
67 const Number* x_scaling = NULL,
68 const Number* g_scaling = NULL
174 Number regularization_size,
Bool(* Intermediate_CB)(Index alg_mod, Index iter_count, Number obj_value, Number inf_pr, Number inf_du, Number mu, Number d_norm, Number regularization_size, Number alpha_du, Number alpha_pr, Index ls_trials, UserDataPtr user_data)
Type defining the callback function for giving intermediate execution control to the user...
const Number * x_U_
Pointer to Number array containing upper bounds for variables.
Bool(* Eval_Grad_F_CB)(Index n, Number *x, Bool new_x, Number *grad_f, UserDataPtr user_data)
Type defining the callback function for evaluating the gradient of the objective function.
Bool(* Eval_F_CB)(Index n, Number *x, Bool new_x, Number *obj_value, UserDataPtr user_data)
Type defining the callback function for evaluating the value of the objective function.
const Index nele_hess_
Number of non-zero elements in the Hessian.
Implementation of a TNLP for the Standard C interface.
Class for all IPOPT specific calculated quantities.
StdInterfaceTNLP()
Default Constructor.
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 request either the sparsity structure or the values of the Hessian of the Lagrangian...
Eval_F_CB eval_f_
Pointer to callback function evaluating value of objective function.
const Number * start_z_U_
Pointer to Number array containing starting values for upper bound multipliers.
const Index index_style_
Starting value of the iRow and jCol parameters for matrices.
const Number * x_scaling_
Scaling factors for variables (if not NULL)
Number * non_const_x_
A non-const copy of x - this is kept up-to-date in apply_new_x.
const Number * start_x_
Pointer to Number array containing starting point for variables.
virtual bool eval_g(Index n, const Number *x, bool new_x, Index m, Number *g)
Method to request the constraint values.
AlgorithmMode
enum to indicate the mode in which the algorithm is
DECLARE_STD_EXCEPTION(FATAL_ERROR_IN_LINEAR_SOLVER)
double Number
Type of all numbers.
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 to request scaling parameters.
const Index nele_jac_
Number of non-zero elements in the constraint Jacobian.
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 has finished (successfully or not) so the TNLP can digest th...
Template class for Smart Pointers.
Number obj_scaling_
Objective scaling factor.
const Number * g_U_
Pointer to Number array containing upper bounds for constraints.
Eval_G_CB eval_g_
Pointer to callback function evaluating value of constraints.
SolverReturn
enum for the return from the optimize algorithm
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 request either the sparsity structure or the values of the Jacobian of the constraints...
const Index n_con_
Number of constraints.
const Number * start_lam_
Pointer to Number array containing starting values for constraint multipliers.
SmartPtr< const Journalist > jnlst_
Journalist.
Eval_Grad_F_CB eval_grad_f_
Pointer to callback function evaluating gradient of objective function.
Class to organize all the data required by the algorithm.
int Index
Type of all indices of vectors, matrices etc.
virtual bool eval_grad_f(Index n, const Number *x, bool new_x, Number *grad_f)
Method to request the gradient of the objective function.
Bool(* Eval_Jac_G_CB)(Index n, Number *x, Bool new_x, Index m, Index nele_jac, Index *iRow, Index *jCol, Number *values, UserDataPtr user_data)
Type defining the callback function for evaluating the Jacobian of the constrant functions.
virtual bool get_bounds_info(Index n, Number *x_l, Number *x_u, Index m, Number *g_l, Number *g_u)
Method to request bounds on the variables and constraints.
Eval_Jac_G_CB eval_jac_g_
Pointer to callback function evaluating Jacobian of constraints.
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 request the starting point before iterating.
virtual bool eval_f(Index n, const Number *x, bool new_x, Number &obj_value)
Method to request the value of the objective function.
const Index n_var_
Number of variables.
Intermediate_CB intermediate_cb_
Pointer to intermediate callback function giving control to user.
virtual bool intermediate_callback(AlgorithmMode mode, Index iter, Number obj_value, Number inf_pr, Number inf_du, Number mu, Number d_norm, Number regularization_size, Number alpha_du, Number alpha_pr, Index ls_trials, const IpoptData *ip_data, IpoptCalculatedQuantities *ip_cq)
Intermediate Callback method for the user.
virtual bool get_nlp_info(Index &n, Index &m, Index &nnz_jac_g, Index &nnz_h_lag, IndexStyleEnum &index_style)
Method to request the initial information about the problem.
const Number * g_L_
Pointer to Number array containing lower bounds for constraints.
UserDataPtr user_data_
Pointer to user data.
Base class for all NLP's that use standard triplet matrix form and dense vectors. ...
Bool(* Eval_G_CB)(Index n, Number *x, Bool new_x, Index m, Number *g, UserDataPtr user_data)
Type defining the callback function for evaluating the value of the constraint functions.
void * UserDataPtr
A pointer for anything that is to be passed between the called and individual callback function...
Eval_H_CB eval_h_
Pointer to callback function evaluating Hessian of Lagrangian.
void apply_new_x(bool new_x, Index n, const Number *x)
Update the internal state if the x value changes.
const Number * x_L_
Pointer to Number array containing lower bounds for variables.
const Number * g_scaling_
Scaling factors for constraints (if not NULL)
Bool(* Eval_H_CB)(Index n, Number *x, Bool new_x, Number obj_factor, Index m, Number *lambda, Bool new_lambda, Index nele_hess, Index *iRow, Index *jCol, Number *values, UserDataPtr user_data)
Type defining the callback function for evaluating the Hessian of the Lagrangian function.
void operator=(const StdInterfaceTNLP &)
Default Assignment Operator.
const Number * start_z_L_
Pointer to Number array containing starting values for lower bound multipliers.
virtual ~StdInterfaceTNLP()
Default destructor.