The ellipsoid method has a long history. As an iterative method, a preliminary version was introduced by Naum Z. Shor. In 1972, an approximation algorithm for real convex minimization was studied by Arkadi Nemirovski and David B. Yudin. As an algorithm for solving linear programming problems with rational data, the ellipsoid algorithm was studied by Leonid Khachiyan: Khachiyan's achievement was to prove the polynomial-time solvability of linear programs. Following Khachiyan's work, the ellipsoid method was the only algorithm for solving linear programs whose runtime had been proved to be polynomial until Karmarkar's algorithm. However, Karmarkar's interior-point method and variants of the simplex algorithm are much faster than the ellipsoid method in practice. Karmarkar's algorithm is also faster in the worst case. However, the ellipsoidal algorithm allows complexity theorists to achieve bounds that depend on the dimension of the problem and on the size of the data, but not on the number of rows, so it remained important in combinatorial optimization theory for many years. Only in the 21st century have interior-point algorithms with similar complexity properties appeared.
Description
A convex minimization problem consists of a convex function to be minimized over the variable x, convex inequality constraints of the form, where the functions are convex, and linear equality constraints of the form. We are also given an initial ellipsoid defined as containing a minimizer, where and is the center of. Finally, we require the existence of a cutting-plane oracle for the function f. One example of a cutting-plane is given by a subgradientg of f.
Unconstrained minimization
At the k-th iteration of the algorithm, we have a point at the center of an ellipsoid We query the cutting-plane oracle to obtain a vector such that We therefore conclude that We set to be the ellipsoid of minimal volume containing the half-ellipsoid described above and compute. The update is given by where The stopping criterion is given by the property that
Inequality-constrained minimization
At the k-th iteration of the algorithm for constrained minimization, we have a point at the center of an ellipsoid as before. We also must maintain a list of values recording the smallest objective value of feasible iterates so far. Depending on whether or not the point is feasible, we perform one of two tasks:
If is feasible, perform essentially the same update as in the unconstrained case, by choosing a subgradient that satisfies
If is infeasible and violates the j-th constraint, update the ellipsoid with a feasibility cut. Our feasibility cut may be a subgradient of which must satisfy
for all feasible z.
Application to linear programming
Inequality-constrained minimization of a function that is zero everywhere corresponds to the problem of simply identifying any feasible point. It turns out that any linear programming problem can be reduced to a linear feasibility problem. One way to do this is by combining the primal and dual linear programs together into one program, and adding the additional constraint that the value of the primal solution is no worse than the value of the dual solution. Another way is to treat the objective of the linear program as an additional constraint, and use binary search to find the optimum value.
Performance
The ellipsoid method is used on low-dimensional problems, such as planar location problems, where it is numerically stable. On even "small"-sized problems, it suffers from numerical instability and poor performance in practice. However, the ellipsoid method is an important theoretical technique in combinatorial optimization. In computational complexity theory, the ellipsoid algorithm is attractive because its complexity depends on the number of columns and the digital size of the coefficients, but not on the number of rows. In the 21st century, interior-point algorithms with similar properties have appeared.