Linear Programming & Duality Theorems

Mathematical Programming deals with problems of the form

minf(x) subject to g1(x)0,g2(x)0,,gm(x)0,xRn

If we do not impose any constraints in the functions f and gi, the above is a very general family of problems, which includes for instance many NP-hard problems, such as quadratic programming, integer programming, etc.

In this lecture we will focus on a particular case of mathematical programming, called Linear Programming, where the functions f and gi are affine linear functions. In particular, in this lecture we will learn about Linear Programming and its strong duality theorem.

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 f:RnR is a function of the form f(x)=cTx+b=c1x1+c2x2++cnxn+b where cRn and bR.

A linear program is a mathematical programming problem of the form mincTx subject to Axb,xRn where ARm×n and bRm.

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 Feasible region:=xRn:Axb.

One important property of linear programs is that the feasible region is always a convex set. A convex set K is a set such that for any two points x,yK, the line segment connecting x and y is also in K. In other words, for any x,yK and any λ[0,1], we have that the convex combination λx+(1λ)yK.

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 x1,x2,,xkRn, a convex combination of these points is a point of the form λ1x1+λ2x2++λkxk where λ1,λ2,,λk0 and λ1+λ2++λk=1.

Standard Form

We can always represent a linear program in the following standard form: mincTx subject to Ax=b,x0,xRn where ARm×n, bRm, cRn, and we say that x0 if xi0 for all i=1,2,,n.

Important Questions

Given a linear program, which we assume is in standard form, we are interested in answering the following questions:

  1. When is a linear program feasible (i.e., is there a solution to the constraints)?

  2. When is a linear program bounded (i.e., is there a minimum value to the objective we are trying to minimize)?

  3. 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?

  4. 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 a1,a2,,am,bRn, and let r:=ranka1,a2,,am,b. Then, exactly one of the following holds:

  1. b is a non-negative linear combination of a1,a2,,am.

  2. There exists a hyperplane H:=xRn:cTx=0 such that

    2.1. b is in the half-space H+:=xRn:cTx>0.

    2.2. a1,a2,,am are in the half-space H:=xRn:cTx0.

    2.3. H contains r1 linearly independent vectors from a1,a2,,am.


Translating to the affine setting, if one takes vectors a1,a2,,am and a vector b, given by ai=(1ai) and b=(1b), the theorem states that exactly one of the following holds:

  1. b is a convex combination of a1,a2,,am.

  2. There exists a hyperplane H:=xRn+1:cTx=0 such that

    2.1. b is in the half-space H+:=xRn+1:cTx>0.

    2.2. a1,a2,,am are in the half-space H:=xRn+1:cTx0.

    2.3. H contains r1 linearly independent vectors from a1,a2,,am.

One can see the above follows from the fundamental theorem as any non-negative linear combination of a1,a2,,am giving b must be a convex combination of a1,a2,,am (due to the first coordinate being 1 for all these vectors).

Remark 1: Any hyperplane H which separates b from a1,a2,,am is called a separating hyperplane.

Farkas’ Lemma


Lemma 1 (Farkas’ Lemma): Let ARm×n and bRm. The following two statements are equivalent:

  1. There exists xRn such that Ax=b and x0.
  2. For all yRm, if yTA0, then yTb0.

There are two equivalent formulations of Farkas’ Lemma, which will be useful for us.


Lemma 2 (Farkas’ Lemma - variant 1): Let ARm×n and bRm. Then exactly one of the following holds:

  1. There exists xRn such that Ax=b and x0.
  2. There exists yRm such that yTb>0 and yTA0.


Lemma 3 (Farkas’ Lemma - variant 2): Let ARm×n and bRm. The following two statements are equivalent:

  1. There exists xRn such that Axb
  2. For all yRm such that yTA=0 and y0, we have yTb0.

Proof of Lemma 3: Let M=[IAA]. Then Axb has a solution if and only if Mz=b has a solution where z0. By Farkas’ Lemma (Lemma 1), this is equivalent to the statement that for all yRm such that yTM0, we have yTb0. Since yTM=[yTyTAyTA], this is equivalent to the statement that for all yRm such that yTA=0 and y0, we have yTb0.

Duality Theory

Given a linear program in standard form mincTx subject to Ax=b,x0,xRn from Farkas’ Lemma, we know that the feasible region is non-empty if and only for any yRm such that yTA0, we have yTb0.

If we look at what happens when we multiply the constraints by yT, we note the following: yTAcTyTAxcTxyTbcTx.

Thus, if we can find a y such that yTAcT, then we have that yTbcTx for all feasible x. Thus, yTb is a lower bound on the optimal value of the linear program.

This motivates the following definition.


Definition 1 (Dual Linear Program): The dual linear program of a linear program in standard form mincTx subject to Ax=b,x0,xRn is the linear program maxyTb subject to yTAcT,yRm.


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 x be a feasible solution to the primal linear program and let y be a feasible solution to the dual linear program. Then cTxyTb.


Let α be the optimal value of the primal linear program and let β be the optimal value of the dual linear program. The Weak Duality Theorem states that αβ. Moreover, if the primal problem is unbounded, i.e. α=, then the dual problem is infeasible, i.e. β=. Similarly, if the dual problem is unbounded, i.e. β=, then the primal problem is infeasible, i.e. α=.

Now it is natural to ask whether the inequality αβ can be strict, or if it is actually an equality. The answer to this question is given by the Strong Duality Theorem, which states that under feasibility conditions, the optimal values of the primal and dual linear programs are always equal!


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 α=β it suffices to show that the following LP has a feasible solution: max0 subject to cTxyTb0,Ax=b,x0,yTAcT,yRm. To show that this program has a feasible solution, given that the primal and dual linear programs have feasible solutions, we can use variant 2 of Farkas’ Lemma (Lemma 3).

The above LP can be encoded in matrix form as max0 subject to (cTbTA0A00ATI0)(xy)(0bbc0).

Variant 2 of Farkas’ Lemma (Lemma 3) states that this LP has a feasible solution if and only if for all zR1+2(n+m) such that zTB=0 and z0, we have zT(0bbc0)0.

Let zT=(λuTvTwTeT). Then the above inequality is equivalent to the following: zTB=0 and z0uTbvTb+wTc0. We have two cases to consider:

  1. λ>0: In this case, from zTB=0 we get the following equations: λcT+uTAvTAeT=0,λb+Aw=0. From the first equation we get that uTAvTA=λcT+eTλcT, as eT0. Since w0, we have that (uTvT)AwλcTw which when combined with the second equation gives λ(uTvT)bλcTwuTbvTb+wTc0. where the last inequality follows from the fact that λ>0.

  2. λ=0: In this case, from zTB=0 we get the following equations: uTAvTAeT=0,Aw=0.

Let x,y be feasible solutions to the primal and dual linear programs, respectively (which exist by assumption). Then x0, Ax=b, and yTAcT.

Thus, from w0 and from the second equality above we have that cTwyTAw=0. Moreover, from the first equality above and from Ax=b,x0 we have that (uTvT)A=eT0,x0(uTvT)Ax0uTbvTb0. Thus, we have that uTbvTb+wTc0.

In both cases we have that uTbvTb+wTc0, which completes the proof of the Strong Duality Theorem.

Farkas’ Lemma - Affine Form

A consequence of Strong Duality is the following affine form of Farkas’ Lemma.


Lemma 4 (Farkas’ Lemma - Affine Form): Let ARm×n and bRm. Let the system Axb be feasible, and suppose that inequality cTxδ holds whenever x satisfies Axb. Then there exists δδ such that the linear inequality cTxδ is a non-negative linear combination of the inequalities in the system Axb.


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 x is a feasible solution to the primal linear program and y is a feasible solution to the dual linear program, then the following conditions are equivalent:

  1. x is optimal for the primal linear program and y is optimal for the dual linear program.
  2. cTx=yTb.
  3. For all i[n], if xi>0, then the i-th inequality in yTAcT is tight at y. That is, yTAi=ci.

Note that 1 and 2 are equivalent by the Strong Duality Theorem, and 2 and 3 are equivalent by the following equation: cTxyTb=cTxyTAx=(cTyTA)x=i=1n(ciyTAi)xi

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:

  1. Schrijver, A. (1986). Theory of Linear and Integer Programming.
Previous
Next