Solving Multiparametric Generalized Nash Equilibrium Problems and Explicit Game-Theoretic Model Predictive Control
Sophie Hall, Alberto Bemporad
TL;DR
The paper develops an explicit, multiparametric framework for convex quadratic Generalized Nash Equilibrium Problems with linear coupling constraints, enabling real-time, interpretable policy retrieval and enumeration of multiple equilibria. It extends mpQP techniques to compute parametric equilibria, introduces strategies for selecting among infinitely many equilibria (minimum-norm, welfare, and variational GNE), and presents an offline algorithm to construct the explicit GNE policy. The approach is applied to explicit game-theoretic MPC, illustrating battery charging and a two-mass-spring system, and is supported by a public Python implementation for reproducibility. Overall, the work provides a practical, privacy-preserving pathway to deploy GNE-based control in fast-actuation multi-agent settings.
Abstract
We present a method to compute explicit solutions of parametric Generalized Nash Equilibrium (GNE) problems with convex quadratic cost functions and linear coupling and local constraints. Assuming the parameters only enter the linear terms of the cost functions and constraint right-hand sides, we provide the exact multiparametric solution of the GNE problem. Such a solution enables (i) minimal real-time computation, (ii) inherent interpretability, explainability, and exact enumeration of all multiple equilibria, (iii) determine desired GNE solution types in the case of infinitely-many equilibria, and (iv) zero-shot updates of the GNE solution due to changes of constraint right-hand sides and/or linear costs. In line with explicit Model Predictive Control (MPC) approaches, we apply our method to solve game-theoretic MPC (Receding Horizon Games) explicitly, comparing performance against centralized solvers in a battery charging game and in a toy two-mass spring system control problem. A Python implementation of the algorithms presented in this paper is available on https://github.com/bemporad/nash_mpqp.
