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
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.,
For example, if \(\IndexOp=\emptyset\), then (2.1) is a first-order optimality condition for minimizing
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).