7 #ifndef __SENSAMPLTNLP_HPP__
8 #define __SENSAMPLTNLP_HPP__
28 bool allow_discrete =
false,
30 const char* ampl_option_string = NULL ,
31 const char* ampl_invokation_string = NULL,
32 const char* ampl_banner_string = NULL,
33 std::string* nl_file_content = NULL);
std::map< std::string, std::vector< Number > > NumericMetaDataMapType
Number * x
Input: Starting point Output: Optimal solution.
void set_sens_solution(Index idx, SmartPtr< IteratesVector > sens_sol)
Class for all IPOPT specific calculated quantities.
virtual bool get_var_con_metadata(Index n, StringMetaDataMapType &var_string_md, IntegerMetaDataMapType &var_integer_md, NumericMetaDataMapType &var_numeric_md, Index m, StringMetaDataMapType &con_string_md, IntegerMetaDataMapType &con_integer_md, NumericMetaDataMapType &con_numeric_md)
returns names and other meta data for the variables and constraints Overloaded from TNLP ...
Number Number Index m
Number of constraints.
const Index * get_index_suffix(const char *suffix_name)
SensAmplTNLP(const SmartPtr< const Journalist > &jnlst, const SmartPtr< OptionsList > options, char **&argv, SmartPtr< AmplSuffixHandler > suffix_handler=NULL, bool allow_discrete=false, SmartPtr< AmplOptionsList > ampl_options_list=NULL, const char *ampl_option_string=NULL, const char *ampl_invokation_string=NULL, const char *ampl_banner_string=NULL, std::string *nl_file_content=NULL)
This class is the Sens-wrapper for the ampltnlp, adapts the get bounds function and some others to ou...
Number Number * g
Values of constraint at final point (output only - ignored if set to NULL)
bool compute_red_hessian_
double Number
Type of all numbers.
Number * parameter_values_
std::vector< SmartPtr< IteratesVector > > sens_sol_
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...
Template class for Smart Pointers.
std::vector< Index > get_index_suffix_constr_vec(const char *suffix_name)
SolverReturn
enum for the return from the optimize algorithm (obviously we need to add more)
SmartPtr< const Journalist > jnlst_
local copy of current lower and upper bounds - needed for parameter change
std::vector< Index > get_index_suffix_vec(const char *suffix_name)
const Number * get_number_suffix(const char *suffix_name)
std::vector< Number > get_number_suffix_vec(const char *suffix_name)
Class to organize all the data required by the algorithm.
int Index
Type of all indices of vectors, matrices etc.
const Number * get_number_suffix_constr(const char *suffix_name)
std::map< std::string, std::vector< Index > > IntegerMetaDataMapType
Index n_sens_steps_
important Options
std::map< std::string, std::vector< std::string > > StringMetaDataMapType
DECLARE_STD_EXCEPTION(SUFFIX_EMPTY)
const Index * get_index_suffix_constr(const char *suffix_name)
virtual bool get_bounds_info(Index n, Number *x_l, Number *x_u, Index m, Number *g_l, Number *g_u)
returns bounds of the nlp.
virtual void finalize_metadata(Index n, const StringMetaDataMapType &var_string_md, const IntegerMetaDataMapType &var_integer_md, const NumericMetaDataMapType &var_numeric_md, Index m, const StringMetaDataMapType &con_string_md, const IntegerMetaDataMapType &con_integer_md, const NumericMetaDataMapType &con_numeric_md)
This method is called just before finalize_solution.
SmartPtr< OptionsList > options_