Package 'ROI.plugin.qpoases'

Title: 'qpOASES' Plugin for the 'R' Optimization Infrastructure
Description: Enhances the 'R' Optimization Infrastructure ('ROI') package with the quadratic solver 'qpOASES'. More information about 'qpOASES' can be found at <https://github.com/coin-or/qpOASES>.
Authors: Florian Schwendinger [aut, cre], Hans Joachim Ferreau [cph], Andreas Potschka [cph], Christian Kirches [cph], Dennis Janka [cph], Andreas Waechter [cph]
Maintainer: Florian Schwendinger <[email protected]>
License: GPL-3
Version: 1.0-3
Built: 2024-10-30 06:49:34 UTC
Source: CRAN

Help Index


qpOASES

Description

This package provides an interface to qpOASES. pOASES is an open-source C++ implementation of the online active set strategy, which was inspired by important observations from the field of parametric quadratic programming (QP).

References

H.J. Ferreau and C. Kirches and A. Potschka and H.G. Bock and M. Diehl. qpOASES: A parametric active-set algorithm for quadratic programming, “Mathematical Programming Computation”, 2014

H.J. Ferreau and H.G. Bock and M. Diehl. An online active set strategy to overcome the limitations of explicit MPC, “International Journal of Robust and Nonlinear Control”, 2008

H.J. Ferreau and A. Potschka and C. Kirches. qpOASES “webpage” https://github.com/coin-or/qpOASES, 2017


Quadratic Problem 1

Description

maximize  x12+x22+x325x2maximize \ \ x_1^2 + x_2^2 + x_3^2 - 5 x_2

subject to:subject \ to:

4x13x2+8-4 x_1 - 3 x_2 + \geq -8

2x1+x2+22 x_1 + x_2 + \geq 2

2x2+x30- 2 x_2 + x_3 \geq 0

x1,x2,x30x_1, x_2, x_3 \geq 0

Examples

Sys.setenv(ROI_LOAD_PLUGINS = "FALSE")
library("ROI")
library("ROI.plugin.qpoases")

A <- cbind(c(-4, -3, 0), 
           c( 2,  1, 0), 
           c( 0, -2, 1))
x <- OP(Q_objective(diag(3), L =  c(0, -5, 0)),
        L_constraint(L = t(A),
                     dir = rep(">=", 3),
                     rhs = c(-8, 2, 0)))

opt <- ROI_solve(x, solver="qpoases")
opt
## Optimal solution found.
## The objective value is: -2.380952e+00
solution(opt)
## [1]  0.4761905 1.0476190 2.0952381