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);
#define DECLARE_STD_EXCEPTION(__except_type)
Number * x
Input: Starting point Output: Optimal solution.
Number Number * g
Values of constraint at final point (output only - ignored if set to NULL)
Number Number Index m
Number of constraints.
Class for all IPOPT specific calculated quantities.
Class to organize all the data required by the algorithm.
Number * parameter_values_
void set_sens_solution(Index idx, SmartPtr< IteratesVector > sens_sol)
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)
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.
std::vector< Number > get_number_suffix_vec(const char *suffix_name)
bool compute_red_hessian_
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.
Index n_sens_steps_
important Options
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
std::vector< SmartPtr< IteratesVector > > sens_sol_
const Number * get_number_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.
std::vector< Index > get_index_suffix_constr_vec(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...
const Number * get_number_suffix(const char *suffix_name)
const Index * get_index_suffix_constr(const char *suffix_name)
const Index * get_index_suffix(const char *suffix_name)
SmartPtr< OptionsList > options_
Template class for Smart Pointers.
std::map< std::string, std::vector< Index > > IntegerMetaDataMapType
std::map< std::string, std::vector< Number > > NumericMetaDataMapType
std::map< std::string, std::vector< std::string > > StringMetaDataMapType
SolverReturn
enum for the return from the optimize algorithm (obviously we need to add more)
int Index
Type of all indices of vectors, matrices etc.
double Number
Type of all numbers.