NashOpt - A Python Library for Computing Generalized Nash Equilibria
Alberto Bemporad

TL;DR
NashOpt is an open-source Python library that efficiently computes generalized Nash equilibria in complex noncooperative games, supporting nonlinear, linear-quadratic, inverse, and Stackelberg game formulations with practical control applications.
Contribution
It introduces a unified framework leveraging KKT conditions and JAX for automatic differentiation to solve diverse GNE problems efficiently.
Findings
Successfully computes multiple equilibria in various game settings.
Demonstrates applications in control problems like LQR and MPC.
Provides an accessible tool for game-theoretic analysis and design.
Abstract
NashOpt is an open-source Python library for computing and designing generalized Nash equilibria (GNEs) in noncooperative games with shared constraints and real-valued decision variables. The library exploits the joint Karush-Kuhn-Tucker (KKT) conditions of all players to handle both general nonlinear GNEs and linear-quadratic games, including their variational versions. Nonlinear games are solved via nonlinear least-squares formulations, relying on JAX for automatic differentiation. Linear-quadratic GNEs are reformulated as mixed-integer linear programs, enabling efficient computation of multiple equilibria. The framework also supports inverse-game and Stackelberg game-design problems. The capabilities of NashOpt are demonstrated through several examples, including noncooperative game-theoretic control problems of linear quadratic regulation and model predictive control. The library is…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Control Systems Optimization · Adaptive Dynamic Programming Control · Advanced Multi-Objective Optimization Algorithms
