Learn R Programming

rosqp (version 0.1.0)

solve_osqp: Sparse Quadratic Programming Solver

Description

Solves $$arg\min_x 0.5 x'P x + q'x$$ s.t. $$l_i < (A x)_i < u_i$$ for real matrices P (nxn, positive semidefinite) and A (mxn) with m number of constraints

Usage

solve_osqp(P = NULL, q = NULL, A = NULL, l = NULL, u = NULL,
  pars = osqpSettings())

Arguments

P, A

sparse matrices of class dgCMatrix or coercible into such, with P positive semidefinite.

q, l, u

Numeric vectors, with possibly infinite elements in l and u

pars

list with optimization parameters, conveniently set with the function osqpSettings

Value

A list with elements x (the primal solution), y (the dual solution), prim_inf_cert, dual_inf_cert, and info.

References

Stellato, B., Banjac, G., Goulart, P., Bemporad, A., Boyd and S. (2017). ``OSQP: An Operator Splitting Solver for Quadratic Programs.'' ArXiv e-prints. 1711.08013.

See Also

osqp. The underlying OSQP documentation: http://osqp.readthedocs.io/

Examples

Run this code
# NOT RUN {
library(rosqp)
## example, adapted from ?quadprog::solve.QP
Dmat       <- diag(3)
dvec       <- c(0,-5,0)
Amat       <- matrix(c(-4, 2, 0, -3, 1, -2, 0, 0, 1),3,3)
bvec       <- c(-8,2,0)
res = solve_osqp(Dmat, dvec, Amat, bvec)
print(res$x)



# }

Run the code above in your browser using DataLab