A Randomized Polynomial-Time Simplex Algorithm for Linear Programming
Total Page:16
File Type:pdf, Size:1020Kb
A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Jonathan A. Kelner∗ Daniel A. Spielmany Computer Science and Artificial Intelligence Department of Computer Science Laboratory Yale University Massachusetts Institute of Technology ABSTRACT trast, algorithms have been developed for solving linear pro- We present the first randomized polynomial-time simplex grams that do have polynomial worst-case complexity [10, algorithm for linear programming. Like the other known 9, 5, 1]. Most notable among these have been the ellipsoid polynomial-time algorithms for linear programming, its run- method [10] and various interior-point methods [9]. All pre- ning time depends polynomially on the number of bits used vious polynomial-time algorithms for linear programming to represent its input. of which we are aware differ from simplex methods in that We begin by reducing the input linear program to a spe- they are fundamentally geometric algorithms: they work ei- cial form in which we merely need to certify boundedness. ther by moving points inside the feasible set, or by enclosing As boundedness does not depend upon the right-hand-side the feasible set in an ellipse. Simplex methods, on the other vector, we run the shadow-vertex simplex method with a hand, walk along the vertices and edges defined by the con- random right-hand-side vector. Thus, we do not need to straints. The question of whether such an algorithm can be bound the diameter of the original polytope. designed to run in polynomial time has been open for over Our analysis rests on a geometric statement of indepen- fifty years. dent interest: given a polytope Ax b in isotropic posi- We recall that a linear program is a constrained optimiza- tion, if one makes a polynomially small≤ perturbation to b tion problem of the form: then the number of edges of the projection of the perturbed maximize c x (1) polytope onto a random 2-dimensional subspace is expected · subject to Ax b; x Rd; to be polynomial. ≤ 2 where c Rd and b Rn are column vectors, and A is an 2 2 1. INTRODUCTION n d matrix. The vector c is the objective function, and the× set P := x Ax b is the set of feasible points. If Linear programming is one of the fundamental problems it is non-emptfy, Pj is a≤congvex polyhedron, and each of its of optimization. Since Dantzig [3] introduced the simplex extreme vertices will be determined by d constraints of the method for solving linear programs, linear programming has form a x = b , where a ; : : : ;a are the rows of A. It been applied in a diverse range of fields including economics, i i 1 n is not difficult· to show thatf the objectivg e function is always operations research, and combinatorial optimization. From maximized at an extreme vertex, if this maximum is finite. a theoretical standpoint, the study of linear programming The first simplex methods used heuristics to guide a walk has motivated major advances in the study of polytopes, on the graph of vertices and edges of P in search of one that convex geometry, combinatorics, and complexity theory. maximizes the objective function. In order to show that any While the simplex method was the first practically useful such method runs in worst-case polynomial time, one must approach to solving linear programs and is still one of the prove a polynomial upper bound on the diameter of polytope most popular, it was unknown whether any variant of the graphs. Unfortunately, the existence of such a bound is a simplex method could be shown to run in polynomial time wide-open question: the famous Hirsch Conjecture asserts in the worst case. In fact, most common variants have been that the graph of vertices and edges of P has diameter at shown to have exponential worst-case complexity. In con- most n d, whereas the best known bound for this diameter is superp−olynomial in n and d [8]. yPartially supported by NSF grant CCR-0324914. Later simplex methods, such as the self-dual simplex method ∗Partially supported by an NSF Graduate Fellowship and NSF grant CCR-0324914. and the criss-cross method, avoided this obstacle by consid- ering more general graphs for which diameter bounds were known. However, even though these graphs have polynomial diameters, they have exponentially many vertices, and no- body had been able to design a polynomial-time algorithm Permission to make digital or hard copies of all or part of this work for that provably finds the optimum after following a polyno- personal or classroom use is granted without fee provided that copies are mial number of edges. In fact, essentially every such algo- not made or distributed for profit or commercial advantage and that copies rithm has well-known counterexamples on which the walk bear this notice and the full citation on the first page. To copy otherwise, to takes exponentially many steps. republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. In this paper, we present the first randomized polynomial- Copyright 200X ACM XXXXXXXXX/XX/XX ...$5.00. time simplex method. Like the other known polynomial- time algorithms for linear programming, the running time start, the shadow-vertex method requires as input a vertex of our algorithm depends polynomially on the bit-length of v 0 of P . It then chooses some objective function optimized the input. We do not prove an upper bound on the diame- at v 0, say f , sets S = span(c; f ), and considers the shadow ter of polytopes. Rather we reduce the linear programming of P onto S. If no degeneracies occur, then for each vertex y problem to the problem of determining whether a set of lin- of P that projects onto the boundary of the shadow, there is ear constraints defines an unbounded polyhedron. We then a unique neighbor of y on P that projects onto the next ver- randomly perturb the right-hand sides of these constraints, tex of the shadow in clockwise-order. Thus, by tracing the observing that this does not change the answer, and we then vertices of P that map to the boundary of the shadow, the use a shadow-vertex simplex method to try solve the per- shadow-vertex method can move from the vertex it knows turbed problem. When the shadow-vertex method fails, it that optimizes f to the vertex that optimizes c. The number suggests a way to alter the distributions of the perturba- of steps that the method takes will be bounded by the num- tions, after which we apply the method again. We prove ber of edges of the shadow polygon. For future reference, that the number of iterations of this loop is polynomial with we call the shadow-vertex simplex method by high probability. ShadowVertex(a ; : : : ;a ; b; c; S; v ; s); It is important to note that the vertices considered during 1 n 0 the course of the algorithm may not all appear on a single where a 1; : : : ;a n; b, and c specify a linear program of form (1), polytope. Rather, they may be viewed as appearing on the S is a two-dimensional subspace containing c, and v 0 is the convex hulls of polytopes with different b-vectors. It is well- start vertex, which must optimize some objective function known that the graph of all of these \potential" vertices has in S. We allow the method to run for at most s steps. If small diameter. However, there was previously no way to it has not found the vertex optimizing c within that time, guide a walk among these potential vertices to one optimiz- it should return (fail; y), where y is its current vertex. If ing any particular objective function. Our algorithm uses it has solved the linear program, it either returns (opt; x), the graphs of polytopes \near" P to impose structure on where x is the solution, or unbounded if it was unbounded. this graph and to help to guide our walk. In the next section, we will show that if the polytope is Perhaps the message to take away from this is that instead in isotropic position and the distances of the facets from the of worrying about the combinatorics of the natural polytope origin are randomly perturbed, then the number of edges of P , one can reduce the linear programming problem to one the shadow onto a random S is expected to be polynomial. whose polytope is more tractable. The first result of our The one geometric fact that we will require in our analysis paper, and the inspiration for the algorithm, captures this is that if an edge of P is tight for inequalities a i x = bi, idea by showing that if one slightly perturbs the b-vector for i I, then the edge projects to an edge in the shado· w if 2 of a polytope in near-isotropic position, then there will be a and only if S intersects the convex hull of a i i I . Below, polynomial-step path from the vertex minimizing to the ver- we will often abuse notation by identifying anf edgeg 2 with the tex maximizing a random objective function. Moreover, this set of constraints I for which it is tight. path may be found by the shadow-vertex simplex method. We stress that while our algorithm involves a perturba- 3. THE SHADOW SIZE IN THE k-ROUND tion, it is intrinsically different from previous papers that CASE have provided average-case or smoothed analyses of linear programming.