We present ZERO, a modular and extensible C++ library interfacing Mathematical Programming and Game Theory. ZERO provides a comprehensive toolkit of modeling interfaces for designing games, helper tools, and algorithms to find Nash equilibria. Specifically, the software supports Reciprocally Bilinear Games (RBGs), i.e., simultaneous non-cooperative games where each player solves a mathematical program with a linear objective in the player’s variable and bilinear in its opponents’ variables. This class of games generalizes to a multi-agent setting the classical problems of Operations Research. ZERO provides extended support for integer non-convexities, linear bilevel problems, and linear equilibrium problems with equilibrium constraints. Its modular structure gives users all the elementary ingredients to devise new models and algorithms for RBGs, aiming to boost methodological advancement in the field. We provide an overview of the software’s key components and showcase a Knapsack Game, i.e., each player solves a binary knapsack problem. Code, documentation and examples are available at www.getzero.one. 1 Why Games and Equilibria? The pioneering book from Morgenstern and Von Neumann (1953) and the twopage seminal paper from Nash (1950, 1951) transformed the scientific perspective on strategic behavior. The ubiquitous concepts of Nash equilibrium and rational strategic interactions are now cornerstone concepts in Game Theory, with applications ranging from economics to social sciences. The Operations Research growing interest in game dynamics reflects a need to extend classical decision-making frameworks to multi-agent settings that can account for interactions among multiple decision-makers. The community devoted particular interest – to name a few – to Bilevel Programming (e.g., Hu and Ralph (2007), ∗ ID DS4DM, Polytechnique Montréal gabriele.dragotto@polymtl.ca † ID P&QM, Indian Institute of Management, Ahmedabad ‡ ID CIRRELT & DIRO, Université de Montréal § ID DS4DM and Jacobs Technion-Cornell Institute, Cornell University 1 ar X iv :2 11 1. 07 93 2v 1 [ cs .G T ] 1 5 N ov 2 02 1 DeNegre and Ralphs (2009), Labbé and Violin (2013), Caprara et al. (2016), Fischetti et al. (2017), Basu et al. (2019), Kleinert et al. (2021)) and its application in electricity markets and network pricing problems (Feijoo and Das 2015, Labbé et al. 1998, Brotcorne et al. 2001), Equilibrium Problems with Equilibrium Constraints (Luo et al. 1996, Carvalho et al. 2019), and more recently to Integer Programming Games (Carvalho et al. 2018, 2020, 2021, Cronert and Minner 2021, Guo et al. 2021, Köppe et al. 2011, Dragotto and Scatamacchia 2021). On the one hand, such empowering modeling capabilities unquestionably offer a tempting opportunity for extending the domain of influence of operations research. Arguably, multi-agent optimization frameworks can help provide realistic models by contemplating the interactions decision-makers often take by pondering the influence of other stakeholders (e.g., other players). Additionally, they can help embed socially beneficial outcomes by enlightening the nature of interaction among possibly adversarial decision-makers. For instance, Carvalho et al. (2019) provides insights on the role of a carbon tax in competitive international energy markets, Carvalho et al. (2017) proves that the most rational outcome in their cross-border kidney exchange maximizes the social welfare (e.g., the sum of the objectives of all players). On the other hand, multi-agent models are as helpful as one can efficiently compute equilibria (or equivalent solution paradigms), thus highlighting the importance of theoretical and practical contributions in equilibria computation. In this context, we believe that free and open-source software for equilibria computation can foster experimentation in both practitioners’ and researchers’ communities and confidently lead to methodological advancement in the field.
[1]
Robin Lougee,et al.
The Common Optimization INterface for Operations Research: Promoting open-source software in the operations research community
,
2003,
IBM J. Res. Dev..
[2]
Daniel Ralph,et al.
Using EPECs to Model Bilevel Games in Restructured Electricity Markets with Locational Prices
,
2007,
Oper. Res..
[3]
J. Nash.
Equilibrium Points in N-Person Games.
,
1950,
Proceedings of the National Academy of Sciences of the United States of America.
[4]
Andrea Lodi,et al.
Nash equilibria in the two-player kidney exchange game
,
2017,
Math. Program..
[5]
P. Marcotte,et al.
A bilevel model of taxation and its application to optimal highway pricing
,
1996
.
[6]
Martín Ugarte,et al.
Foundations of JSON Schema
,
2016,
WWW.
[7]
Matteo Fischetti,et al.
A New General-Purpose Algorithm for Mixed-Integer Bilevel Linear Programs
,
2017,
Oper. Res..
[8]
Conrad Sanderson,et al.
Armadillo: a template-based C++ library for linear algebra
,
2016,
J. Open Source Softw..
[9]
Maurice Queyranne,et al.
Rational Generating Functions and Integer Programming Games
,
2008,
Oper. Res..
[10]
Martin Schmidt,et al.
A Survey on Mixed-Integer Programming Techniques in Bilevel Optimization
,
2021,
EURO J. Comput. Optim..
[11]
Tapas K. Das,et al.
Emissions control via carbon policies and microgrid generation: A bilevel model and Pareto analysis
,
2015
.
[12]
Ted K. Ralphs,et al.
A Branch-and-cut Algorithm for Integer Bilevel Linear Programs
,
2009
.
[13]
D. Ralph,et al.
EPECs as models for electricity markets
,
2006,
2006 IEEE PES Power Systems Conference and Exposition.
[14]
Sriram Sankaranarayanan,et al.
The Cut and Play Algorithm: Computing Nash Equilibria via Outer Approximations
,
2021,
ArXiv.
[15]
Eric van Damme,et al.
Non-Cooperative Games
,
2000
.
[16]
F. Facchinei,et al.
Finite-Dimensional Variational Inequalities and Complementarity Problems
,
2003
.
[17]
Andrew McLennan,et al.
Gambit: Software Tools for Game Theory
,
2006
.
[18]
Rosario Scatamacchia,et al.
ZERO Regrets Algorithm: Optimizing over Pure Nash Equilibria via Integer Programming
,
2021,
ArXiv.
[19]
Bethany L. Nicholson,et al.
Mathematical Programs with Equilibrium Constraints
,
2021,
Pyomo — Optimization Modeling in Python.
[20]
Martine Labbé,et al.
A Bilevel Model for Toll Optimization on a Multicommodity Transportation Network
,
2000,
Transp. Sci..
[21]
Andrea Lodi,et al.
Computing Nash equilibria for integer programming games
,
2018,
European Journal of Operational Research.
[22]
Merve Bodur,et al.
Copositive Duality for Discrete Markets and Games
,
2021
.
[23]
Gerhard J. Woeginger,et al.
Bilevel Knapsack with Interdiction Constraints
,
2016,
INFORMS J. Comput..
[24]
Andrea Lodi,et al.
Existence of Nash Equilibria on Integer Programming Games
,
2017
.
[25]
Martine Labbé.
Bilevel Programming and Price Setting Problems
,
2006,
OR.
[26]
E. Rowland.
Theory of Games and Economic Behavior
,
1946,
Nature.
[27]
Benjamin Müller,et al.
The SCIP Optimization Suite 5.0
,
2017,
2112.08872.
[28]
Michael C. Ferris,et al.
Interfaces to PATH 3.0: Design, Implementation and Usage
,
1999,
Comput. Optim. Appl..