26 #ifndef CASADI_MADNLP_INTERFACE_HPP
27 #define CASADI_MADNLP_INTERFACE_HPP
31 #include "casadi/core/nlpsol_impl.hpp"
32 #include "casadi/core/timing.hpp"
36 int init_julia(
int,
char**);
37 void shutdown_julia(
int);
42 #include "madnlp_runtime.hpp"
47 #define CASADI_NLPSOL_MADNLP_EXPORT __attribute__((visibility("default")))
76 std::string
class_name()
const override {
return "MadnlpInterface";}
90 void init(
const Dict& opts)
override;
96 int init_mem(
void* mem)
const override;
99 void free_mem(
void *mem)
const override;
102 Dict get_stats(
void* mem)
const override;
105 void set_work(
void* mem,
const double**& arg,
double**& res,
106 casadi_int*& iw,
double*& w)
const override;
109 int solve(
void* mem)
const override;
128 void set_madnlp_prob();
160 std::vector<madnlp_int> nws_;
161 std::vector<madnlp_int> ngs_;
163 std::vector<madnlp_int> nzj_i_;
164 std::vector<madnlp_int> nzj_j_;
165 std::vector<madnlp_int> nzh_i_;
166 std::vector<madnlp_int> nzh_j_;
Helper class for C code generation.
Helper class for Serialization.
'madnlp' plugin for Nlpsol
const Options & get_options() const override
Options.
static const Options options_
Options.
std::string class_name() const override
Get type name.
void * alloc_mem() const override
Create memory block.
static Nlpsol * creator(const std::string &name, const Function &nlp)
Create a new NLP Solver.
bool convexify_
convexify?
std::string codegen_mem_type() const override
Thread-local memory object type.
static const std::string meta_doc
A documentation string.
const char * plugin_name() const override
bool exact_hessian_
Exact Hessian?
static ProtoFunction * deserialize(DeserializingStream &s)
Deserialize into MX.
Dict opts_
All MADNLP options.
ConvexifyData convexify_data_
Data for convexification.
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.
casadi_madnlp_data< double > d
Options metadata for a class.