qpOASES

qpOASES is an open-source implementation of the recently proposed online active set strategy (see [1] and [2]; the main idea has been published earlier for a different class of problems in [3]). It was inspired by important

observations from the field of parametric quadratic programming and builds on the expectation that the optimal active set does not change much from one quadratic program to the next. It has several theoretical features that make it particularly suited for model predictive control applications. The software package qpOASES implements these ideas and also incorporates important modifications to make the algorithm numerically more robust [4, 5]. qpOASES solves QPs with symmetric and positive (semi-)definite Hessian, and gradient vector as well as bound and constraint vectors depend affinely on a common parameter. Simple bound constraints are more efficiently treated than the standard linear constraints.

Several interfaces to standard industry and academic software is available, including Matlab/Simulink, Octave, scilab, Python, and runs on dSPACE controllers as well as xPC targets. Furthermore, it can and has been coupled to the ACADO toolkit, MUSCOD-II, and YALMIP.

Currently, qpOASES enabled software works in the Norvegian natural gas processing plant Kollsnes that, according to the operator Gassco, accounts for more than 40% of all national gas deliveries.

 

[1] H. J. Ferreau, 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, 18(8):816–830, 2008. Online: https://onlinelibrary.wiley.com/doi/10.1002/rnc.1251

[2] H. J. Ferreau. An Online Active Set Strategy for Fast Solution of Parametric Quadratic Programs with Applications to Predictive Engine Control. Master’s thesis, Heidelberg University, 2006. Online: http://www.ferreau.eu/science/pdf/thesisONLINE.pdf

[3] M. J. Best. Applied Mathematics and Parallel Computing, chapter An Algorithm for the Solution of the Parametric Quadratic Programming Problem, pages 57–76. Physica Verlag, Heidelberg, 1996.

[4] A. Potschka, C. Kirches, H.G. Bock, and J. P. Schlöder. Reliable solution of convex quadratic programs with parametric active set methods. Technical report, Interdisciplinary Center for Scientific Computing, Heidelberg University, Im Neuenheimer Feld 368, 69120 Heidelberg, Germany, 2010. Online: http://www.optimization-online.org/DB_FILE/2010/11/2828.pdf

[5] H. J. Ferreau, C. Kirches, A. Potschka, H. G. Bock, and M. Diehl. qpOASES: a parametric active-set algorithm for quadratic programming. Math. Prog. Comp. 6, 327–363 (2014). Online: https://doi.org/10.1007/s12532-014-0071-1