Algorithmic enhancements
Several enhancements have been proposed to improve the performance of the HPR method for solving LP [5] and CCQP [6].
In particular, restart strategies and adaptive updates of the penalty parameter \(\sigma\), motivated by the \(O(1/k)\) complexity results in Theorem 2.4, have proven effective.
For completeness, we summarize the HPR-LP framework in Algorithm 2.2.
Restart strategy
Restarting has been recognized as particularly important for Halpern iterations.
As noted in Theorem 2.4, the complexity bound depends on the weighted distance \(R_0\) between the initial point and the optimal solution. Consequently, as the iterates approach optimality, continuing to reference a distant initial anchor becomes counterproductive, whereas resetting the anchor to the current iterate helps reduce the bound and refocus the iteration near the solution.
This observation motivates the merit function
where \(w^*\) is any solution of the KKT system (2.1). Since \(w^*\) is unknown, the practical surrogate
is employed in defining restart rules. The following criteria are commonly adopted:
Sufficient decay:
Necessary decay + no local progress:
Long inner loop:
where \(0 < \alpha_1 < \alpha_2 < 1\) and \(0 < \alpha_3 < 1\).
When any criterion is met, the inner loop is restarted at iteration \((r+1)\) with \(w^{r+1,0} = \bar{w}^{r,\tau_r}\) and an updated \(\sigma_{r+1}\).
Remark 2.6. Restart strategies are commonly used in first-order methods for LP [1, 31, 33, 32].
For instance, PDLP adopts a normalized duality gap as the merit function [1], while subsequent works by Lu et al. [31, 33] introduced variants based on weighted KKT residuals.
Update rules for \(\sigma\)
Another important enhancement of HPR methods concerns the update of the penalty parameter \(\sigma\).
The update strategy is motivated by the complexity results of the HPR method in Algorithm 2.1 (see Theorem 2.4).
At a high level, the goal is to select \(\sigma\) at each restart to tighten the complexity bound and thereby reduce the KKT residuals in subsequent iterations. Specifically, the ideal update is defined as the minimizer of the weighted distance to the optimal solution:
where \(w^*\) is any solution of the KKT system (2.1).
Substituting the definition of \(\mathcal{M}\) from (2.3) leads to the closed-form expression
Since the optimal solution \((x^*, y^*)\) is unknown, practical implementations approximate these terms using the observed progress within each outer loop:
which yields the implementable update rule
Several special cases of \(T_1\) have been investigated in the literature [5]:
Case \(T_1 = 0\).
This case occurs when \(l_c = u_c\), which arises in applications with special structure in \(A\), such as optimal transport [43] and Wasserstein barycenter problem [44].
The \(y\)-update then reduces to solving the linear system\[A A^* \bar{y}^{r,t+1} = \frac{1}{\sigma_r} \big( b - A(\bar{x}^{r,t+1} + \sigma_r(\bar{z}^{r,t+1} - c)) \big),\]which is computationally affordable in practice.
In this case, the update rule (2.12) simplifies to\[\sigma_{r+1} = \frac{\| \bar{x}^{r,\tau_r} - x^{r,0} \|}{\| A^*(\bar{y}^{r,\tau_r} - y^{r,0}) \|}.\]Case \(T_1 = \lambda_A I_m - A A^*\) with \(\lambda_A \geq \|A\|_2^2\).
Proposed in [13, 4, 42], this choice applies when \(l_c \neq u_c\) or when solving (2.13) directly is expensive.
The \(y\)-update takes the form\[\bar{y}^{r,t+1} = \frac{1}{\sigma_r \lambda_A} \Big( \Pi_{\mathcal{K}}(R_y) - R_y \Big),\]where \(R_y := A(2\bar{x}^{r,t+1} - x^{r,t}) - \sigma_r \lambda_A y^{r,t}\).
In this setting, the update for \(\sigma\) becomes\[\sigma_{r+1} = \frac{\| \bar{x}^{r,\tau_r} - x^{r,0} \|}{\sqrt{\lambda_A} \; \| \bar{y}^{r,\tau_r} - y^{r,0} \|}.\]
Remark 2.7. The update formula above is closely related to the primal weight update in PDLP [1, Algorithm 3], differing mainly by the presence of the factor \(\lambda_A\).
It is worth noting that the approximations \(\Delta_x\) and \(\Delta_y\) may deviate significantly from the true quantities.
To address this, various smoothing schemes [1, 31, 33, 6] and safeguards [5] have been proposed to stabilize the update.
Moreover, the rule (2.12) is not specific to LP; it extends directly to the HPR method for more general convex optimization problems [40], including CCQP [6].