Table of Contents
Fetching ...

Disciplined Saddle Programming

Philipp Schiele, Eric Luxenberg, Stephen Boyd

TL;DR

This work introduces disciplined saddle programming (DSP), a domain-specific language that extends disciplined convex programming to convex-concave saddle problems and automates the dualization of inner maximizations/minimizations via conic representations. Building on Juditsky and Nemirovski’s conic-saddle framework, DSP enables users to formulate saddle problems without deep duality knowledge and automatically obtain a cone-representable form solvable through CVXPY. A key contribution is the ability to recover both convex and concave saddle-point coordinates, providing guarantees for valid saddle points even when standard regularity conditions (like compactness) fail. The open-source DSP package demonstrates practical applicability through robust optimization examples in finance and machine learning, illustrating how complex saddle structures can be efficiently solved with standard solvers while preserving rigorous dual formulations.

Abstract

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.

Disciplined Saddle Programming

TL;DR

This work introduces disciplined saddle programming (DSP), a domain-specific language that extends disciplined convex programming to convex-concave saddle problems and automates the dualization of inner maximizations/minimizations via conic representations. Building on Juditsky and Nemirovski’s conic-saddle framework, DSP enables users to formulate saddle problems without deep duality knowledge and automatically obtain a cone-representable form solvable through CVXPY. A key contribution is the ability to recover both convex and concave saddle-point coordinates, providing guarantees for valid saddle points even when standard regularity conditions (like compactness) fail. The open-source DSP package demonstrates practical applicability through robust optimization examples in finance and machine learning, illustrating how complex saddle structures can be efficiently solved with standard solvers while preserving rigorous dual formulations.

Abstract

We consider convex-concave saddle point problems, and more generally convex optimization problems we refer to as , 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 (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.
Paper Structure (65 sections, 48 equations, 3 tables)