ORF523: the ellipsoid method

In this lecture we describe the wonderful ellipsoid method. Recall that an ellipsoid is a convex set of the form

$latex \displaystyle \mathcal{E} = \{x \in {\mathbb R}^n : (x – c)^{\top} H^{-1} (x-c) \leq 1 \} ,&fg=000000$

where $latex {c \in {\mathbb R}^n}&fg=000000$, and $latex {H}&fg=000000$ is a symmetric positive definite matrix. Geometrically $latex {c}&fg=000000$ is the center of the ellipsoid, and the semi-axes of $latex {\mathcal{E}}&fg=000000$ are given by the eigenvectors of $latex {H}&fg=000000$, with lengths given by the square root of the corresponding eigenvalues.


A geometric lemma

We start with a simple geometric lemma, which is at the heart of the ellipsoid method.

Lemma Let $latex {\mathcal{E} \subset {\mathbb R}^n}&fg=000000$ be an ellipsoid centered at $latex {0}&fg=000000$. For any $latex {w \in {\mathbb R}^n}&fg=000000$, there exists an ellipsoid $latex {\mathcal{E}’}&fg=000000$ such that

$latex \displaystyle \{x \in \mathcal{E} : x^{\top} w \leq 0\} \subset \mathcal{E}’ ,&fg=000000$


$latex \displaystyle \mathrm{vol}(\mathcal{E}’) \leq \exp \left(- \frac{1}{2 n} \right) \mathrm{vol}(\mathcal{E}) .&fg=000000$

This lemma reads as follows: For any ellipsoid $latex {\mathcal{E}}&fg=000000$ centered at $latex {0}&fg=000000$, there exists another ellipsoid $latex {\mathcal{E}’}&fg=000000$ which contains the half ellipsoid $latex {\{x \in \mathcal{E} : x^{\top} w \leq 0\}}&fg=000000$, and such that the volume of $latex {\mathcal{E}’}&fg=000000$ is smaller (by a factor $latex {\exp \left(- \frac{1}{2 n} \right)}&fg=000000$) than the volume of the original ellipsoid $latex {\mathcal{E}}&fg=000000$. Furthermore as we shall see from the proof, there is an explicit analytical formula to construct the ellipsoid $latex {\mathcal{E}’}&fg=000000$.

Proof: For $latex n=1$ the result is obvious, in fact we even have $latex \mathrm{vol}(\mathcal{E}’) \leq \frac12 \mathrm{vol}(\mathcal{E}) .$

Now let $latex n \geq 2$, and let us first focus on the case where $latex {\mathcal{E}}&fg=000000$ is the Euclidean ball, that is $latex {\mathcal{E}= \{x \in {\mathbb R}^n : \|x\|_2 \leq 1\}}&fg=000000$. Without loss of generality we assume that $latex {w}&fg=000000$ is a unit norm vector. By doing a quick picture, one can see that it makes sense to look for an ellipsoid $latex {\mathcal{E}’}&fg=000000$ that would be centered at $latex {c= – t w}&fg=000000$, with $latex {t \in [0,1]}&fg=000000$ (presumably $latex {t}&fg=000000$ will be small), and such that one principal direction is $latex {w}&fg=000000$ (with inverse squared semi-axis $latex {a>0}&fg=000000$), and the other principal directions are all orthogonal to $latex {w}&fg=000000$ (with the same inverse squared semi-axes $latex {b>0}&fg=000000$). In other words we are looking for $latex {\mathcal{E}’}&fg=000000$ of the following form:

$latex \displaystyle \mathcal{E}’ = \{x: (x – c)^{\top} H^{-1} (x-c) \leq 1 \}, \; \text{with} \; c = – t w, \; \text{and} \; H^{-1} = a w w^{\top} + b (I_n – w w^{\top} ) .&fg=000000$

Now we have to express our constraints on the fact that $latex {\mathcal{E}’}&fg=000000$ should contain the half Euclidean ball $latex {\{x \in \mathcal{E} : x^{\top} w \leq 0\}}&fg=000000$. Since we are also looking for $latex {\mathcal{E}’}&fg=000000$ to be as small as possible, it makes sense to ask for $latex {\mathcal{E}’}&fg=000000$ to ‘touch’ the Euclidean ball, both at $latex {x = – w}&fg=000000$, and at the equator $latex {\partial \mathcal{E} \cap w^{\perp}}&fg=000000$. The former condition can be written as:

$latex \displaystyle (- w – c)^{\top} H^{-1} (- w – c) = 1 \Leftrightarrow (t-1)^2 a = 1 ,&fg=000000$

while the latter is expressed as:

$latex \displaystyle \forall y \in \partial \mathcal{E} \cap w^{\perp}, (y – c)^{\top} H^{-1} (y – c) = 1 \Leftrightarrow b + t^2 a = 1 .&fg=000000$

As one can see from the above two equations, we are still free to choose any value for $latex {t \in [0,1/2)}&fg=000000$ (the fact that we need $latex {t<1/2}&fg=000000$ comes from $latex {b=1 – \left(\frac{t}{t-1}\right)^2>0}&fg=000000$). Let us simply take the one that minimizes the volume of the resulting ellipsoid! Note that

$latex \displaystyle \frac{\mathrm{vol}(\mathcal{E}’)}{\mathrm{vol}(\mathcal{E})} = \frac{1}{\sqrt{a}} \left(\frac{1}{\sqrt{b}}\right)^{n-1} = (1-t) \left(\frac{1}{\sqrt{1 – \left(\frac{t}{1-t}\right)^2}}\right)^{n-1} = \frac{1}{\sqrt{\frac{1}{(1-t)^2}\left (1 – \left(\frac{t}{1-t}\right)^2\right)^{n-1}}} = \frac{1}{\sqrt{f\left(\frac{1}{1-t}\right)}} ,&fg=000000$

where $latex {f(h) = h^2 (2 h – h^2)^{n-1}}&fg=000000$. Elementary computations show that the maximum of $latex {f}&fg=000000$ (on $latex {[1,2]}&fg=000000$) is attained at $latex {h = 1+ \frac{1}{n}}&fg=000000$ (which corresponds to $latex {t=\frac{1}{n+1}}&fg=000000$), and the value is

$latex \displaystyle \left(1+\frac{1}{n}\right)^2 \left(1 – \frac{1}{n^2} \right)^{n-1} \geq \exp \left(\frac{1}{n} \right),&fg=000000$

where the lower bound follows again from elementary computations. This concludes the proof for the case where $latex {\mathcal{E}}&fg=000000$ is the Euclidean ball. The general case can be analyzed very easily by noting that an arbitrary ellipsoid $latex {\mathcal{E}}&fg=000000$ centered at $latex {0}&fg=000000$ is the unit ball in some norm derived from a dot product $latex {\langle \cdot, \cdot \rangle}&fg=000000$. Then one can mimic all the computations described above using this dot product instead of the canonical inner product of $latex {{\mathbb R}^n}&fg=000000$ (for instance $latex {ww^{\top}}&fg=000000$ will be replaced by $latex {w \otimes w}&fg=000000$, ect). $latex \Box&fg=000000$


The ellipsoid method

Let $latex {\mathcal{X} \subset {\mathbb R}^n}&fg=000000$ be a convex body, and $latex {f : \mathcal{X} \rightarrow [-B,B]}&fg=000000$ be a continuous and convex function. Let $latex {r, R>0}&fg=000000$ be such that $latex {\mathcal{X}}&fg=000000$ is contained in an Euclidean ball of radius $latex {R}&fg=000000$ (respectively it contains an Euclidean ball of radius $latex {r}&fg=000000$).

The ellipsoid method (invented in the 1970 by Shor, and Yudin and Nemirovski) produces a sequence of ellipsoids $latex {\mathcal{E}_0, \mathcal{E}_1, \hdots, \mathcal{E}_t}&fg=000000$, starting with $latex {\mathcal{E}_0}&fg=000000$ being the Euclidean ball of radius $latex {R}&fg=000000$ that contains $latex {\mathcal{X}}&fg=000000$. Let $latex {c_0, c_1, \hdots, c_t}&fg=000000$ be the associated sequence of centers of the ellipsoids. We describe now how to construct $latex {\mathcal{E}_{t+1}}&fg=000000$ based on $latex {\mathcal{E}_t}&fg=000000$. There are two different cases:

Case (a): $latex {c_t \not\in \mathcal{X}}&fg=000000$. Then by the Separation Theorem one can find a vector $latex {w_t \in {\mathbb R}^n}&fg=000000$ such that $latex {\mathcal{X} \subset \{x \in {\mathbb R}^n : c_t^{\top} w_t < x^{\top} w_t\}}&fg=000000$. In that case $latex {\mathcal{E}_{t+1}}&fg=000000$ is the ellipsoid given by our geometric lemma that contains the half ellipsoid $latex {\mathcal{E}_t \cap \{x \in {\mathbb R}^n : c_t^{\top} w_t \leq x^{\top} w_t\}}&fg=000000$.

Case (b): $latex {c_t \in \mathcal{X}}&fg=000000$. Then one can use a subgradient of $latex {f}&fg=000000$ at $latex {c_t}&fg=000000$, denote it by $latex {w_t}&fg=000000$, such that:

$latex \displaystyle f(c_t) – f(x) \leq w_t^{\top} (c_t – x) \Leftrightarrow f(x) \geq f(c_t) + w_t^{\top} (x – c_t) .&fg=000000$

In particular remark that all points in the half space $latex {\{x \in {\mathbb R}^n : c_t^{\top} w_t < x^{\top} w_t\}}&fg=000000$ have a function value strictly larger than the value at $latex {c_t}&fg=000000$. Thus in that case we choose $latex {\mathcal{E}_{t+1}}&fg=000000$ to be the ellipsoid given by our geometric lemma that contains the half ellipsoid $latex {\mathcal{E}_t \cap \{x \in {\mathbb R}^n : c_t^{\top} w_t \geq x^{\top} w_t\}}&fg=000000$.

Output: Assume that we stop the method after $latex {t}&fg=000000$ steps. Then we output

$latex \displaystyle x^*_t = \mathrm{argmin}_{c \in \{c_1, \hdots, c_t\} \cap \mathcal{X}} f(c) .&fg=000000$

Theorem (Yudin and Nemirovski 1972)

$latex \displaystyle f(x^*_t) – \inf_{x \in \mathcal{X}} f(x) \leq \frac{2 B R}{r} \exp\left( – \frac{t}{2 n^2}\right) .&fg=000000$

Proof: Let $latex {x^* \in \mathcal{X}}&fg=000000$ be such that $latex {f(x^*) = \inf_{x \in \mathcal{X}} f(x)}&fg=000000$. It is clear from the description of the method that $latex {x^* \in \mathcal{E}_t, \forall t}&fg=000000$. Furthermore by the geometric lemma we also have

$latex \displaystyle \mathrm{vol}(\mathcal{E}_t) \leq \exp\left( – \frac{t}{2 n}\right) \mathrm{vol}(\mathcal{E}_0) .&fg=000000$

Now for $latex {\epsilon \in [0,1]}&fg=000000$, let

$latex \displaystyle \mathcal{X}_{\epsilon} = \{(1-\epsilon) x^* + \epsilon x, x \in \mathcal{X}\}.&fg=000000$

Clearly one has:

$latex \displaystyle \mathrm{vol}(\mathcal{X}_{\epsilon}) = \epsilon^n \mathrm{vol}(\mathcal{X}) \geq \epsilon^n \frac{r^n}{R^n} \mathrm{vol}(\mathcal{E}_0) .&fg=000000$

In particular for $latex {\epsilon > \frac{R}{r} \exp\left( – \frac{t}{2 n^2}\right)}&fg=000000$, one has $latex {\mathrm{vol}(\mathcal{X}_{\epsilon}) > \mathrm{vol}(\mathcal{E}_t)}&fg=000000$. This means that there must exist a time $latex {s \in \{0,\hdots, t-1\}}&fg=000000$, and $latex {x_{\epsilon} \in \mathcal{X}_{\epsilon}}&fg=000000$, such that $latex {x_{\epsilon} \in \mathcal{E}_{s}}&fg=000000$ and $latex {x_{\epsilon} \not\in \mathcal{E}_{s+1}}&fg=000000$. The only way for this to happen, since $latex {x_{\epsilon} \in \mathcal{X}}&fg=000000$, is that at time $latex {s}&fg=000000$ we were in Case (b) (see definition of the method), that is $latex {c_s \in \mathcal{X}}&fg=000000$ and $latex {f(c_s) \leq f(x_{\epsilon})}&fg=000000$. But clearly by convexity of $latex {f}&fg=000000$, one also has $latex {f(x_{\epsilon}) \leq f(x^*) + 2 \epsilon B}&fg=000000$. This concludes the proof. $latex \Box&fg=000000$



The ellipsoid method is based on three subroutines with the following properties:

  1. Separation algorithm: given $latex {x \in {\mathbb R}^n}&fg=000000$, it outputs either that $latex {x}&fg=000000$ is in $latex {\mathcal{X}}&fg=000000$, or if $latex {x \not\in \mathcal{X}}&fg=000000$ then it outputs a separating hyperplane between $latex {x}&fg=000000$ and $latex {\mathcal{X}}&fg=000000$.
  2. Subgradient algorithm: Given $latex {x \in \mathcal{X}}&fg=000000$, it outputs a subgradient of $latex {f}&fg=000000$ at $latex {x}&fg=000000$.
  3. Evaluation algorithm: Given $latex {x \in \mathcal{X}}&fg=000000$, it outputs the value of $latex {f}&fg=000000$ at $latex {x}&fg=000000$.

To reach an accuracy of $latex {\epsilon > 0}&fg=000000$, the ellipsoid method must perform $latex {T_{\epsilon} = 2 n^2 \log \left(\frac{2 B R}{\epsilon r}\right)}&fg=000000$ iterations. Each iteration results in a call to the separation algorithm, and potentially the subgradient and evaluation algorithms. Thus to reach an accuracy of $latex {\epsilon}&fg=000000$ one makes at most $latex {T_{\epsilon}}&fg=000000$ calls to each subroutine. Furthermore the algorithmic implementation of the geometric lemma takes $latex {O(n^2)}&fg=000000$ ‘elementary operations’, which in total yields a computational complexity of $latex {O(n^4 \log(1/\epsilon))}&fg=000000$ to reach accuracy $latex {\epsilon}&fg=000000$ (assuming that a call to a subroutine takes at most $latex {O(n^2)}&fg=000000$). One can interpret this results as saying that to improve the quality of our solution value $latex {f(x^*_t)}&fg=000000$ by one digit, one needs a computational effort of $latex {O(n^4)}&fg=000000$. In the literature an exponential rate of decrease for the optimization error (such as the one we proved here for the ellipsoid method) is sometimes call a linear rate, because the effort to increase the number of digits of accuracy is linear.

It is standard to call the subgradient algorithm a $latex {1^{st}}&fg=000000$-order oracle (respectively the evaluation algorithm a $latex {0^{th}}&fg=000000$-order oracle). These oracles are assumed to be given with the problem, and one usually counts the number of calls to these oracles, but their computational complexity is not directly taken into account. As we shall see later in this course, one can develop an almost complete theory for optimization if one focuses on the complexity in terms of number of calls to these oracles. Arguably however it is more natural to try to understand the computational complexity of optimization, but this is a much more difficult task (it will become clear with the incoming lectures).

This entry was posted in Optimization. Bookmark the permalink.