26 #ifndef CASADI_PROXQP_INTERFACE_HPP
27 #define CASADI_PROXQP_INTERFACE_HPP
29 #include "casadi/core/conic_impl.hpp"
30 #include <casadi/interfaces/proxqp/casadi_conic_proxqp_export.h>
33 #include <proxsuite/proxqp/dense/dense.hpp>
34 #include <proxsuite/proxqp/sparse/sparse.hpp>
35 #include <proxsuite/proxqp/settings.hpp>
37 #include <Eigen/Dense>
38 #include <Eigen/Sparse>
54 typedef Eigen::Triplet<double>
T;
73 std::vector<casadi_int> row,
col;
80 proxsuite::proxqp::QPSolverOutput
status;
99 const std::map<std::string, Sparsity>& st);
103 const std::map<std::string, Sparsity>& st) {
114 std::string
class_name()
const override {
return "ProxqpInterface";}
123 void init(
const Dict& opts)
override;
129 int init_mem(
void* mem)
const override;
135 int solve(
const double** arg,
double** res,
136 casadi_int* iw,
double* w,
void* mem)
const override;
148 Dict get_stats(
void* mem)
const override;
Helper class for Serialization.
Base class for FunctionInternal and LinsolInternal.
'proxqp' plugin for Conic
const char * plugin_name() const override
static Conic * creator(const std::string &name, const std::map< std::string, Sparsity > &st)
Create a new QP Solver.
const Options & get_options() const override
const Options
static const Options options_
const Options
proxsuite::proxqp::Settings< double > settings_
bool psd_support() const override
Can psd constraints be treated.
void free_mem(void *mem) const override
Free memory block.
static ProtoFunction * deserialize(DeserializingStream &s)
Deserialize with type disambiguation.
bool integer_support() const override
Can discrete variables be treated.
static const std::string meta_doc
A documentation string.
void * alloc_mem() const override
Create memory block.
std::string class_name() const override
Readable name of the internal class.
Helper class for Serialization.
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.
Options metadata for a class.
std::unique_ptr< Eigen::VectorXd > results_x
proxsuite::proxqp::QPSolverOutput status
std::vector< T > tripletListEq
Eigen::VectorXd lb_vector
std::vector< casadi_int > col
Eigen::Triplet< double > T
proxsuite::proxqp::sparse::QP< double, long long > sparse_solver
std::unique_ptr< Eigen::VectorXd > results_y
std::unique_ptr< Eigen::VectorXd > results_z
Eigen::VectorXd ubx_vector
Eigen::VectorXd ub_vector
Eigen::VectorXd uba_vector
std::vector< T > tripletList
Eigen::VectorXd lba_vector
proxsuite::proxqp::dense::QP< double > dense_solver
Eigen::VectorXd lbx_vector