We give a nearly-linear time reduction that encodes any linear program as a 2-commodity flow problem with only a small blow-up in size. Under mild assumptions similar to those employed by modern fast solvers for linear programs, our reduction causes only a polylogarithmic multiplicative increase in the size of the program and runs in nearly-linear time. Our reduction applies to high-accuracy approximation algorithms and exact algorithms. Given an approximate solution to the 2-commodity flow problem, we can extract a solution to the linear program in linear time with only a polynomial factor increase in the error. This implies that any algorithm that solves the 2-commodity flow problem can solve linear programs in essentially the same time. Given a directed graph with edge capacities and two source-sink pairs, the goal of the 2-commodity flow problem is to maximize the sum of the flows routed between the two source-sink pairs subject to edge capacities and flow conservation. A 2-commodity flow can be directly written as a linear program, and thus we establish a nearly-tight equivalence between these two classes of problems. Our proof follows the outline of Itai's polynomial-time reduction of a linear program to a 2-commodity flow problem (JACM'78). Itai's reduction shows that exactly solving 2-commodity flow and exactly solving linear programming are polynomial-time equivalent. We improve Itai's reduction to nearly preserve the problem representation size in each step. In addition, we establish an error bound for approximately solving each intermediate problem in the reduction, and show that the accumulated error is polynomially bounded. We remark that our reduction does not run in strongly polynomial time and that it is open whether 2-commodity flow and linear programming are equivalent in strongly polynomial time.
翻译:我们给出了近线性时间递减, 将任何线性程序编码为2- 商品流问题, 其规模只会小一点的打击。 根据与现代线性程序快速解答者所使用的类似的轻度假设, 我们的递减只导致程序规模的多式倍增, 并运行在近线性时间。 我们的递减适用于高精度近似算法和精确算法。 由于对2- 商品流问题的大致解决办法, 我们可以在线性时间为线性程序找到一个解决方案, 并且只会增加一个多元因素。 这意味着任何接近于解决2- 商品流问题的中间算法都可以基本上在同一时间里解决线性程序。 如果有一个带有边际能力和两个源- 汇流的双对配对的直线性图, 我们2- 商品流流流流的递减问题就会在两个源- 源- ink- 配方之间流成的流和流存留的流流和流存中。 在线性程式中, 我们的递增流递增和流缩流流流流流流中, 我们的一个直线性解的流流流流流流流流流的流流流的递将显示一个直线性流到流到流到流到流的流流到流到流流到流到流到流的流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到流到