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 provides users with 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.
翻译:我们推出一个模块和扩展的 C++ 图书馆界面, 包括数学编程和游戏理论。 ZERO 提供了一个全面的模型界面工具包, 用于设计游戏、 辅助工具和算法, 以找到 Nash equilibria 。 具体地说, 软件支持双线双线运动会( RBGs), 即每个玩家同时不合作的游戏, 从而在玩家变量和对手变量中以线性目标解决一个数学程序。 这个游戏类别一般化为多个试剂, 以设置操作研究的典型问题 。 ZERO 为整型非电解密、 线性双级问题和有平衡限制的线性平衡问题提供扩展支持。 其模块结构为用户提供了所有基本成分, 以设计RBGs 的新模型和算法, 目的是促进实地的方法进步。 我们提供了软件关键组件的概览, 并展示 Knapsack 游戏, 即每个玩家解决一个双向式的游戏。 代码、 文档和示例可在 www.getroone. gustone 找到 。