TL;DR
PDLP is a practical first-order method for large-scale linear programming that efficiently solves extremely large problems by incorporating enhancements like adaptive strategies and feasibility polishing, outperforming traditional solvers on several instances.
Contribution
This paper introduces PDLP, a novel first-order LP solver with new techniques like feasibility polishing and multithreaded implementation, capable of handling billion-scale problems.
Findings
Solves 8 out of 11 large-scale LPs within 6 days.
Outperforms Gurobi barrier and simplex methods on large instances.
New collection of large-scale LP problems for benchmarking.
Abstract
We present PDLP, a practical first-order method for linear programming (LP) designed to solve large-scale LP problems. PDLP is based on the primal-dual hybrid gradient (PDHG) method applied to the minimax formulation of LP. PDLP incorporates several enhancements to PDHG, including diagonal preconditioning, presolving, adaptive step sizes, adaptive restarting, and feasibility polishing. Our algorithm is implemented in C++, available in Google's open-source OR-Tools library, and supports multithreading. To evaluate our method, we introduce a new collection of eleven large-scale LP problems with sizes ranging from 125 million to 6.3 billion nonzeros. PDLP solves eight of these instances to optimality gaps of 1% (with primal and dual feasibility errors of less than ) within six days on a single machine. We also compare PDLP with Gurobi barrier, primal simplex, and dual simplex…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
