26 #ifndef CASADI_KNITRO_INTERFACE_HPP
27 #define CASADI_KNITRO_INTERFACE_HPP
29 #include <casadi/interfaces/knitro/casadi_nlpsol_knitro_export.h>
31 #include "casadi/core/nlpsol_impl.hpp"
45 class KnitroInterface;
58 double *wlbx, *wubx, *
wlbg, *wubg;
86 std::string
class_name()
const override {
return "KnitroInterface";}
100 void init(
const Dict& opts)
override;
106 int init_mem(
void* mem)
const override;
112 void set_work(
void* mem,
const double**& arg,
double**& res,
113 casadi_int*& iw,
double*& w)
const override;
116 int solve(
void* mem)
const override;
122 static int callback(KN_context_ptr kc,
124 KN_eval_request_ptr
const evalRequest,
125 KN_eval_result_ptr
const evalResult,
126 void *
const userParams);
129 static const char* return_codes(
int flag);
132 Dict get_stats(
void* mem)
const override;
Helper class for Serialization.
'knitro' plugin for Nlpsol
std::vector< int > comp_i1_
static const std::string meta_doc
A documentation string.
static Nlpsol * creator(const std::string &name, const Function &nlp)
Create a new NLP Solver.
void free_mem(void *mem) const override
Free memory block.
const Options & get_options() const override
Options.
std::string options_file_
std::string class_name() const override
Get type name.
std::vector< int > comp_type_
static const Options options_
Options.
bool integer_support() const override
Can discrete variables be treated.
void * alloc_mem() const override
Create memory block.
const char * plugin_name() const override
std::vector< int > comp_i2_
static ProtoFunction * deserialize(DeserializingStream &s)
Deserialize into MX.
std::vector< int > contype_
NLP solver storage class.
Base class for FunctionInternal and LinsolInternal.
Helper class for Serialization.
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.
const char * return_status
Options metadata for a class.