HPR-LP: An implementation of an HPR method for solving linear programming
Kaihuang Chen, Defeng Sun, Yancheng Yuan, Guojun Zhang, Xinyuan Zhao
TL;DR
This work introduces HPR-LP, a GPU-accelerated solver for large-scale linear programs based on the Halpern-accelerated Peaceman-Rachford framework with semi-proximal terms. By integrating a restart strategy and an adaptive penalty-parameter update, the method achieves the theoretical $O(1/k)$ convergence rate in the KKT residual and objective error, while delivering substantial empirical speedups over the state-of-the-art PDLP/cuPDLP on diverse benchmarks. The authors provide a comprehensive GPU-enabled Julia implementation and demonstrate strong performance on Mittelmann’s LP set, MIPLIB 2017 relaxations, and large-scale instances (QAP, ZIB, PageRank), solving more problems within tight tolerances and with favorable per-iteration costs. They also establish an appendix-level theoretical link between HPR without proximal terms and Halpern-accelerating pADMM, highlighting the method’s broader applicability and potential for further acceleration via advanced fixed-point iterations.
Abstract
In this paper, we introduce an HPR-LP solver, an implementation of a Halpern Peaceman-Rachford (HPR) method with semi-proximal terms for solving linear programming (LP). The HPR method enjoys the iteration complexity of $O(1/k)$ in terms of the Karush-Kuhn-Tucker residual and the objective error. Based on the complexity results, we design an adaptive strategy of restart and penalty parameter update to improve the efficiency and robustness of the HPR method. We conduct extensive numerical experiments on different LP benchmark datasets using NVIDIA A100-SXM4-80GB GPU in different stopping tolerances. Our solver's Julia version achieves a $\textbf{2.39x}$ to $\textbf{5.70x}$ speedup measured by SGM10 on benchmark datasets with presolve ($\textbf{2.03x}$ to $\textbf{4.06x}$ without presolve) over the award-winning solver PDLP with the tolerance of $10^{-8}$.
