A sparse ADMM-based solver for linear MPC subject to terminal quadratic constraint
Pablo Krupa, Rim Jaouani, Daniel Limon, Teodoro Alamo
TL;DR
The paper introduces a sparse ADMM-based solver for linear MPC with a terminal ellipsoidal constraint, avoiding SOC reformulations and extra slack variables. By designing the ADMM equality constraints to incorporate the ellipsoid via a forward-looking transform with $P^{1/2}$, the projection step becomes explicit, preserving the sparsity and enabling efficient embedded implementations. The method achieves favorable performance against SOC-based and general solvers in case studies and demonstrates viability on a low-resource embedded platform. This work provides a practical, memory-efficient approach for MPC with ellipsoidal terminal constraints and broadens applicability in robust and large-scale systems. The solver is openly accessible in the SPCIES toolbox, supporting embedded optimization applications.
Abstract
Model Predictive Control (MPC) typically includes a terminal constraint to guarantee stability of the closed-loop system under nominal conditions. In linear MPC this constraint is generally taken on a polyhedral set, leading to a quadratic optimization problem. However, the use of an ellipsoidal terminal constraint may be desirable, leading to an optimization problem with a quadratic constraint. In this case, the optimization problem can be solved using Second Order Cone (SOC) programming solvers, since the quadratic constraint can be posed as a SOC constraint, at the expense of adding additional slack variables and possibly compromising the simple structure of the solver ingredients. In this paper we present a sparse solver for linear MPC subject to a terminal ellipsoidal constraint based on the alternating direction method of multipliers algorithm in which we directly deal with the quadratic constraints without having to resort to the use of a SOC constraint nor the inclusion of additional decision variables. The solver is suitable for its use in embedded systems, since it is sparse, has a small memory footprint and requires no external libraries. We compare its performance against other approaches from the literature.
