## Lecture 27: SDPs Part I

For this discussion, imagine that the SDP is in the form

$\displaystyle \max \{ C \bullet X \mid A_i \bullet X = b_i \; \forall i \in [m], X \succeq 0 \}$

Guru pointed out a major omission in the runtime of Ellipsoid for SDPs: even when the input numbers are all of size ${O(1)}$, SDPs can have solutions values of size ${2^{2^n}}$. Note that the solutions for LPs are only singly exponential, so this is much much worse — we can’t even write down the solution in polynomial time. See the Gärtner and Matousek book for a detailed discussion of the issues here. (Remember, the CMU library gives you access to the electronic version of the book.)

What’s the fix? The actual runtime is polynomial not only in the length of the input, but also in ${\log (R/\varepsilon)}$, where ${R}$ is an upper bound on the Frobenius norm of the optimal solution ${X^\star}$. Thankfully, for most combinatorial optimization problems, the bound ${R}$ is small. E.g., for max-cut, each ${X^\star_{ij} = \langle v_i, v_j \rangle \leq 1}$, and hence ${R = O(n^2)}$ in this case.

There is another concern, though, which I knowingly swept under the rug (and will largely continue to do so): the Ellipsoid algorithm requires that the problem has a optimal solution that is “${\varepsilon}$-deep” inside the feasible set, and if so it returns a solution that satisfies all the equality constraints but is only ${\varepsilon}$-close to being feasible with respect to the PSD constraint (and with value within an additive ${\varepsilon}$ of the optimum). This means that we usually need to do some post-processing to make the solution PSD (and hence can only satisfy the equality constraints approximately). However, for now we will assume these issues away.

A different approach is to use multiplicative-weights based algorithms for SDPs which returns solutions that are PSD matrices, but which have additive errors for both the objective function value and the equality constraints. These algorithms require bounds on the trace of ${X}$, and have runtimes that depend on the maximum Frobenius norm of the ${A_i}$ and ${C}$ matrices, and also on ${poly(1/\varepsilon)}$ instead of ${poly \log(1/\varepsilon)}$. More of this in the Gärtner/Matousek book.