  This article presents a sparse, low-memory footprint optimization algorithm
for the implementation of the model predictive control (MPC) for tracking
formulation in embedded systems. This MPC formulation has several advantages
over standard MPC formulations, such as an increased domain of attraction and
guaranteed recursive feasibility even in the event of a sudden reference
change. However, this comes at the expense of the addition of a small amount of
decision variables to the MPC's optimization problem that complicates the
structure of its matrices. We propose a sparse optimization algorithm, based on
an extension of the alternating direction method of multipliers, that exploits
the structure of this particular MPC formulation. We describe the controller
formulation and detail how its structure is exploited by means of the
aforementioned optimization algorithm. We show closed-loop simulations
comparing the proposed solver against other solvers and approaches from the
literature.
