DuQuad: A toolbox for solving convex quadratic programs using dual (augmented) first order algorithms

In this paper we present the toolbox DuQuad specialized for solving general convex quadratic problems arising in many engineering applications (e.g. embedded predictive control problems). Several versions of dual first order methods are implemented in the programming language C, and optimized for low iteration complexity and low memory footprint. The toolbox has a dynamic Matlab interface which make the process of testing, comparing, and analyzing the algorithms simple. The algorithms are implemented using only basic arithmetic and logical operations and thus are suitable to run on low cost embedded hardware. It is shown that if an approximate solution is sufficient for a given application, there exists problems where some of the implemented algorithms obtain the solution faster than state-of-the-art commercial solvers.

[1]  Marc Teboulle,et al.  A Fast Iterative Shrinkage-Thresholding Algorithm for Linear Inverse Problems , 2009, SIAM J. Imaging Sci..

[2]  L. Biegler,et al.  QPSchur: A dual, active-set, Schur-complement method for large-scale and structured convex quadratic programming , 2006 .

[3]  Ion Necoara,et al.  Computational Complexity of Inexact Gradient Augmented Lagrangian Methods: Application to Constrained MPC , 2013, SIAM J. Control. Optim..

[4]  Alberto Bemporad,et al.  An Accelerated Dual Gradient-Projection Algorithm for Embedded Linear Model Predictive Control , 2014, IEEE Transactions on Automatic Control.

[5]  Christian Kirches,et al.  qpOASES: a parametric active-set algorithm for quadratic programming , 2014, Mathematical Programming Computation.

[6]  Ion Necoara,et al.  Complexity certifications of first order inexact Lagrangian and penalty methods for conic convex programming , 2015 .

[7]  P. Giselsson Improved Fast Dual Gradient Methods for Embedded Model Predictive Control , 2014 .

[8]  Manfred Morari,et al.  Towards computational complexity certification for constrained MPC based on Lagrange Relaxation and the fast gradient method , 2011, IEEE Conference on Decision and Control and European Control Conference.

[9]  Yurii Nesterov,et al.  Introductory Lectures on Convex Optimization - A Basic Course , 2014, Applied Optimization.

[10]  Mato Baotic,et al.  Multi-Parametric Toolbox (MPT) , 2004, HSCC.

[11]  Ion Necoara,et al.  An adaptive constraint tightening approach to linear MPC based on approximation algorithms for optimization , 2014 .

[12]  Stephen P. Boyd,et al.  Automatic code generation for real-time convex optimization , 2010, Convex Optimization in Signal Processing and Communications.

[13]  Chih-Jen Lin,et al.  Iteration complexity of feasible descent methods for convex optimization , 2014, J. Mach. Learn. Res..

[14]  R D Zimmerman,et al.  MATPOWER: Steady-State Operations, Planning, and Analysis Tools for Power Systems Research and Education , 2011, IEEE Transactions on Power Systems.

[15]  Ion Necoara,et al.  Rate Analysis of Inexact Dual First-Order Methods Application to Dual Decomposition , 2014, IEEE Transactions on Automatic Control.

[16]  Jacek Gondzio,et al.  Parallel interior-point solver for structured quadratic programs: Application to financial planning problems , 2007, Ann. Oper. Res..

[17]  Asuman E. Ozdaglar,et al.  Approximate Primal Solutions and Rate Analysis for Dual Subgradient Methods , 2008, SIAM J. Optim..

[18]  Philip Wolfe,et al.  An algorithm for quadratic programming , 1956 .

[19]  Manfred Morari,et al.  Efficient interior point methods for multistage problems arising in receding horizon control , 2012, 2012 IEEE 51st IEEE Conference on Decision and Control (CDC).

[20]  Asuman E. Ozdaglar,et al.  A distributed Newton method for Network Utility Maximization , 2010, 49th IEEE Conference on Decision and Control (CDC).

[21]  Colin Neil Jones,et al.  Splitting methods in control , 2014, 2014 European Control Conference (ECC).

[22]  Renato D. C. Monteiro,et al.  Iteration-complexity of first-order augmented Lagrangian methods for convex programming , 2015, Mathematical Programming.