Context Navigation

Welcome to the qpOASES webpage

Note that these project webpages are based on Wiki, which allows webusers to modify certain parts of the content or share their experience and tips with other users. You are welcome to contribute to the qpOASES project. To contribute to the Wiki or submit a ticket you must first ​register and login.

Introduction

qpOASES is an open-source C++ implementation of the recently proposed online active set strategy, which was inspired by important observations from the field of parametric quadratic programming (QP). It has several theoretical features that make it particularly suited for model predictive control (MPC) applications. Further numerical modifications have made qpOASES a reliable QP solver, even when tackling semi-definite, ill-posed or degenerated QP problems. Moreover, several interfaces to third-party software like ​Matlab or ​Simulink are provided that make qpOASES easy-to-use even for users without knowledge of C/C++.

qpOASES can solve quadratic programming (QP) problems of any form equivalent to

min 1/2*x'Hx + x'g
s.t. lb <= x <= ub
lbA <= Ax <= ubA

where H denotes a (typically positive semi-definite) symmetric Hessian matrix and all other quantities match common notation. qpOASES also does a good job in detecting infeasible or unbounded QP problem formulations.

License and Download

qpOASES is part of the ​COIN-OR Initiative and its code base is hosted in an SVN repository with public read access. You can either obtain the source code by using an SVN client or by downloading a zipped archive. More details are given on the Download page.

Installation and Dependencies

qpOASES is self-contained! Except for a couple of standard C libraries, no further external software packages are required. Optionally, the ​LAPACK and ​BLAS libraries can be linked for performing internal linear algebra operations.

qpOASES has been successfully installed on PCs running Linux, Windows or Mac OS X, and can also run on embedded computing hardware. Detailled information on how
to install qpOASES can be found on the Installation page.

Documentation and Support

qpOASES has a fully documented source code (see its doxygen-generated ​source code documentation) and provides
a concise ​User's Manual. New users are recommended to get started by following the tutorial examples described in the manual.

In case you encounter any kind of troubles when installing or running qpOASES, please follow these steps:

browse the User Support knowledge base to see whether other users have encountered your problem before;

browse All Issues reported by other users to see whether you find a solution to your problem.

If none of the above helps you to overcome your troubles, you are most welcome to ask for support. We strongly encourage you to send your bug report, question, remark, features request or any other kind of feedback by creating a new ticket. When doing so, please follow our simple Feedback Guidelines in order to receive our help as soon as possible.

Finally, it is worth mentioning that qpOASES has been successfully used in numerous real-world applications and industrial projects. Some of them can be found on
the Success Stories page. If you also want to report your successful application of qpOASES, please send an e-mail to ​success@qpoases.org or add to the Wiki yourself.

Citing qpOASES

If you use qpOASES within your scientific work, we strongly encourage you to cite at least
one of the following publications.

Further qpOASES-related publications can be found on
the Publications page.

Contact and Mailing List

If you want to receive latest information on qpOASES or participate in public discussions on future developments of the code, you should subscribe to the ​qpOASES mailing list. Note that unlike mailing lists of other projects hosted at COIN-OR, this mailing list is not intended for reporting installation issues, bugs or minor feature requests. Instead, please use Trac to create a new ticket for reporting these kind of issues.