The ellipsoid method is an algorithm for solving convex optimization problems. It was introduced by Naum Z. Shor, Arkady Nemirovsky, and David B. Yudin in 1972, and used by Leonid Khachiyan to prove the polynomial-time solvability of linear programs. At the time, the ellipsoid method was the only algorithm for solving linear programs whose runtime was provably polynomial. However, the interior-point method and variants of the simplex algorithm are much faster than the ellipsoid method, in both theory and practice. The algorithm works by enclosing the minimizer of a convex function in a sequence of ellipsoids whose volume decreases at each iteration.
Description
-
A convex optimization 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 the minimizer , where and is the center of . Finally, we require the existence of a cutting-plane oracle for the function . One example of a cutting-plane is given by the subgradient of .
Unconstrained Minimization
At the -th iteration of the algorithm, we have a point x(k) 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 x(k + 1). The update is given by


where . The stopping criterion is given by the property that

Inequality-Constrained Minimization
At the -th iteration of the algorithm for constrained minimization, we have a point x(k) 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 x(k) is feasible, we perform one of two tasks:
- If x(k) is feasible, perform essentially the same update as in the unconstrained case, by choosing a subgradient
that satisfies

- If x(k) is infeasible and violates the j-th constraint, update the ellipsoid with a feasibility cut. Our feasibility cut may be a subgradient gj of fj which must satisfy

for all feasible .
Application to Linear Programming
Performance
The ellipsoid method is rarely used in practice due to poor practical performance and is used almost exclusively as an educational tool to prove the polynomial complexity of linear programs.
Sample sequence of iterates
|
|
|
|
|
|
|
|
External links
|