Linear Programming & Duality Theorems
Mathematical Programming deals with problems of the form
If we do not impose any constraints in the functions
In this lecture we will focus on a particular case of mathematical programming, called Linear Programming, where the functions
Traces of the idea of linear programming can be found in the works of Fourier, and linear programming was first formally studied in the works of Kantorovich, Koopmans, Dantzig, and von Neumann in the 1940s and 1950s.
Linear Programming
An affine linear function
A linear program is a mathematical programming problem of the form
Given any linear program, we define the feasible region as the set of points that satisfy the constraints of the linear program, i.e., for the above linear program we define the feasible region as
One important property of linear programs is that the feasible region is always a convex set.
A convex set
Since the feasible region is defined by a finite set of linear inequalities, we also know that it is a convex polytope.
As convex combinations will be important for us, let us define them more formally.
Given a set of points
Standard Form
We can always represent a linear program in the following standard form:
Important Questions
Given a linear program, which we assume is in standard form, we are interested in answering the following questions:
-
When is a linear program feasible (i.e., is there a solution to the constraints)?
-
When is a linear program bounded (i.e., is there a minimum value to the objective we are trying to minimize)?
-
Can we characterize the optimal solutions to a linear program?
3.1 How do we know if a solution is optimal?
3.2. Do the optimal solutions have a nice description?
3.3. Do the optimal solutions have small bit complexity?
-
Can we efficiently solve a linear program?
Structure of Linear Programs
To address the questions above, we will first study the structure of linear programs.
A first observation is that the feasible region of a linear program is a convex polytope, as it is the intersection of a finite number of half-spaces.
We are now ready to state the fundamental theorem of linear inequalities, proved by Farkas (1894, 1898) and Minkowski (1896).
Theorem 1 (Fundamental Theorem of Linear Inequalities): Let
-
is a non-negative linear combination of . -
There exists a hyperplane
such that2.1.
is in the half-space .2.2.
are in the half-space .2.3.
contains linearly independent vectors from .
Translating to the affine setting, if one takes vectors
-
is a convex combination of . -
There exists a hyperplane
such that2.1.
is in the half-space .2.2.
are in the half-space .2.3.
contains linearly independent vectors from .
One can see the above follows from the fundamental theorem as any non-negative linear combination of
Remark 1: Any hyperplane
Farkas’ Lemma
Lemma 1 (Farkas’ Lemma): Let
- There exists
such that and . - For all
, if , then .
There are two equivalent formulations of Farkas’ Lemma, which will be useful for us.
Lemma 2 (Farkas’ Lemma - variant 1): Let
- There exists
such that and . - There exists
such that and .
Lemma 3 (Farkas’ Lemma - variant 2): Let
- There exists
such that - For all
such that and , we have .
Proof of Lemma 3: Let
Duality Theory
Given a linear program in standard form
If we look at what happens when we multiply the constraints by
Thus, if we can find a
This motivates the following definition.
Definition 1 (Dual Linear Program): The dual linear program of a linear program in standard form
Practice Problem: prove that the dual of the dual linear program is the primal linear program.
By the above discussion we have proved that the optimal value of the dual linear program is a lower bound on the optimal value of the primal linear program. This is the content of the following theorem, known as the Weak Duality Theorem.
Theorem 2 (Weak Duality Theorem): Let
Let
Now it is natural to ask whether the inequality
Theorem 3 (Strong Duality Theorem): If the primal and dual linear programs have feasible solutions, then the optimal values of the primal and dual linear programs are equal, i.e.,
Proof of Strong Duality Theorem: Since we have proved weak duality, to prove that
The above LP can be encoded in matrix form as
Variant 2 of Farkas’ Lemma (Lemma 3) states that this LP has a feasible solution if and only if for all
Let
-
: In this case, from we get the following equations: From the first equation we get that , as . Since , we have that which when combined with the second equation gives where the last inequality follows from the fact that . -
: In this case, from we get the following equations:
Let
Thus, from
In both cases we have that
Farkas’ Lemma - Affine Form
A consequence of Strong Duality is the following affine form of Farkas’ Lemma.
Lemma 4 (Farkas’ Lemma - Affine Form): Let
Practice Problem: use LP duality and Farkas’ Lemma to prove the above lemma.
Complementary Slackness
If both primal and dual linear programs have feasible solutions, and if
is optimal for the primal linear program and is optimal for the dual linear program. .- For all
, if , then the -th inequality in is tight at . That is, .
Note that 1 and 2 are equivalent by the Strong Duality Theorem, and 2 and 3 are equivalent by the following equation:
Conclusion
In this lecture, we have learned about mathematical programming, its generality, and we have studied the structure of a particular case of mathematical programming, called Linear Programming.
As we will see in the next lecture, Linear Programming is a very powerful tool not only for optimization, but the duality theory of Linear Programming has many applications in computer science, economics, and other areas, as we will see in the next lecture.
References
This lecture was prepared based on the following references:
- Schrijver, A. (1986). Theory of Linear and Integer Programming.