Solving Quadratic Programs with Slack Variables via ADMM without Increasing the Problem Size
Thomas Lew, Marcus Greiff, John Subosits, Brian Plancher
TL;DR
This work addresses infeasible constrained QPs common in MPC by revisiting slack-variable reformulations that typically enlarge problem size. It introduces ADMMSlack, an ADMM-based method that solves the slack-augmented problem without adding slack variables, by modifying only the projection in the $z$-update and proving equivalence to the standard slack-augmented ADMM. The approach yields two constructive derivations: (i) an interpretation via a smoothed indicator and averaged/proximal projections, and (ii) an equivalence to solving the slack-formulated problem under a nonstandard splitting. Numerical results show ADMMSlack achieves comparable convergence while delivering significant speedups, making slack handling more efficient and practical for real-time MPC implementations; code is released open-source.
Abstract
Proximal methods such as the Alternating Direction Method of Multipliers (ADMM) are effective at solving constrained quadratic programs (QPs). To tackle infeasible QPs, slack variables are often introduced to ensure feasibility, which changes the structure of the problem, increases its size, and slows down numerical resolution. In this letter, we propose a simple ADMM scheme to tackle QPs with slack variables without increasing the size of the original problem. The only modification is a slightly different projection in the z-update, while the rest of the algorithm remains standard. We prove that the method is equivalent to applying ADMM to the QP with additional slack variables, even though slack variables are not added. Numerical experiments show speedups of the approach.
