Ellipsoid method is a weakly polynomial algorithm for solving linear programming.
The preliminary version was introduced by the Russian mathematician Shor in 1977 for general convex optimization problems.
Then it was applied to linear programming by Khachyan in 1979 [1].
Before interior point method, it was the first polynomial time algorithm for LP.
Feasibility implies Optimality
Now, consider the primal LP:
P:maxs.t.cTxAx≤bx≥0
whose dual is given by
D:mins.t.yTbyTA≥cTy≥0
The ellipsoid does not optimize the primal directly.
Instead, it try to return a feasible point (x,y) that satisfies the following constraints:
cTxAxxyTAy=yTb≤b≥0≥cT≥0
By weak duality, if such point exists, then x is the optimal solution for the primal program. (Note that, if there is no feasible point for the third program, the primal could be either infeasible or unbounded.)
Ellipsoid
Ellipsoid is a unit ball that has been squashed or stretched along orthogonal directions. We illustrate this by an example in two dimension. The following picture shows an ellipse obtained by enlarging the unit ball by a facto of 2 along the v1 direction and squashing it ball by half along the v2 direction, where v1 and v2 constitute an orthogonal base.
It is equivalent to first squash or stretch the ball along the directions of e1,e2,
then rotate the resulting ellipsoid to corresponding orthogonal directions.
The rotation can be done by left multiplying an orthogonal matrix
V=[v1,v2]
where v1,v2 are the orthogonal base for which the squash and stretch are performed.
To recover the unit ball, we can first perform the reverse rotation:
x←VTx
followed by a reverse scaling:
x←[1/22]x
Note that the reverse rotation is represented by matrix VT as VVT=I.
Therefore, the ellipsoid is denoted as
([1/22]VTx)T([1/22]VTx)≤1
That is
xT(V[1/22]2VT)x≤1
In general, an ellipsoid is represented by
E(s,P)={x:(x−s)TP−1(x−s)≤1}
where s∈Rn is the center of the ellipsoid and P is a positive semi-definite matrix.
Recall that a positive semi-definite matrix P can be rewritten as
P=VΣVT
and
P−1=VΣ−1VT
where V is an orthogonal matrix and Σ is a diagonal matrix.
Geometrically, V are the directions and Σ are the ratios of the squashes or stretches.
If we define B=VΣ, then BT=ΣVT, B−1=Σ−1VT and P=BBT, P−1=(B−1)TB−1.
The representation can be viewed as merely a recipe for converting the ellipsoid back to the unit ball:
First perform a translation x←(x−s) so that the center of the ellipsoid is now the center.
Rotate the ellipsoid, such that its axes are aligned with e1,e2,...,en. This is done by multiplying the matrix VT: x←VTx.
Squash or stretch along the axes e1,e2,...,en: x←Σ−1x.
Therefore, the linear transformation for the recovery is
x←B−1(x−s)
Conversely, E(s,P)=E(s,VΣΣVT) tells us how to get the ellipsoid from the unit ball:
Scale unit ball along the axes e1,e2,..,en by factors that Σ1,1,Σ2,2,...,Σn,n.
Rotate the ellipsoid by matrix V.
Move the ellipsoid by s.
That is, x←VΣy+s takes the unit ball {y:yTy≤1} to the corresponding ellipsoid {x:(x−s)TVΣ−1VT(x−s)≤1}.
Goal
Now return to our discussion of ellipsoid method.
Without lose of generality, we consider only the following problem:
Given F={x:Ax≤b}, output any x∈F or report F=∅, where A∈Rm×n,x∈Rn,b∈Rm.
We assume further that
∃R∈R, F⊆B(0,R).
Besides, if F=∅, ∃r∈R, and t∈Rn, s.t., B(t,r)⊆F.
Here B(0,R)={x:∥x∥2≤R} and B(t,r)={x:∥x−t∥2≤r}.
Separation Oracle: Given a vertex s∈Rn, the separation oracle is a mechanism that asserts
either s∈F
or s∈/F and returns a direction (which is a unit vector) d∈Rn, such that dTs≥dTx for ∀x∈F.
The first assumption says that F is neither too "large" nor too "small".
Note that B(t,r)⊆F also implies that F has full dimension.
For LP, the separation is straightforward to implement: we just check whether As≤b.
If so, then s∈F. Otherwise, ∃i∈[m], such that the ith constraint is violated: (As)i>bi. Just return dT=Ai,⋅.
Question to ponder: the feasible region of an LP may not satisfy the first assumption?
It is possible to reduce it to one satisfying the first assumption?
The Algorithm
The algorithm begins with a special ellipsoid E0=B(0,R).
At each step, it queries the separation oracle and generates a smaller ellipsoid (with reduced volume).
If F is not empty, the ellipsoid at each step is guaranteed to contain it.
The algorithm stops before the volume of the ellipsoid decreases below $ \mathtt{vol} (B(t, r))$.
The algorithmic flow is shown below:
i=0.
E0=B(0,R).
Whilevol(Ei(si,Pi))≥vol(B(t,r)):
ifsi∈F, output si.
else,
Obtain a direction di, s.t., diTsi≥diTx
for x∈F*.
Calculate a ellipsoid Ei+1⊃Ei∩{x:diTsi≥diTx}.
i←i+1.
Output F=∅.
For the one dimension case, it is nothing more than a variant of binary search.
Bounding the Number of Iterations
The main result that characterizes the running time is
Theorem. It is guaranteed that for each i,
vol(Ei)vol(Ei+1)≤exp(−2(n+1)1).
Corollary. The number of iterations of the ellipsoid method is bounded by
2n(n+1)lnrR.
To simplify the notation further, we write Ei=E(s,P), di=d and Ei+1=E(s′,P′). The key lemma for the theorem is:
Lemma. Given an ellipsoid E(s,P)={x∈Rn:(x−s)TP−1(x−s)≤1} and the half space H(s,d)={x∈Rn:dT(x−s)≤0}, we can find an ellipsoid E(s′,P′), such that
E(s′,P′) contains the intersection of E(s,P) and H(s,d) :
E(c,P)∩H(s,d).
The volume of E(s′,P′) is at most exp(−2(n+1)1) times that of E(s,P).
Proof.
The transformation y=B−1(x−s) maps E(s,P) to E(0,I), and
{x∈Rn:dTB(B−1(x−s))≤0}
to
H(0,BTd)={y∈Rn:dTBy≤0}.
Let
e′=dTBBTdBTd=dTPdBTd
so that H(0,BTd) is equivalent to H(0,e′).
It suffices to find an ellipsoid that contains E(0,I)∩H(0,e′). Then applying the reverse transformation x=By+s will give us an ellipsoid that contains E(s,P)∩H(s,d).
We can further reduce the problem to finding an ellipsoid that covers E(0,I)∩H(0,e1) as we can recover the ellipsoid by rotating e1 to e′.
Claim.
The ellipsoid that covers E(0,I)∩H(0,e1) is given by
E(−n+11e1,n2−1n2(I−n+12e1e1T))
and has minimum volume exp(−2(n+1)1).
To under the ellipsoid, we check how it transforms the unit ball to an ellipsoid:
It squashes the ball along the e1 axis, by a factor of n2−1n2n+1n−1=n+1n.
Then it stretches all other directions e2,e3,...,en by a factor of n2−1n2.
Finally, move the center of the ellipsoid to −n+11e1.
This is also the ratio of the ellipsoid over that of the unit ball, whose value is 1.
Before we prove the claim, we show how to transform the ellipsoid back to E(s′,P′) that covers E(s,P)∩H(s,d).
First, by symmetry, the ellipsoid that covers E(0,I)∩H(0,e′) is given by
As linear transformation preserves the ratio of volumes, the ratio of the volume of the final ellipsoid over that of E(s,P) is also exp(−2(n+1)1).
Question to ponder:
Show that n2−1n2(I−n+12e1e1T) is positive definite.
Show that (n2−1n2(I−n+12e1e1T))−1=n2n2−1I+n22n+2e1e1T.
Show that n2−1n2B(I−n+12e′(e′)T)BT is positive definite.
Proof of the Claim.
As both E(0,I) and H(0,e1) are symmetric to e1, so should the ellipsoid covering the intersection of them. Therefore it should be of the form
a1(x1−λ)+i=2∑naixi2≤1
where ai's and λ (0<λ<1) are the parameters to be determined. The goal is to minimize its volume:
a11i=2∏nai1vol[E(0,I)].
where $ \mathtt{vol} [ E(0, I) ] = 1$ is the volume of unit ball in Rn. It is equivalent to maximize
a1i=2∏nai.
As the ellipsoid covers E(0,I)∩H(0,e1) and should has as small volume as possible, the points ei (i=1,2,...,n) should be on its boundary. Therefore,