Consider the LP:
It is also easy to see that
The dual of the dual is the primal.
The dual program can be rewritten as:
We note that the primal problem may have different forms. If the primal has a constraint
Now we use the form
If
Since
If
However, if the primal problem is infeasible, we cannot conclude that the dual problem is unbounded below. It is possible that both primal and dual problems are infeasible.
Consider the following problem:
We’ve already known that any feasible solution of the dual gives an upper to the primal. The question is that, is there any gap between the optimal value of the primal and the optimal value of the dual?
If the primal problem has a finite optimal solution
Now we can complete the following table.
unbounded | infeasible | ||
---|---|---|---|
unbounded | × | √ | × |
infeasible | √ | √ | × |
× | × | √ |
The proof of the strong duality is an application of the Farkas’ lemma, which we have introduced in Lecture 4.
Let
To apply this lemma, we consider the following corollary.
Suppose
Let
Let
Note that item 1 is equivalent to
We are now ready to prove the strong duality theorem.
Without loss of generality, we assume that the dual problem has an optimal solution
Let
The proof is concluded by the contradictions in both cases.
In the proof of the corollary of the Farkas’ lemma, we employ the matrix
As an application of the strong duality of linear program, the following theorem reveals some relations between the optimal solutions to the primal and the dual.
Suppose
The complementary slackness shows that if the
It is clear that
We now consider an application of the strong duality in linear programming.
Given an undirected graph
Clearly the set
Suppose the graph
We can write an integer programming formulation of the maximum matching problem. Any matching
Analogously, for each vertex
In a bipartite graph
We can also show that the size of the minimum fractional vertex cover equals the size of the minimum vertex cover in any bipartite graph
Uniformly choose a real number
Now we calculate the expected size of
Overall, we conclude that in any bipartite graph, the size of the maximum matching equals the size of the minimum vertex cover.