PyROS Methodology Overview
PyROS can accommodate optimization models with:
Continuous variables only
Nonlinearities (including nonconvexities) in both the
variables and uncertain parameters
First-stage degrees of freedom and second-stage degrees of freedom
Equality constraints defining state variables,
including implicitly defined state variables that cannot be
eliminated from the model via reformulation
Uncertain parameters participating in the inequality constraints,
equality constraints, and/or objective function
Supported deterministic models are nonlinear programs (NLPs)
of the general form
\[\begin{array}{clll}
\displaystyle \min_{\substack{x \in \mathcal{X}, \\ z \in \mathbb{R}^{n_z}, \\ y\in\mathbb{R}^{n_y}}}
& ~~ f_1\left(x\right) + f_2(x,z,y; q^{\text{nom}}) & \\
\displaystyle \text{s.t.} & ~~ g_i(x, z, y; q^{\text{nom}}) \leq 0 & \forall\,i \in \mathcal{I} \\
& ~~ h_j(x,z,y; q^{\text{nom}}) = 0 & \forall\,j \in \mathcal{J} \\
\end{array}\]
where:
\(x \in \mathcal{X}\) denotes the first-stage degree of freedom variables
(or design variables),
of which the feasible space \(\mathcal{X} \subseteq \mathbb{R}^{n_x}\)
is defined by the model constraints
(including variable bounds specifications) referencing \(x\) only
\(z \in \mathbb{R}^{n_z}\) denotes the second-stage degree of freedom
variables (or control variables)
\(y \in \mathbb{R}^{n_y}\) denotes the state variables
\(q \in \mathbb{R}^{n_q}\) denotes the model parameters considered
uncertain, and \(q^{\text{nom}}\) is the vector of nominal values
associated with those
\(f_1\left(x\right)\) is the summand of the objective function that depends
only on the first-stage degree of freedom variables
\(f_2\left(x, z, y; q\right)\) is the summand of the objective function
that depends on all variables and the uncertain parameters
\(g_i\left(x, z, y; q\right)\) is the \(i^\text{th}\)
inequality constraint function in set \(\mathcal{I}\)
(see first Note)
\(h_j\left(x, z, y; q\right)\) is the \(j^\text{th}\)
equality constraint function in set \(\mathcal{J}\)
(see second Note)
Note
PyROS accepts and automatically reformulates models with:
Interval bounds on components of \((x, z, y)\)
Ranged inequality constraints
Note
A key assumption of PyROS is that
for every
\(x \in \mathcal{X}\),
\(z \in \mathbb{R}^{n_z}\),
\(q \in \mathcal{Q}\),
there exists a unique \(y \in \mathbb{R}^{n_y}\)
for which \((x, z, y, q)\)
satisfies the equality constraints
\(h_j(x, z, y, q) = 0\,\,\forall\, j \in \mathcal{J}\).
If this assumption is not met,
then the selection of state
(i.e., not degree of freedom) variables \(y\) is incorrect,
and one or more entries of \(y\) should be appropriately
redesignated to be part of either \(x\) or \(z\).
In order to cast the robust optimization counterpart of the
deterministic model,
we now assume that the uncertain parameters \(q\) may attain
any realization in a compact uncertainty set
\(\mathcal{Q} \subseteq \mathbb{R}^{n_q}\) containing
the nominal value \(q^{\text{nom}}\).
The set \(\mathcal{Q}\) may be either continuous or discrete.
Based on the above notation,
the form of the robust counterpart addressed by PyROS is
\[\begin{array}{ccclll}
\displaystyle \min_{x \in \mathcal{X}}
& \displaystyle \max_{q \in \mathcal{Q}}
& \displaystyle \min_{\substack{z \in \mathbb{R}^{n_z},\\y \in \mathbb{R}^{n_y}}} \ \ & \displaystyle ~~ f_1\left(x\right) + f_2\left(x, z, y, q\right) \\
& & \text{s.t.}~ & \displaystyle ~~ g_i\left(x, z, y, q\right) \leq 0 & & \forall\, i \in \mathcal{I}\\
& & & \displaystyle ~~ h_j\left(x, z, y, q\right) = 0 & & \forall\,j \in \mathcal{J}
\end{array}\]
PyROS accepts a deterministic model and accompanying uncertainty set
and then, using the Generalized Robust Cutting-Set algorithm developed
in [IAE+21], seeks a solution to the robust counterpart.