English

Nearly Linear-Time Packing and Covering LP Solvers

Data Structures and Algorithms 2018-02-28 v3 Numerical Analysis Numerical Analysis Optimization and Control

Abstract

Packing and covering linear programs (PC-LPs) form an important class of linear programs (LPs) across computer science, operations research, and optimization. In 1993, Luby and Nisan constructed an iterative algorithm for approximately solving PC-LPs in nearly linear time, where the time complexity scales nearly linearly in NN, the number of nonzero entries of the matrix, and polynomially in ε\varepsilon, the (multiplicative) approximation error. Unfortunately, all existing nearly linear-time algorithms for solving PC-LPs require time at least proportional to ε2\varepsilon^{-2}. In this paper, we break this longstanding barrier by designing a packing solver that runs in time O~(Nε1)\tilde{O}(N \varepsilon^{-1}) and covering LP solver that runs in time O~(Nε1.5)\tilde{O}(N \varepsilon^{-1.5}). Our packing solver can be extended to run in time O~(Nε1)\tilde{O}(N \varepsilon^{-1}) for a class of well-behaved covering programs. In a follow-up work, Wang et al. showed that all covering LPs can be converted into well-behaved ones by a reduction that blows up the problem size only logarithmically. At high level, these two algorithms can be described as linear couplings of several first-order descent steps. This is an application of our linear coupling technique to problems that are not amenable to blackbox applications known iterative algorithms in convex optimization.

Keywords

Cite

@article{arxiv.1411.1124,
  title  = {Nearly Linear-Time Packing and Covering LP Solvers},
  author = {Zeyuan Allen-Zhu and Lorenzo Orecchia},
  journal= {arXiv preprint arXiv:1411.1124},
  year   = {2018}
}

Comments

journal version (to appear in Mathematical Programming)

R2 v1 2026-06-22T06:48:26.558Z