The PIQP Solver Model Class
This class wraps around the PIQP C++ Solver and exposes methods and fields of the C++ object. Users will never need to directly create instances this class and should use the more user-friendly functions piqp()
and solve_piqp()
.
new()
Create a new piqp_model object
piqp_model$new(
P,
c,
A,
b,
G,
h,
x_lb,
x_ub,
settings = list(),
dense_backend,
dims
)
P
: dense or sparse matrix of class dgCMatrix or coercible into such, must be positive semidefinite
c
: numeric vector
A
: dense or sparse matrix of class dgCMatrix or coercible into such
b
: numeric vector
G
: dense or sparse matrix of class dgCMatrix or coercible into such
h
: numeric vector
x_lb
: a numeric vector of lower bounds
x_ub
: a numeric vector of upper bounds
settings
: list with optimization parameters
dense_backend
: a flag indicating if the dense solver is to be used
dims
: the dimensions of the problem, a named list containing n
, p
and m
.
a piqp_model object that can be used to solve the QP
solve()
Solve the QP model
piqp_model$solve()
a list containing the solution
update()
Update the current piqp_model with new data
piqp_model$update(
P = NULL,
c = NULL,
A = NULL,
b = NULL,
G = NULL,
h = NULL,
x_lb = NULL,
x_ub = NULL
)
P
: dense or sparse matrix of class dgCMatrix or coercible into such, must be positive semidefinite
c
: numeric vector
A
: dense or sparse matrix of class dgCMatrix or coercible into such
b
: numeric vector
G
: dense or sparse matrix of class dgCMatrix or coercible into such
h
: numeric vector
x_lb
: a numeric vector of lower bounds
x_ub
: a numeric vector of upper bounds
settings
: list with optimization parameters
dense_backend
: a flag indicating if the dense solver is to be used
dims
: the dimensions of the problem, a named list containing n
, p
and m
.
get_settings()
Obtain the current settings for this model
piqp_model$get_settings()
get_dims()
Obtain the dimensions of this model
piqp_model$get_dims()
update_settings()
Update the current settings with new values for this model
piqp_model$update_settings(new_settings = list())
new_settings
: a list of named values for settings, default empty list; see piqp_settings()
for a comprehensive list of defaults
clone()
The objects of this class are cloneable with this method.
piqp_model$clone(deep = FALSE)
deep
: Whether to make a deep clone.