We study another class of optimization algorithms: interior point methods. These require a more specific structure than general convex optimization, but can still be used beyond linear programming. These algorithms also work by following an interior path, determined by successive minima of a modified objective function. We will study in complete detail, one of the simplest variants, the primal-dual interior-point method.

Consider the primal program (P)

with corresponding dual (D)

Note that (P) (D). Then, . If the complimentary slackness conditions hold, this is achieved with equality, indicating that either each primal variable is 0, or it’s corresponding dual constraint is tight (zero slack).

Modify the primal objective to , with the same constraints. This modification effectively punishes low very severely, with having value of , and is relatively easy to optimize. As approaches 0, this modification becomes the original, so we can solve the original by successively reducing .

We have the constraints , where . We can start with a solution for some such that is feasible in (P), are feasible in (D), and . Our goal is to iteratively find new solutions with lower until eventually we get to 0. In doing this, we can’t quite maintain , but we can keep the values close, with an -approximate solution .

Now, suppose we have a valid , and we want to make smaller. We fix some and let . Then, solve the following system of linear equations:

We then update , , and .

*Lemma 1.*

Let $\varepsilon < 1/2$. If is a solution of with , then is a -approximate solution with .

*Lemma 2.*

Let latex (x, y, s)$ is a -solution, then is an -approximation with .

*Theorem 1.*

This interior point method reaches a solution with duality gap at most in iterations, where each iteration is the solution of an linear system.

*Proof. (Theorem 1)*

Start at . After each iteration, . To reach , we need suffices.

*Proof. (Lemma 1)*

Let satisfy

and let satisfy

Note the following:

(i)

(ii)

So

Similarly, .

So,

is feasible.

Next,

So,

*Proof. (Lemma 2)*

We need

Let . Then, we have .

Plugging in , we get . So solving for , we get suffices.