A Short Simple Proof of Closedness of Convex Cones and Farkas’ Lemma

Abstract Proving that a finitely generated convex cone is closed is often considered the most difficult part of geometric proofs of Farkas’ lemma. We provide a short simple proof of this fact and (for completeness) derive Farkas’ lemma from it using well-known arguments.

Farkas' lemma is a cornerstone of the theory of linear inequalities, and is often the starting point for proving the duality theorem of linear programming (see, e.g., [1] and [7,Ch. 6]).Suppose A is a real m × n matrix with column vectors a 1 , . . ., a n , and b is a vector in R m .To avoid trivial cases, assume A = 0 and (with no loss of generality) a 1 = 0. Let K be the convex cone {Ax : x ∈ R n + }, where R + denotes the set of non-negative reals.Then Farkas' lemma.Either b lies in K, or there exists a vector y in R m such that a 1 , y ≥ 0, . . ., a n , y ≥ 0 and b, y < 0 (but not both).
In [6], Komornik gave a simple proof of Farkas' lemma, and stated as a difficulty with "intuitive" proofs that "the proof of the closedness of K is not obvious".Broyden in fact calls this "the most difficult part of a geometric proof " [4].But here we show that closedness of K follows simply from the Bolzano-Weierstrass theorem once we have introduced the notion of an optimal vector in [0, 1] n .Farkas' lemma follows from this by standard means.
To illustrate why it is not obvious that K is closed, let C be the set of points (x, y) such that −1 < x < 1 and y ≤ ln(1 − x 2 ).Then C is convex and closed in R 2 , but the convex cone generated by C, i.e., the set {λz : λ ∈ R + , z ∈ C}, is the open lower half-plane in R 2 plus the point 0, which is not closed.Also, the linear map f : (x, y) → x maps C to the open interval (−1, 1).So it is not true that a set is closed simply because it is the convex cone generated by a closed set of vectors, or because it is the linear image of such a set.We need a more refined argument.
We call a vector u = (u 1 , . . ., u n ) optimal if u lies in [0, 1] n , has length u = 1, and there is no vector z in R n + which satisfies Az = Au and has fewer non-zero components than u.Note that Au = 0 is impossible if u is optimal, but any vector v = Ax with x ∈ R n + can be written in the form λ Au with λ ∈ R + and u optimal: we can take λ = 0, u = (1, 0, . . ., 0) if v = 0, and if v = 0 we can first choose from the set {z ∈ R n + : v = Az} a vector z with a minimal number of non-zero components, and then take λ = z , u = z −1 z.We use this to prove closedness of K.
Lemma.Let K be the convex cone defined above, and suppose {v k } is a sequence of points in K that converges to some limit v. Then v lies in K.
. ., u n k ) an optimal vector.Then the sequence {u k } has a subsequence {u k j } that converges to some limit u in [0, 1] n of length 1.Let I be the set of indices i for which u i > 0, and choose k in {k j } so that u i k > 0 for each i in I. Define µ := min i∈I ( u i k /u i ) and z := u k −µu.Then min i∈I ( z i /u i ) = 0 and z i = u i k if i / ∈ I, so z lies in R n + and has at least one non-zero component less than u k .Since u k was optimal, this implies Az = Au k , hence Au = 0.But we know that Au k j → Au and We do not claim complete originality of the ideas used in the proof, but are not aware of other publications that prove the lemma in exactly the same way.In particular, while this note was under review it was brought to the author's notice that Bonnans and Shapiro [3, Prop.2.41] use optimal vectors in a similar way, yet their proof is more involved than necessary and not as direct as the one presented here.Other closely related but distinct proofs can be found for instance in [2,5] and [7, pp. 96-97].We close with a proof of Farkas' lemma: Remark 2. Let c be the infimum of Au over all optimal vectors u, and choose a sequence {u k } of optimal vectors such that Au k → c.Then the argument from the proof of our lemma yields c > 0, which is a key step in Bonnans and Shapiro.

+ λw 2 − y 2 = lim λ→0 + λ 2 w 2 +
so the sequence {v k } is bounded and hence has a subsequence {v k j } which converges to some v.By the lemma, v ∈ K, hence δ = v − b > 0. Now write y = v − b, and let w be one of the vectors a 1 , . . ., a n or −v.Note that then y = δ, and y + λw ≥ δ for λ in (0, 1) because v + λw ∈ K. Therefore, w, y = w, y .This gives a 1 , y ≥ 0, . . ., a n , y ≥ 0 and − b, y = −v, y + y 2 ≥ δ 2 .If b does lie in K, then b = Ax for some x in R n + .It follows that for any y in R m , b, y = n i=1 x i a i , y .But then b, y < 0 implies a i , y < 0 for some a i .Remark 1.The point v is actually the unique point in K closest to b.To see this, recall that y = v − b, let w be in K, and write z = w − b.Then the point1 2 (v + w) lies in K, so y + z = v + w − 2b ≥ 2δ.Hence, v = w implies 2 z 2 = y − z 2 + y + z 2 − 2 y 2 ≥ v − w 2 + 2δ 2 > 2δ 2 .