Solving Linear Programs in the Current Matrix Multiplication Time
Abstract
This paper shows how to solve linear programs of the form $\min_{Ax=b,x\geq0} c^\top x$ with $n$ variables in time $$O^*((n^{\omega}+n^{2.5-\alpha/2}+n^{2+1/6}) \log(n/\delta))$$ where $\omega$ is the exponent of matrix multiplication, $\alpha$ is the dual exponent of matrix multiplication, and $\delta$ is the relative accuracy. For the current value of $\omega\sim2.37$ and $\alpha\sim0.31$, our algorithm takes $O^*(n^{\omega} \log(n/\delta))$ time. When $\omega = 2$, our algorithm takes $O^*(n^{2+1/6} \log(n/\delta))$ time. Our algorithm utilizes several new concepts that we believe may be of independent interest: $\bullet$ We define a stochastic central path method. $\bullet$ We show how to maintain a projection matrix $\sqrt{W}A^{\top}(AWA^{\top})^{-1}A\sqrt{W}$ in sub-quadratic time under $\ell_{2}$ multiplicative changes in the diagonal matrix $W$.
- Publication:
-
arXiv e-prints
- Pub Date:
- October 2018
- DOI:
- 10.48550/arXiv.1810.07896
- arXiv:
- arXiv:1810.07896
- Bibcode:
- 2018arXiv181007896C
- Keywords:
-
- Computer Science - Data Structures and Algorithms
- E-Print:
- STOC 2019, JACM 2020