2. Problem classes

To cover both structured optimization and inclusion problems, we introduce two disjoint index sets \(\IndexFunc, \IndexOp \subseteq \llbracket1,m\rrbracket\), where \(m\in\mathbb{N}\), such that \(\IndexFunc\cup \IndexOp = \llbracket1,m\rrbracket\), and consider inclusion problems of the form

(2.1)\[\begin{aligned} \text{find}\ y\in\calH\ \text{ such that }\ 0\in\sum_{i\in\IndexFunc} \partial f_{i}\p{y} + \sum_{i\in\IndexOp} G_{i}\p{y},\end{aligned}\]

where the functions \(f_i:\calH \to \reals \cup \set{\pm \infty}\) and operators \(G_i : \calH \rightrightarrows \calH\) are chosen from some user-specified function class \(\mathcal{F}_i\) and operator class \(\mathcal{G}_{i}\), respectively, i.e.,

\[\begin{split}\begin{aligned} \p{\forall i \in \IndexFunc}& \quad f_{i} \in \mathcal{F}_{i} \subseteq \set{ f: \calH \to \reals\cup \set{\pm \infty}}, \\ \p{\forall i \in \IndexOp}& \quad G_{i} \in \mathcal{G}_{i} \subseteq \set{ G: \calH \rightrightarrows \calH }.\end{aligned}\end{split}\]

For example, if \(\IndexOp=\emptyset\), then (2.1) is a first-order optimality condition for minimizing

\[\sum_{i\in\IndexFunc} f_{i}.\]

Moreover, (2.1) provides a formalism that covers monotone inclusion problems, certain equilibrium problems, so-called (mixed) variational inequalities, and beyond.

The API for these objects is documented in API reference. In particular, Problem classes documents the InclusionProblem interface for formulating (2.1), while Function classes and Operator classes document the shipped function- and operator-class interfaces corresponding to the classes \((\mathcal{F}_i)_{i\in\IndexFunc}\) and \((\mathcal{G}_i)_{i\in\IndexOp}\), respectively, in (2.1). The API also supports intersections of function classes and intersections of operator classes (but not mixed function-operator intersections).