Practical Large-Scale Linear Programming using Primal-Dual Hybrid Gradient
arXiv:2106.04756
Abstract
We present PDLP, a practical first-order method for linear programming (LP) that can solve to the high levels of accuracy that are expected in traditional LP applications. In addition, it can scale to very large problems because its core operation is matrix-vector multiplications. PDLP is derived by applying the primal-dual hybrid gradient (PDHG) method, popularized by Chambolle and Pock (2011), to a saddle-point formulation of LP. PDLP enhances PDHG for LP by combining several new techniques with older tricks from the literature; the enhancements include diagonal preconditioning, presolving, adaptive step sizes, and adaptive restarting. PDLP improves the state of the art for first-order methods applied to LP. We compare PDLP with SCS, an ADMM-based solver, on a set of 383 LP instances derived from MIPLIB 2017. With a target of relative accuracy and 1 hour time limit, PDLP achieves a 6.3x reduction in the geometric mean of solve times and a 4.6x reduction in the number of instances unsolved (from 227 to 49). Furthermore, we highlight standard benchmark instances and a large-scale application (PageRank) where our open-source prototype of PDLP, written in Julia, outperforms a commercial LP solver.
arXiv commentNeurIPS 2021
References in corpus (8)
- Emergence of scaling in random networks
- OSQP: An Operator Splitting Solver for Quadratic Programs
- Templates for Convex Cone Problems with Applications to Sparse Signal Recovery
- A first-order primal-dual algorithm with linesearch
- Adaptive Primal-Dual Hybrid Gradient Methods for Saddle-Point Problems
- Faster First-Order Primal-Dual Methods for Linear Programming using Restarts and Sharpness
- RSG: Beating Subgradient Method without Smoothness and Strong Convexity
- Efficient Distributed-Memory Parallel Matrix-Vector Multiplication with Wide or Tall Unstructured Sparse Matrices