Kevin Shu
A linear program (LP) is an optimization problem whose objective is a linear function and whose feasible set is the set of solutions to some linear inequality.
| min | $c^{\intercal} x$ |
| such that | $Ax \le b$ |
The following is an LP
| max | $x_2$ |
| such that | $ x_1 + x_2 \le 1$ |
| $x_1 - x_2 \ge 0$ | |
| $x_2 \ge 0.$ |
Feasible regions for linear programs are polytopes.
A point $x \in \R^n$ is feasible if $Ax \le b$.
A linear program is said to be feasible if it has some feasible point.
Some linear programs are infeasible: for example,
| min | $x_1$ |
| such that | $x_1 \le 1$ |
| $x_1 \ge 2$ |
No point can satisfy both $x_1 \le 1$ and $x_1 \ge 2$, so there are no feasible points.
$x$ is optimal for a linear program if
(where we use the min convention for the objective).
A linear program can be feasible and have no optimal point.
For example,
| min | $x_1$ |
| such that | $x_1 \le 0$ |
This is feasible (e.g. $x_1 = 0$), but for any feasible $x_1$ the point $x_1 - 1$ is also feasible and has a smaller objective. So no feasible point is optimal.
A linear program is said to be unbounded if there are feasible points with arbitrarily small objective values.
The example from the previous slide is unbounded:
| min | $x_1$ |
| such that | $x_1 \le 0$ |
Note the use of the phrase `arbitrarily small', as opposed to infinitely small. Any feasible point has finite objective value, but there is no lower bound for those objective values in some cases.
A more general nonlinear program can be feasible and bounded, but still have no optimal point.
| min | $x$ |
| such that | $xy \ge 1$ |
| $x, y \ge 0$ |
Linear programs are special! This kind of example cannot exist with linear programs.
Trichotomy theorem
Every linear program satisfies exactly one of the following:|
An infeasible problem
No point satisfies both bounds. |
A problem with an optimal point
The optimum is $x_1 = 0$. |
An unbounded problem
The objective can be made arbitrarily small. |
A linear program is unbounded if it has solutions which become arbitrarily large. How can we check that this is the case?
We can solve another LP!
A recession direction (also, a certificate of unboundedness) for the LP
| min | $c^{\intercal} x$ |
| such that | $Ax \le b$ |
is a vector $v$ so that \[Av \le 0 \text{ and }\] \[c^{\intercal} v = -1.\]
Theorem
A linear program is unbounded if and only if it is feasible and it has a recession direction.| min | $-x_2$ |
| such that | $-x_1 \le 0$ |
| $x_1 - x_2 \le 0$ |
The direction $d = (0, 1)$ is a recession direction: $Ad \le 0$ and $c^{\intercal} d = -1$.
Starting from any feasible $x$, the points $x + td$ stay feasible for all $t \ge 0$, and the objective $-x_2$ decreases without bound. So the LP is unbounded.
Proof of unboundedness theorem (one direction)
Suppose there is a recession direction $v$, and that the LP has a feasible $x$, and consider $x+tv$ for $t \ge 0$.
Claim 1: $x+tv$ is feasible.
$A(x+tv) = Ax + t Av$, and since $Av \le 0$, we have that $Ax + tAv \le Ax \le b$, so $x+tv$ if feasible.
Claim 2: The LP is unbounded.
$c^{\intercal}(x+tv) = c^{\intercal}x + t c^{\intercal} v = c^{\intercal}x - t$, so by making $t$ large, this can be arbitrarily small.
Proof of unboundedness theorem (other direction)
Given a sequence $x_1, \dots, $ of feasible points with unbounded objective, want to produce a recession direction. This requires some analysis.
See the textbook for details.
Trichotomy theorem
Every linear program satisfies exactly one of the following:We can prove feasibility by writing down a feasible point satisfying $Ax \le b$, and we can prove unboundedness by writing down a recession direction.
How do we prove infeasibility?
The following is a bipartite perfect matching LP.
| $x_{11}$ | $= 1$ | ($u_1$) |
| $x_{21}$ | $= 1$ | ($u_2$) |
| $x_{31} + x_{32} + x_{33}$ | $= 1$ | ($u_3$) |
| $x_{11} + x_{21} + x_{31}$ | $= 1$ | ($v_1$) |
| $x_{32}$ | $= 1$ | ($v_2$) |
| $x_{33}$ | $= 1$ | ($v_3$) |
| $x_{11}, x_{21}, x_{31}, x_{32}, x_{33} \ge 0$ |
How can we prove this is infeasible?
The following is a bipartite perfect matching LP.
Look at the following inequalities
| $x_{11}$ | $= 1$ | ($u_1$) |
| $x_{21}$ | $= 1$ | ($u_2$) |
| $x_{31}$ | $\ge 0$ | |
| $x_{11} + x_{21} + x_{31}$ | $= 1$ | ($v_1$) |
Let's combine these inequalities as follows: add these inequalities with weights $(1,1,1,-1)$.
The following is a bipartite perfect matching LP.
Look at the following inequalities
| $(x_{11}$ | $= 1)$ | |
| + | $(x_{21}$ | $= 1)$ |
| + | $(x_{31}$ | $\ge 0)$ |
| - | $(x_{11} + x_{21} + x_{31}$ | $= 1)$ |
| = | $0$ | $\ge 2$ |
This is not a valid inequality!
To show infeasibility, we want to find a contradictory inequality, like $0 \ge 1$. How do we do this formally?
If we take the inequalities $Ax \le b$ and combine them with weights $y$, we get the inequality \[ y^{\intercal} A x \le y^{\intercal}b. \] as long as the weights are nonnegative, this is a valid inequality.
If the left side is 0 for all $x$, and the right side is negative, then this is a contradiction of the existence of $x$ satisfying these inequalities.
A certificate of infeasibility for the LP
| min | $c^{\intercal} x$ |
| such that | $Ax \le b$ |
is a vector $y \in \R^m$ so that $y \ge 0$ and \[ A^{\intercal}y = 0 \] \[ b^{\intercal}y < 0. \]
Theorem
A linear program is infeasible if and only if it has a certificate of infeasibility.
Consider the infeasible system (in $Ax \le b$ form) \[ x_1 + x_2 \le -1, \qquad -2x_1 + x_2 \le -1, \qquad x_1 - 2x_2 \le -1, \] so $A = \begin{bmatrix} 1 & 1 \\ -2 & 1 \\ 1 & -2 \end{bmatrix}$ and $b = \begin{bmatrix} -1 \\ -1 \\ -1 \end{bmatrix}$.
Take $y = (1, 1, 1) \ge 0$. Then \[ A^{\intercal} y = (1 - 2 + 1,\ 1 + 1 - 2) = (0, 0), \qquad b^{\intercal} y = -3 < 0, \] so $y$ is a certificate of infeasibility.
Given LP
| min | $c^{\intercal} x$ |
| such that | $Ax \le b$ |
and a feasible point $x^*$, how can we show that this is optimal?
One approach: optimality is equivalent to the infeasibility of the following system of inequalities for all $\epsilon > 0$:
\[ \begin{pmatrix} A\\ c^{\intercal} \end{pmatrix} x \le \begin{pmatrix}b\\ c^{\intercal}x^* - \epsilon\end{pmatrix} \]Here, we use block matrix notation.
One approach: optimality is equivalent to the infeasibility of the following system of inequalities for all $\epsilon > 0$:
\[ \begin{pmatrix} A\\ c^{\intercal} \end{pmatrix} x \le \begin{pmatrix}b\\ c^{\intercal}x^* - \epsilon\end{pmatrix} \]
An infeasibility certificate for this is $\begin{pmatrix} y \\ y_0 \end{pmatrix}$ so that \[ A^{\intercal}y + c^{\intercal}y_0 = 0, \] \[ b^{\intercal}y + (c^{\intercal}x^* - \epsilon)y_0 > 0, \] and where $y, y_0 \ge 0$
Clearly, $y_0$ would need to be positive (otherwise the LP would be infeasible), and by scaling, we can make it equal to 1.
A certificate of optimality is some $y \ge 0$ so that \[ A^{\intercal}y = -c^{\intercal}, \] \[ b^{\intercal}y \ge -c^{\intercal}x^*. \]
If such a thing exists, then our earlier work on infeasibility certificates implies that $x^*$ is optimal.
Consider the LP
| min | $-x_1 - x_2$ |
| such that | $x_1 \le 1$ |
| $x_2 \le 1$ |
so $c = (-1,-1)$, $A = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}$, and $b = (1,1)$.
The point $x^* = (1, 1)$ is feasible with objective $-2$.
Take $y = (1, 1) \ge 0$. Then \[ A^{\intercal} y = (1, 1) = -c^{\intercal}, \qquad b^{\intercal} y = 2 = -c^{\intercal} x^*, \] so $y$ is a certificate of optimality: $x^*$ is optimal.
Trichotomy theorem
Every linear program satisfies exactly one of the following:If an LP is infeasible, we can prove this with a certificate of infeasibility.
If an LP has an optimal point, we can prove this by providing an optimal point, and also a certificate of optimality.
If an LP is unbounded, we can prove this by providing a feasible point, and a recession direction.
How can we find these things algorithmically?