26 #ifndef CASADI_QRSQP_HPP
27 #define CASADI_QRSQP_HPP
29 #include "casadi/core/nlpsol_impl.hpp"
30 #include <casadi/solvers/casadi_nlpsol_qrsqp_export.h>
96 std::string
class_name()
const override {
return "Qrsqp";}
100 return new Qrsqp(name, nlp);
110 Dict get_stats(
void* mem)
const override;
113 void init(
const Dict& opts)
override;
122 void set_work(
void* mem,
const double**& arg,
double**& res,
123 casadi_int*& iw,
double*& w)
const override;
126 int solve(
void* mem)
const override;
170 void print_iteration()
const;
173 void print_iteration(casadi_int iter,
double obj,
double pr_inf,
double du_inf,
174 double dx_norm,
double rg, casadi_int ls_trials,
bool ls_success)
const;
177 virtual void solve_QP(
QrsqpMemory* m,
const double* H,
const double* g,
178 const double* lbdz,
const double* ubdz,
179 const double* A,
double* x_opt,
double* dlam)
const;
NLP solver storage class.
'qrsqp' plugin for Nlpsol
double min_step_size_
Minimum step size allowed.
casadi_int max_iter_
Maximum, minimum number of SQP iterations.
std::string class_name() const override
Get type name.
const Function getConic() const
Access Conic.
void free_mem(void *mem) const override
Free memory block.
static const Options options_
Options.
casadi_int merit_memsize_
static const std::string meta_doc
A documentation string.
bool exact_hessian_
Exact Hessian?
bool regularize_
Regularization.
Function qpsol_
QP solver for the subproblems.
void * alloc_mem() const override
Create memory block.
const char * plugin_name() const override
static Nlpsol * creator(const std::string &name, const Function &nlp)
Create a new NLP Solver.
casadi_int lbfgs_memory_
Memory size of L-BFGS method.
const Options & get_options() const override
Options.
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.
Options metadata for a class.
const char * return_status
Last return status.
double * gLag
Lagrange gradient in the next iterate.
double reg
Hessian regularization.
double * gf
Gradient of the objective function.
int iter_count
Iteration count.
double * Bk
Current Hessian approximation.
double * z_cand
Current and previous linearization point and candidate.
double sigma
Linesearch parameters.