inst/uno/docs/presets.md

Uno presets

Uno implements presets, that is combinations of ingredients that correspond to existing solvers. At the moment, the available presets are filtersqp (after the trust-region restoration filter SQP solver filterSQP) and ipopt (after the line-search filter restoration infeasible interior-point solver IPOPT). We show below how the eight ingredients naturally arise in these two methods.

Trust-region restoration filter SQP

Convergence of SQP filter methods has been proven under mild conditions in the context of trust-region methods and of line-search methods. The trust-region optimality QP subproblem about $(x^{(k)}, y^{(k)})$ is defined as:

$$ \tag{$QP^{(k)}(\Delta^{(l)})$} \begin{array}{ll} \displaystyle \min_{d_x} & \frac{1}{2} d_x^T H_1^{(k)} d_x + (\nabla f^{(k)})^T d_x \ \mbox{s.t.} & c^{(k)} + (\nabla c^{(k)})^T d_x = 0 \ & x^{(k)} + d_x \ge 0 \ & \|d_x\|_\infty \le \Delta^{(l)}, \end{array} $$

where $\Delta^{(l)} > 0$ is the current trust-region radius. If the QP subproblem is infeasible ($\Delta^{(l)}$ is too small or the linearized constraints are inconsistent), we switch to feasibility restoration and solve a smooth reformulation of the $\ell_1$ feasibility problem with elastic variables $u^+ \in \mathbb{R}^m$ and $u^- \in \mathbb{R}^m$:

$$ \tag{$FQP^{(k)}(\Delta^{(l)})$} \begin{array}{ll} \displaystyle \min_{d_x, u^+, u^-} & \frac{1}{2} d_x^T H_0^{(k)} d_x + e^T u^+ + e^T u^- \ \mbox{s.t.} & c^{(k)} + (\nabla c^{(k)})^T d_x - u^+ + u^- = 0 \ & x^{(k)} + d_x \ge 0 \ & \|d_x\|_\infty \le \Delta^{(l)} \ & u^+ \ge 0, \; u^- \ge 0. \end{array} $$

If the trial iterate $x^{(k)} + d_x$ makes sufficient progress with respect to the filter method, it is accepted. If the trust region was active at the solution of the QP ($\|d_x^*\|_\infty = \Delta^{(l)}$), we enlarge the radius. If the trial iterate is rejected, we resolve the trust-region subproblem with a smaller trust-region radius.

Line-search filter restoration infeasible interior-point method

An infeasible interior-point method does not require feasibility with respect to the general constraints. A prerequisite is to turn inequality constraints into equality constraints using slack variables:

$$ \begin{array}{ll} \displaystyle \min_{x,s} & f(x) \ \mbox{s.t.} & c(x) - s = 0 \ & l_x \le x \le u_x \ & l_c \le s \le u_c. \end{array} $$

Provided that the subproblem is convex, the primal-dual direction is the solution of the primal-dual system:

$$ \tag{$IPSP_\mu$} \begin{pmatrix} H_1^{(k)} + (X^{(k)})^{-1} Z^{(k)} + \delta_w I & \nabla c^{(k)} \ (\nabla c^{(k)})^T & -\delta_c I \end{pmatrix} \begin{pmatrix} d_x \ -d_y \end{pmatrix} = - \begin{pmatrix} \nabla f^{(k)} - \nabla c^{(k)} y^{(k)} - \mu (X^{(k)})^{-1} e \ c^{(k)} \end{pmatrix}, $$

where $X^{(k)} = \text{diag}(x^{(k)})$, $Z^{(k)} = \text{diag}(z^{(k)})$, $e$ is a vector of ones of appropriate size, and $\delta_w$ and $\delta_c$ are primal and dual inertia correction coefficients. The dual direction for the bound constraints is given by $d_z = (X^{(k)})^{-1} (\mu e - Z^{(k)} d_x) - z^{(k)}$. The fraction-to-boundary rule determines primal and dual step lengths that maintain positivity of $x$ and $z$:

$$ \begin{array}{ll} \alpha_x^{(k)} & \stackrel{\text{def}}{=} \max{\alpha \in (0, 1] \mid x^{(k)} + \alpha d_x \ge (1 - \tau) x^{(k)}} \ \alpha_z^{(k)} & \stackrel{\text{def}}{=} \max{\alpha \in (0, 1] \mid z^{(k)} + \alpha d_z \ge (1 - \tau) z^{(k)}}, \end{array} $$

where $\tau$ is a parameter close to 1. A filter line search assesses whether the trial iterate makes sufficient progress with respect to the filter method. If the step length ultimately falls below a given threshold (e.g., $10^{-7}$), we switch to feasibility restoration. Note that by construction the filter entries depend on the barrier parameter $\mu$ through the auxiliary measure $\xi$. Consequently, the filter must be flushed whenever $\mu$ is updated.



Try the Uno package in your browser

Any scripts or data that you put into this service are public.

Uno documentation built on Aug. 30, 2026, 5:07 p.m.