25 #ifndef CASADI_CBC_INTERFACE_HPP
26 #define CASADI_CBC_INTERFACE_HPP
28 #include "casadi/core/conic_impl.hpp"
29 #include <casadi/interfaces/cbc/casadi_conic_cbc_export.h>
31 #include "OsiClpSolverInterface.hpp"
32 #include "CbcModel.hpp"
33 #include "CbcEventHandler.hpp"
79 const std::map<std::string, Sparsity>& st) {
85 const std::map<std::string, Sparsity>& st);
94 std::string
class_name()
const override {
return "CbcInterface";}
103 void init(
const Dict& opts)
override;
109 int init_mem(
void* mem)
const override;
115 Dict get_stats(
void* mem)
const override;
118 int solve(
const double** arg,
double** res,
119 casadi_int* iw,
double* w,
void* mem)
const override;
141 static std::map<std::string, CbcModel::CbcIntParam> param_map_int;
142 static std::map<std::string, CbcModel::CbcDblParam> param_map_double;
143 static std::map<std::string, OsiIntParam> osi_param_map_int;
144 static std::map<std::string, OsiDblParam> osi_param_map_double;
146 void copy_cbc_results(
const CbcModel& model,
double** res)
const;
149 std::vector< std::vector<int> > sos_groups_;
150 std::vector< std::vector<double> > sos_weights_;
151 std::vector<casadi_int> sos_types_;
const char * plugin_name() const override
std::string class_name() const override
Readable name of the internal class.
static const std::string meta_doc
A documentation string.
static Conic * creator(const std::string &name, const std::map< std::string, Sparsity > &st)
Create a new QP Solver.
void free_mem(void *mem) const override
Free memory block.
static const Options options_
Options.
void * alloc_mem() const override
Create memory block.
Dict opts_
All CBC options.
const Options & get_options() const override
Options.
static ProtoFunction * deserialize(DeserializingStream &s)
Deserialize with type disambiguation.
bool integer_support() const override
Can discrete variables be treated.
Helper class for Serialization.
Base class for FunctionInternal and LinsolInternal.
Helper class for Serialization.
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.
std::vector< int > colind
int secondary_return_status
Options metadata for a class.