Table of Contents
Fetching ...

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.

Solving Quadratic Programs with Slack Variables via ADMM without Increasing the Problem Size

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 -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.

Paper Structure

This paper contains 10 sections, 1 theorem, 33 equations, 3 figures, 1 table.

Key Result

Lemma 1

The solution to the QP eq:QP:zxi satisfies $z =\widetilde{\mathrm{Proj}}_{[\ell,u]}(Ax+\mu/\rho)$ where eq:proj:tilde defines $\widetilde{\mathrm{Proj}}_{[\ell,u]}(\cdot)$.

Figures (3)

  • Figure 1: Smoothed indicator function and projection operator.
  • Figure 2: Residuals across ADMM iterates for the feasible (top) and infeasible QPs (bottom): median over $100$ MPC problem instances, with $\pm 2$ standard deviations.
  • Figure 3: Solve times and speedups (ratio $(\text{SolveTime}(\texttt{ADMM})$ / $\text{SolveTime}(\texttt{ADMMSlack}))$) for the feasible (top) and infeasible QPs (bottom) for different exit tolerances: median over $100$ MPC problem instances with $\pm 2$ standard deviations.

Theorems & Definitions (3)

  • Lemma 1: The $z$-update of ADMMSlack is the $(z,\xi)$- update in \ref{['eq:QP:zxi']}
  • proof
  • Remark 1: Interpretation as an averaged projection