We consider convex-concave saddle point problems, and more generally convex optimization problems we refer to as $\textit{saddle problems}$, which include the partial supremum or infimum of convex-concave saddle functions. Saddle problems arise in a wide range of applications, including game theory, machine learning, and finance. It is well known that a saddle problem can be reduced to a single convex optimization problem by dualizing either the convex (min) or concave (max) objectives, reducing a min-max problem into a min-min (or max-max) problem. Carrying out this conversion by hand can be tedious and error prone. In this paper we introduce $\textit{disciplined saddle programming}$ (DSP), a domain specific language (DSL) for specifying saddle problems, for which the dualizing trick can be automated. The language and methods are based on recent work by Juditsky and Nemirovski arXiv:2102.01002 [math.OC], who developed the idea of conic-representable saddle point programs, and showed how to carry out the required dualization automatically using conic duality. Juditsky and Nemirovski's conic representation of saddle problems extends Nesterov and Nemirovski's earlier development of conic representable convex problems; DSP can be thought of as extending disciplined convex programming (DCP) to saddle problems. Just as DCP makes it easy for users to formulate and solve complex convex problems, DSP allows users to easily formulate and solve saddle problems. Our method is implemented in an open-source package, also called DSP.
翻译:我们考虑凸-凹鞍点问题,更一般地,我们将称为$\textit{鞍点问题}$的凸优化问题,这类问题包括凸-凹鞍点函数的部分上确界或下确界。鞍点问题出现在广泛的应用领域中,包括博弈论、机器学习和金融。众所周知,通过将凸(最小化)或凹(最大化)目标进行对偶化,可以将鞍点问题简化为单个凸优化问题,从而将最小-最大问题转化为最小-最小(或最大-最大)问题。手动执行这种转换既繁琐又容易出错。在本文中,我们引入$\textit{纪律鞍点规划}$(DSP),一种用于描述鞍点问题的领域特定语言(DSL),其中对偶技巧可以自动化。该语言和方法基于Juditsky和Nemirovski近期的工作(arXiv:2102.01002 [math.OC]),他们提出了锥可表示鞍点规划的思想,并展示了如何使用锥对偶自动执行所需的对偶化。Juditsky和Nemirovski的鞍点问题锥表示扩展了Nesterov和Nemirovski早期对锥可表示凸问题的研究;DSP可以视为将纪律凸规划(DCP)扩展到鞍点问题。正如DCP使用户能够轻松描述和求解复杂凸问题一样,DSP允许用户方便地描述和求解鞍点问题。我们的方法在一个同样名为DSP的开源软件包中实现。