Ellipsoid Method

In this article, I will give a brief guide on what the ellipsoid method is. A good reference would be the note by Sébastien Bubeck 1.

I will first give a high-level breakdown on why this algorithm works, then briefly write about how mathematically the ellipsoids are manipulated. Another optimization algorithm that is seldomly used in practice, but conceptually closely-related is the center of gravity method. This is explored here.

1. Setting the Stage

1.1. Assumptions and Notations

Optimization Problem. Minimize a convex function mathematical expression or equation defined over a convex body mathematical expression or equation .

General results on convex analysis guarantees that mathematical expression or equation attains minimum on some mathematical expression or equation ; let us also write the optimal value as mathematical expression or equation .

Assumptions. For mathematical expression or equation , we make the assumptions:

  1. Value Bound. mathematical expression or equation for some mathematical expression or equation .
  2. Volume Bound. mathematical expression or equation for some mathematical expression or equation , mathematical expression or equation ; here mathematical expression or equation is the open ball centered at mathematical expression or equation with radius mathematical expression or equation .

Available Oracles. We assume the following 0th and 1st-order oracles available to us:

  1. Separation Oracle. Given mathematical expression or equation , we can ask for a direction mathematical expression or equation with mathematical expression or equation , where mathematical expression or equation is the half space mathematical expression or equation .
  2. Subgradient Oracle. Given mathematical expression or equation , we can ask for a direction mathematical expression or equation .

1.2. Utilizing Volume and Value Bounds via Shrinking

Intuitively, points close to mathematical expression or equation shouldn’t be too bad. Although we do not know mathematical expression or equation , it still makes sense to consider the following construction: Given mathematical expression or equation , define the set (which can be thought of shrinking towards mathematical expression or equation ):

mathematical expression or equation

On this set, we have the function bounds and volume bounds on mathematical expression or equation :

mathematical expression or equation mathematical expression or equation

by utilizing our assumptions on convexity, volume and value bounds. In this sense, we have the following general idea:

If we are able to solve for an optimal point in a major portion of the feasibility region, this point would in fact be close to the true optimal solution.

We formalize this idea and give an abstract proof of why the ellipsoid method works.

1.3. General Proof of Convergence

The ellipsoid method is an iterative method. In each step, it gains total control of a part of the feasibility region, by using ellipsoids as a proxy, through halving along subgradients or separating hyperplanes.

Suppose at time mathematical expression or equation , the remaining uncontrolled region is written as mathematical expression or equation . This gives us a descending sequence of subsets:

mathematical expression or equation

As an old adage goes:

To control an onion, all you have to do is to control its peels.

we mathematically express mathematical expression or equation , where mathematical expression or equation are the peels, and formulate strategies to control mathematical expression or equation .

Now for each set mathematical expression or equation , say we have a point mathematical expression or equation with either mathematical expression or equation , or mathematical expression or equation with mathematical expression or equation , then by taking mathematical expression or equation , and assuming mathematical expression or equation , we in fact have mathematical expression or equation . For a proof, note that for any mathematical expression or equation , the volume bounds on mathematical expression or equation shows that mathematical expression or equation cannot contain mathematical expression or equation for large enough mathematical expression or equation , while we have:

mathematical expression or equation

The following diagram might be useful for navigating the definitions and symbols (coutesy to draw.io)

Schematic depiction of the abstract idea of onionification.

In optimization, we are also interested in the question of the speed of convergence. By using the same idea for estimation, we see that it depends on mathematical expression or equation . In ellipsoid methods - as one can guess it - these are given by manipulations with ellipsoids; in center of gravity methods, these are given by other means.

1.4. Using Ellipsoids and Subgradients

It is now (finally 😅) the time to introduce the ellipsoid algorithm. The steps are as follows:

  • Initiallize: Ellipsoid mathematical expression or equation , mathematical expression or equation , mathematical expression or equation , mathematical expression or equation
  • Halving:
    • If mathematical expression or equation , call separation oracle for a nonzero direction mathematical expression or equation , so that mathematical expression or equation
    • Else call subgradient oracle for a direction mathematical expression or equation . If mathematical expression or equation , optimality condition reached, terminate. Otherwise continue.
  • Update: Update mathematical expression or equation via the explicit formulas in the next section, to have the properties: mathematical expression or equation mathematical expression or equation and update:
    • mathematical expression or equation to be the new center of this ellipsoid.
    • mathematical expression or equation the argmin of mathematical expression or equation if mathematical expression or equation ; else set to mathematical expression or equation .
    • mathematical expression or equation .
    • mathematical expression or equation .

Note that the sets mathematical expression or equation and points mathematical expression or equation then satisfies the settings we previously introduced that will lead to convergence. With a bit of algebra, one has the following:

Ellipsoid Method: Feasibility and Convergence

For mathematical expression or equation , we have mathematical expression or equation , with:

mathematical expression or equation

A bit of interpretation on this result, which would illustrate some cool characteristics of this algorithm:

  1. The analytical complexity (that is, the number of calls to the oracles needed) to guarantee an accuracy to mathematical expression or equation is mathematical expression or equation , from a black-box optimization perspective.
  2. In such sense, it is a dimension-dependent algorithm - as dimension grows, the calls needed grows.
  3. As one can see later, the cost update are just some matrix-vector multiplications, as opposed to center-of-gravity which although have a better analytical complexity (of mathematical expression or equation ), but each time step requires the computation of a nontrivial integral, in which in the most easy cases exact solvers still needs exponential computation time.

2. Ellipsoidal Shenanigans

Now let us look at some technical tools and results that allow us to work with ellipsoids, tying together the lose ends introduced in the algorithm above.

It is just a brief note on how the math is done, leaving out much of the book-keeping and formula derivations. For even more casual readers, you have already understand what ellipsoid method does🎉!

2.1. Representation of an Ellipsoid

An ellipsoid mathematical expression or equation is an affine image of mathematical expression or equation . It can be represented as:

mathematical expression or equation

where mathematical expression or equation is SPD (symmetric positive definite) (assuming it having positive volume), admitting a decomposition mathematical expression or equation ; such mathematical expression or equation then describes mathematical expression or equation as mathematical expression or equation , hence an ellipsoid.

2.2. “Ellipsoiding” Halved Ellipsoids

Here is a fun problem in geometry:

Question

Given an ellipsoid with positive volume mathematical expression or equation , a direction mathematical expression or equation , how small an ellipsoid (in terms of volume) mathematical expression or equation can we find so that it encloses the halved ellipsoid mathematical expression or equation ?

The case mathematical expression or equation is trivial, so we assume mathematical expression or equation .

It would be illustrative to work out the case where mathematical expression or equation , and mathematical expression or equation , then map it back using mathematical expression or equation . We want mathematical expression or equation and mathematical expression or equation lie in mathematical expression or equation , so we define:

mathematical expression or equation

with mathematical expression or equation ; note that mathematical expression or equation , mathematical expression or equation for mathematical expression or equation . By this requirement, we formulate the optimization problem:

mathematical expression or equation mathematical expression or equation

After expressing mathematical expression or equation via mathematical expression or equation , we have by calculus that the optimal point is mathematical expression or equation with value:

mathematical expression or equation

After taking account the rescaling of mathematical expression or equation and the remapping of points mathematical expression or equation , we get:

Ellipsoid Update Formula

For mathematical expression or equation , we get:

mathematical expression or equation where: mathematical expression or equation

  1. Bubeck, Sébastien. “Convex optimization: Algorithms and complexity.” Foundations and Trends® in Machine Learning 8.3-4 (2015): 231-357. ↩︎