The concept of Nash equilibrium enlightens the structure of rational behavior in multi-agent settings. However, the concept is as helpful as one may compute it efficiently. We introduce the Cut-and-Play, an algorithm to compute Nash equilibria for non-cooperative simultaneous games where each player's objective is linear in their variables and bilinear in the other players' variables. Using the rich theory of integer programming, we alternate between constructing (i.) increasingly tighter outer approximations of the convex hull of each player's feasible set -- by using branching and cutting plane methods -- and (ii.) increasingly better inner approximations of these hulls -- by finding extreme points and rays of the convex hulls. In particular, we prove the correctness of our algorithm when these convex hulls are polyhedra. Our algorithm allows us to leverage the mixed integer programming technology to compute equilibria for a large class of games. Further, we integrate existing cutting plane families inside the algorithm, significantly speeding up equilibria computation. We showcase a set of extensive computational results for Integer Programming Games and simultaneous games among bilevel leaders. In both cases, our framework outperforms the state-of-the-art in computing time and solution quality.
翻译:纳什平衡的概念在多试剂环境下启发了理性行为的结构。 然而, 这一概念同样有用, 也可以有效计算它。 我们引入了“ 切线” 算法, 用于计算不合作同时玩游戏的纳什平衡, 每个玩家的目标在其变量中是线性, 而在其他玩家变量中是双线性。 我们使用丰富的整数编程理论, 在构建(i) 使用分支和切割平面方法, 使每个玩家的可操作船体的螺旋体的外部近似更加紧密, 以及(ii) 通过找到这些船体的极端点和光线, 使这些船体的内近近近(ii) 越来越好。 特别是, 当这些 convex 船体是多发体时, 我们证明了我们的算法是正确的。 我们的算法允许我们利用混合的组合编程技术, 来计算大类游戏的平衡。 此外, 我们把现有的切线家庭纳入算法中, 大大加速平衡计算。 我们展示了这些船体的内近近近近近近近近点结果结果, 和双级领导人的计算框架 。