7#ifndef __SENSAMPLTNLP_HPP__
8#define __SENSAMPLTNLP_HPP__
53 bool allow_discrete =
false,
55 const char* ampl_option_string = NULL,
56 const char* ampl_invokation_string = NULL,
57 const char* ampl_banner_string = NULL,
58 std::string* nl_file_content = NULL,
59 bool checkinterrupt =
false
105 const char* suffix_name
109 const char* suffix_name
113 const char* suffix_name
117 const char* suffix_name
121 const char* suffix_name
125 const char* suffix_name
129 const char* suffix_name
Ampl Interface, implemented as a TNLP.
Class for all IPOPT specific calculated quantities.
Class to organize all the data required by the algorithm.
This is the base class for all exceptions.
SUFFIX_EMPTY(std::string msg, std::string fname, Ipopt::Index line)
SUFFIX_EMPTY(const SUFFIX_EMPTY ©)
void operator=(const SUFFIX_EMPTY &)
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< int > 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 returns any metadata collected during the run of the algorithm.
std::vector< Number > get_number_suffix_vec(const char *suffix_name)
bool compute_red_hessian_
SensAmplTNLP(const SmartPtr< const Journalist > &jnlst, const SmartPtr< RegisteredOptions > regoptions, 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, bool checkinterrupt=false)
This class is the Sens-wrapper for the ampltnlp, adapts the get bounds function and some others to ou...
const int * get_index_suffix(const char *suffix_name)
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...
Index n_sens_steps_
important Options
std::vector< int > get_index_suffix_constr_vec(const char *suffix_name)
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)
Method to request meta data for the variables and the constraints.
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.
const Number * get_number_suffix(const char *suffix_name)
std::vector< SmartPtr< IteratesVector > > sens_sol_
SmartPtr< OptionsList > options_
const int * get_index_suffix_constr(const char *suffix_name)
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
This file contains a base class for all exceptions and a set of macros to help with exceptions.
SolverReturn
enum for the return from the optimize algorithm
ipindex Index
Type of all indices of vectors, matrices etc.
ipnumber Number
Type of all numbers.