- Ellipsoid method
The ellipsoid method is an
algorithm for solvingconvex optimization problems. It was introduced byNaum Z. Shor , Arkady Nemirovsky, and David B. Yudin in 1972, and used byLeonid 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, theinterior-point method and variants of thesimplex algorithm are much faster than the ellipsoid method, in both theory and practice. The algorithm works by enclosing the minimizer of aconvex 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 , 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 thesubgradient of .Unconstrained Minimization
At the -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 -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 -th constraint, update the ellipsoid with a feasibility cut. Our feasibility cut may be a subgradient of 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.
External links
* [http://www.stanford.edu/class/ee364/ EE364] and [http://www.stanford.edu/class/ee364b/ EE364b] , a Stanford course homepage
Wikimedia Foundation. 2010.