Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Welcome to the qpDUNES project
qpDUNES is quadratic programming solver targeted at block-banded convex QPs that arise in optimal control, dynamic optimization, and estimation. The acronym DUNES stands for dual Newton strategy, the novel solution methodology which this solver implements. See this publication for the mathematical details.
qpDUNES is a plain, self-contained C code written according to the C90 standard to enlarge compatibility with embedded hardware platforms. It comes with its own linear algebra module and efficient data storage formats to better exploit the problem intrinsic structures. Problems can be set up and solved from a C/C++ environment as well as conveniently from MATLAB. qpDUNES provides setup and solve routines (both cold- and warm-started) for multi-stage QPs, as well as for linear time-invariant (LTI) and for linear time-varying (LTV) model-predictive control problems in both environments. For nonlinear model predictive control and moving horizon estimation, the powerful ACADO Toolkit features an interface to use qpDUNES as its workhorse.