Ellipsoid method
From Wikipedia, the free encyclopedia
The ellipsoid method is an algorithm for solving convex optimization problems. It was introduced by Shor, Nemirovsky, and 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. In practice, however, variations of the simplex algorithm are much faster, and interior-point methods 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.
Contents |
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
.
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

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
.
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.





