115
Math 407A: Linear Optimization Lecture 12: The Geometry of Linear Programming Math Dept, University of Washington Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington) Math 407A: Linear Optimization 1/1

The Geometry of Linear Programming

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The Geometry of Linear Programming

Math 407A: Linear Optimization

Lecture 12: The Geometry of Linear Programming

Math Dept, University of Washington

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 1 / 1

Page 2: The Geometry of Linear Programming

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 2 / 1

Page 3: The Geometry of Linear Programming

The Geometry of Linear Programming

Hyperplanes

Definition: A hyperplane in Rn is any set of the form

H(a, β) = x : aTx = β

where a ∈ Rn \ 0 and β ∈ R.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 3 / 1

Page 4: The Geometry of Linear Programming

The Geometry of Linear Programming

Hyperplanes

Definition: A hyperplane in Rn is any set of the form

H(a, β) = x : aTx = β

where a ∈ Rn \ 0 and β ∈ R.

Fact: H ⊂ Rn is a hyperplane if and only if the set

H − x0 = x − x0 : x ∈ H

where x0 ∈ H is a subspace of Rn of dimension (n − 1).

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 3 / 1

Page 5: The Geometry of Linear Programming

Hyperplanes

What are the hyperplanes in R?

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 4 / 1

Page 6: The Geometry of Linear Programming

Hyperplanes

What are the hyperplanes in R? Points

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 4 / 1

Page 7: The Geometry of Linear Programming

Hyperplanes

What are the hyperplanes in R? Points

What are the hyperplanes in R2?

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 4 / 1

Page 8: The Geometry of Linear Programming

Hyperplanes

What are the hyperplanes in R? Points

What are the hyperplanes in R2? Lines

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 4 / 1

Page 9: The Geometry of Linear Programming

Hyperplanes

What are the hyperplanes in R? Points

What are the hyperplanes in R2? Lines

What are the hyperplanes in R3?

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 4 / 1

Page 10: The Geometry of Linear Programming

Hyperplanes

What are the hyperplanes in R? Points

What are the hyperplanes in R2? Lines

What are the hyperplanes in R3? Planes

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 4 / 1

Page 11: The Geometry of Linear Programming

Hyperplanes

What are the hyperplanes in R? Points

What are the hyperplanes in R2? Lines

What are the hyperplanes in R3? Planes

What are the hyperplanes in Rn?

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 4 / 1

Page 12: The Geometry of Linear Programming

Hyperplanes

What are the hyperplanes in R? Points

What are the hyperplanes in R2? Lines

What are the hyperplanes in R3? Planes

What are the hyperplanes in Rn?

Translates of (n − 1) dimensional subspaces.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 4 / 1

Page 13: The Geometry of Linear Programming

Hyperplanes

Every hyperplane divides the space in half.

H(a, β) = x : aTx = β

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 5 / 1

Page 14: The Geometry of Linear Programming

Hyperplanes

Every hyperplane divides the space in half.This division defines two closed half-spaces.

H(a, β) = x : aTx = β

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 5 / 1

Page 15: The Geometry of Linear Programming

Hyperplanes

Every hyperplane divides the space in half.This division defines two closed half-spaces.

The two closed half-spaces associated with the hyperplane

H(a, β) = x : aTx = β

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 5 / 1

Page 16: The Geometry of Linear Programming

Hyperplanes

Every hyperplane divides the space in half.This division defines two closed half-spaces.

The two closed half-spaces associated with the hyperplane

H(a, β) = x : aTx = β

areH+(a, β) = x ∈ R

n : aTx ≥ β

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 5 / 1

Page 17: The Geometry of Linear Programming

Hyperplanes

Every hyperplane divides the space in half.This division defines two closed half-spaces.

The two closed half-spaces associated with the hyperplane

H(a, β) = x : aTx = β

areH+(a, β) = x ∈ R

n : aTx ≥ β

andH−(a, β) = x ∈ R

n : aT x ≤ β.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 5 / 1

Page 18: The Geometry of Linear Programming

Intersections of Closed Half-Spaces

Consider the constraint region to an LP

Ω = x : Ax ≤ b, 0 ≤ x.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 6 / 1

Page 19: The Geometry of Linear Programming

Intersections of Closed Half-Spaces

Consider the constraint region to an LP

Ω = x : Ax ≤ b, 0 ≤ x.

Define the half-spaces

Hj = x : eTj x ≥ 0 for j = 1, . . . , n

andHn+i = x : aTi · x ≤ bi for i = 1, . . . ,m,

where ai · is the ith row of A.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 6 / 1

Page 20: The Geometry of Linear Programming

Intersections of Closed Half-Spaces

Consider the constraint region to an LP

Ω = x : Ax ≤ b, 0 ≤ x.

Define the half-spaces

Hj = x : eTj x ≥ 0 for j = 1, . . . , n

andHn+i = x : aTi · x ≤ bi for i = 1, . . . ,m,

where ai · is the ith row of A.

Then

Ω =n+m⋂

k=1

Hk .

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 6 / 1

Page 21: The Geometry of Linear Programming

Intersections of Closed Half-Spaces

Consider the constraint region to an LP

Ω = x : Ax ≤ b, 0 ≤ x.

Define the half-spaces

Hj = x : eTj x ≥ 0 for j = 1, . . . , n

andHn+i = x : aTi · x ≤ bi for i = 1, . . . ,m,

where ai · is the ith row of A.

Then

Ω =n+m⋂

k=1

Hk .

That is, the constraint region of an LP is the intersection of finitely manyclosed half-spaces.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 6 / 1

Page 22: The Geometry of Linear Programming

Convex Polyhedra

Definition: Any subset of Rn that can be represented as the intersection of

finitely many closed half spaces is called a convex polyhedron.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 7 / 1

Page 23: The Geometry of Linear Programming

Convex Polyhedra

Definition: Any subset of Rn that can be represented as the intersection of

finitely many closed half spaces is called a convex polyhedron.

A linear program is simply the problem of either maximizing or minimizinga linear function over a convex polyhedron.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 7 / 1

Page 24: The Geometry of Linear Programming

Convex Polyhedra

Definition: Any subset of Rn that can be represented as the intersection of

finitely many closed half spaces is called a convex polyhedron.

A linear program is simply the problem of either maximizing or minimizinga linear function over a convex polyhedron.

We now develop the geometry of convex polyhedra.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 7 / 1

Page 25: The Geometry of Linear Programming

Convex sets

Fact: Given any two points in Rn, say x and y , the line segment

connecting them is given by

[x , y ] = (1− λ)x + λy : 0 ≤ λ ≤ 1.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 8 / 1

Page 26: The Geometry of Linear Programming

Convex sets

Fact: Given any two points in Rn, say x and y , the line segment

connecting them is given by

[x , y ] = (1− λ)x + λy : 0 ≤ λ ≤ 1.

Definition: A subset C ∈ Rn is said to be convex if [x , y ] ⊂ C whenever

x , y ∈ C.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 8 / 1

Page 27: The Geometry of Linear Programming

Convex sets

Fact: Given any two points in Rn, say x and y , the line segment

connecting them is given by

[x , y ] = (1− λ)x + λy : 0 ≤ λ ≤ 1.

Definition: A subset C ∈ Rn is said to be convex if [x , y ] ⊂ C whenever

x , y ∈ C.

Fact: A convex polyhedron is a convex set.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 8 / 1

Page 28: The Geometry of Linear Programming

Example

c1 : −x1 − x2 ≤ −2c2 : 3x1 − 4x2 ≤ 0c3 : −x1 + 3x2 ≤ 6

v2

c3

c1

c2

x1

x2

1

1

2

2

3

3

4

4

5

5

v3

v1

C

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 9 / 1

Page 29: The Geometry of Linear Programming

Example

c1 : −x1 − x2 ≤ −2c2 : 3x1 − 4x2 ≤ 0c3 : −x1 + 3x2 ≤ 6

v2

c3

c1

c2

x1

x2

1

1

2

2

3

3

4

4

5

5

v3

v1

C

The vertices are v1 =(87 ,

67

), v2 = (0, 2), and v3 =

(245 ,

185

).

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 9 / 1

Page 30: The Geometry of Linear Programming

Vertices

Definition: Let C be a convex polyhedron. We say that x ∈ C is a vertex of C if

whenever x ∈ [u, v ] for some u, v ∈ C, it must be the case that either x = u or

x = v.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 10 / 1

Page 31: The Geometry of Linear Programming

Vertices

Definition: Let C be a convex polyhedron. We say that x ∈ C is a vertex of C if

whenever x ∈ [u, v ] for some u, v ∈ C, it must be the case that either x = u or

x = v.

The Fundamental Representation Theorem for Vertices

A point x in the convex polyhedron described by the system of inequalities

Tx ≤ g , where T = (tij)m×n and g ∈ Rm, is a vertex of this polyhedron if and

only if there exist an index set I ⊂ 1, . . . ,m such that x is the unique solution

to the system of equations

n∑

j=1

tijxj = gi i ∈ I.

Moreover, if x is a vertex, then one can take |I| = n, where |I| denotes the

number of elements in I.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 10 / 1

Page 32: The Geometry of Linear Programming

Observations

When does the system of equations

n∑

j=1

tijxj = gi i ∈ I

have a unique solution?

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 11 / 1

Page 33: The Geometry of Linear Programming

Observations

When does the system of equations

n∑

j=1

tijxj = gi i ∈ I

have a unique solution?

|I| ≥ n; otherwise there are infinitely many solutions.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 11 / 1

Page 34: The Geometry of Linear Programming

Observations

When does the system of equations

n∑

j=1

tijxj = gi i ∈ I

have a unique solution?

|I| ≥ n; otherwise there are infinitely many solutions.

If |I| > n, we can select a subset R ⊂ I of the rows Ti · of T so that theset of vectors Ti · | i ∈ R form a basis of the row space of T . Then|R| = n and x is the unique solution to

n∑

j=1

tijxj = gi i ∈ R.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 11 / 1

Page 35: The Geometry of Linear Programming

Vertices

Corollary: A point x in the convex polyhedron described by the system ofinequalities

Ax ≤ b and 0 ≤ x ,

where A = (aij)m×n, is a vertex of this polyhedron if and only if there existindex sets I ⊂ 1, . . . ,m and J ⊂ 1, . . . , n with |I|+ |J | = n suchthat x is the unique solution to the system of equations

n∑

j=1

aijxj = bi i ∈ I, and

xj = 0 j ∈ J .

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 12 / 1

Page 36: The Geometry of Linear Programming

Example

c1 : −x1 − x2 ≤ −2c2 : 3x1 − 4x2 ≤ 0c3 : −x1 + 3x2 ≤ 6

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 13 / 1

Page 37: The Geometry of Linear Programming

Example

c1 : −x1 − x2 ≤ −2c2 : 3x1 − 4x2 ≤ 0c3 : −x1 + 3x2 ≤ 6

(a)The vertex v1 = (87 ,67) is given as the solution to the system

−x1 − x2 = −2

3x1 − 4x2 = 0,

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 13 / 1

Page 38: The Geometry of Linear Programming

Example

c1 : −x1 − x2 ≤ −2c2 : 3x1 − 4x2 ≤ 0c3 : −x1 + 3x2 ≤ 6

(b)The vertex v2 = (0, 2) is given as the solution to the system

−x1 − x2 = −2

−x1 + 3x2 = 6,

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 14 / 1

Page 39: The Geometry of Linear Programming

Example

c1 : −x1 − x2 ≤ −2c2 : 3x1 − 4x2 ≤ 0c3 : −x1 + 3x2 ≤ 6

(c)The vertex v3 =(245 ,

185

)is given as the solution to the system

3x1 − 4x2 = 0

−x1 + 3x2 = 6.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 15 / 1

Page 40: The Geometry of Linear Programming

Application to LPs in Standard Form

n∑

j=1

aijxj ≤ bi i = 1, . . . ,m

0 ≤ xj j = 1, . . . , n.

The associated slack variables:

xn+i = bi −

n∑

j=1

aijxj i = 1, . . . ,m. ♣

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 16 / 1

Page 41: The Geometry of Linear Programming

Application to LPs in Standard Form

n∑

j=1

aijxj ≤ bi i = 1, . . . ,m

0 ≤ xj j = 1, . . . , n.

The associated slack variables:

xn+i = bi −

n∑

j=1

aijxj i = 1, . . . ,m. ♣

Let x = (x1, . . . , xn+m) be any solution to the system ♣.

J = j ∈⊂ 1, . . . , n | xj = 0 I = j ∈ 1, . . . ,m | xn+i = 0

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 16 / 1

Page 42: The Geometry of Linear Programming

Application to LPs in Standard Form

n∑

j=1

aijxj ≤ bi i = 1, . . . ,m

0 ≤ xj j = 1, . . . , n.

The associated slack variables:

xn+i = bi −

n∑

j=1

aijxj i = 1, . . . ,m. ♣

Let x = (x1, . . . , xn+m) be any solution to the system ♣.

J = j ∈⊂ 1, . . . , n | xj = 0 I = j ∈ 1, . . . ,m | xn+i = 0

Let x = (x1, . . . , xn) be the values for the decision variables at x .

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 16 / 1

Page 43: The Geometry of Linear Programming

Application to LPs in Standard Form

For each j ∈ J ⊂ 1, . . . , n, xj = 0, consequently the hyperplane

Hj = x ∈ Rn : eTj x = 0

is active at x , i.e., x ∈ Hj .

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 17 / 1

Page 44: The Geometry of Linear Programming

Application to LPs in Standard Form

For each j ∈ J ⊂ 1, . . . , n, xj = 0, consequently the hyperplane

Hj = x ∈ Rn : eTj x = 0

is active at x , i.e., x ∈ Hj .

Similarly, for each i ∈ I ⊂ 1, 2, . . . ,m, xn+i = 0, and so the hyperplane

Hn+i = x ∈ Rn :

n∑

j=1

aijxj = bi

is active at x , i.e., x ∈ Hn+i .

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 17 / 1

Page 45: The Geometry of Linear Programming

Application to LPs in Standard Form

What are the vertices of the system

n∑

j=1

aijxj ≤ bi i = 1, . . . ,m

0 ≤ xj j = 1, . . . , n

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 18 / 1

Page 46: The Geometry of Linear Programming

Application to LPs in Standard Form

What are the vertices of the system

n∑

j=1

aijxj ≤ bi i = 1, . . . ,m

0 ≤ xj j = 1, . . . , n

x = (x1, . . . , xn) is a vertex of this polyhedron if and only if there existindex sets I ⊂ 1, . . . ,m and J ∈ 1, . . . , n with |I|+ |J | = n suchthat x is the unique solution to the system of equations

n∑

j=1

aijxj = bi i ∈ I, and xj = 0 j ∈ J .

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 18 / 1

Page 47: The Geometry of Linear Programming

Application to LPs in Standard Form

What are the vertices of the system

n∑

j=1

aijxj ≤ bi i = 1, . . . ,m

0 ≤ xj j = 1, . . . , n

x = (x1, . . . , xn) is a vertex of this polyhedron if and only if there existindex sets I ⊂ 1, . . . ,m and J ∈ 1, . . . , n with |I|+ |J | = n suchthat x is the unique solution to the system of equations

n∑

j=1

aijxj = bi i ∈ I, and xj = 0 j ∈ J .

In this case xm+i = 0 for i ∈ I (slack variables).

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 18 / 1

Page 48: The Geometry of Linear Programming

Vertices and BFSs

That is, x is a vertex of the polyhedral constraints to an LP in standardform if and only if a total of n of the variables x1, x2, . . . , xn+m take thevalue zero, while the value of the remaining m variables is uniquelydetermined by setting these n variables to the value zero.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 19 / 1

Page 49: The Geometry of Linear Programming

Vertices and BFSs

That is, x is a vertex of the polyhedral constraints to an LP in standardform if and only if a total of n of the variables x1, x2, . . . , xn+m take thevalue zero, while the value of the remaining m variables is uniquelydetermined by setting these n variables to the value zero.

But then, x is a vertex if and only if it is a BFS!

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 19 / 1

Page 50: The Geometry of Linear Programming

Vertices and BFSs

That is, x is a vertex of the polyhedral constraints to an LP in standardform if and only if a total of n of the variables x1, x2, . . . , xn+m take thevalue zero, while the value of the remaining m variables is uniquelydetermined by setting these n variables to the value zero.

But then, x is a vertex if and only if it is a BFS!

Therefore, one can geometrically interpret the simplex algorithm as aprocedure moving from one vertex of the constraint polyhedron to anotherwith higher objective value until the optimal solution exists.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 19 / 1

Page 51: The Geometry of Linear Programming

Vertices and BFSs

The simplex algorithm terminates finitely since every vertex is connectedto every other vertex by a path of adjacent vertices on the surface of thepolyhedron.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 20 / 1

Page 52: The Geometry of Linear Programming

Example

maximize 3x1 + 4x2subject to −2x1 + x2 ≤ 2

2x1 − x2 ≤ 40 ≤ x1 ≤ 3,0 ≤ x2 ≤ 4.

V4

V5

V6x1

V2

V1 1

1

2

2

3

3

V3

x2

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 21 / 1

Page 53: The Geometry of Linear Programming

Example

-2 1 1 0 0 0 2 vertex2 -1 0 1 0 0 4 v11 0 0 0 1 0 3 (0, 0)0 1 0 0 0 1 43 4 0 0 0 0 0

-2 1 1 0 0 0 2 vertex0 0 1 1 0 0 6 v21 0 0 0 1 0 3 (0, 2)

2 0 -1 0 0 1 211 0 -4 0 0 0 -8

0 1 0 0 0 1 4 vertex0 0 1 1 0 0 6 v3

0 0 12 0 1 − 1

2 2 (1, 4)

1 0 − 12 0 0 1

2 10 0 3

2 0 0 −112 -19

0 1 0 0 0 1 4 vertex0 0 0 1 -2 1 2 v40 0 1 0 2 -1 4 (3, 4)1 0 0 0 1 0 30 0 0 0 -3 -4 -25

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 22 / 1

Page 54: The Geometry of Linear Programming

Vertex Pivoting

The BSFs in the simplex algorithm are vertices, and every vertex of thepolyhedral constraint region is a BFS.

Phase I of the simplex algorithm is a procedure for finding a vertex of theconstraint region, while Phase II is a procedure for moving betweenadjacent vertices successively increasing the value of the objective function.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 23 / 1

Page 55: The Geometry of Linear Programming

The Geometry of Degeneracy

Let Ω = x : Ax ≤ b, 0 ≤ x be the constraint region for an LP instandard form.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 24 / 1

Page 56: The Geometry of Linear Programming

The Geometry of Degeneracy

Let Ω = x : Ax ≤ b, 0 ≤ x be the constraint region for an LP instandard form.Ω is the intersection of the hyperplanes

Hj = x : eTj x ≥ 0 for j = 1, . . . , n

and

Hn+i = x :

n∑

j=1

aijxj ≤ bi for i = 1, . . . ,m

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 24 / 1

Page 57: The Geometry of Linear Programming

The Geometry of Degeneracy

Let Ω = x : Ax ≤ b, 0 ≤ x be the constraint region for an LP instandard form.Ω is the intersection of the hyperplanes

Hj = x : eTj x ≥ 0 for j = 1, . . . , n

and

Hn+i = x :

n∑

j=1

aijxj ≤ bi for i = 1, . . . ,m

A basic feasible solution (vertex) is said to be degenerate if one or more ofthe basic variables is assigned the value zero. This implies that more thann of the hyperplanes Hk , k = 1, 2, . . . , n +m are active at this vertex.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 24 / 1

Page 58: The Geometry of Linear Programming

Example

maximize 3x1 + 4x2subject to −2x1 + x2 ≤ 2

2x1 − x2 ≤ 4−x1 + x2 ≤ 3x1 + x2 ≤ 70 ≤ x1 ≤ 3,0 ≤ x2 ≤ 4.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 25 / 1

Page 59: The Geometry of Linear Programming

Example

maximize 3x1 + 4x2subject to −2x1 + x2 ≤ 2

2x1 − x2 ≤ 4−x1 + x2 ≤ 3x1 + x2 ≤ 70 ≤ x1 ≤ 3,0 ≤ x2 ≤ 4.

V4

V5

V6x1

V2

V11

1

2

2

3

3

V3

x2

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 25 / 1

Page 60: The Geometry of Linear Programming

Example

-2 1© 1 0 0 0 0 0 2 vertex2 -1 0 1 0 0 0 0 4 V1 = (0, 0)-1 1 0 0 1 0 0 0 31 1 0 0 0 1 0 0 71 0 0 0 0 0 1 0 30 1 0 0 0 0 0 1 43 4 0 0 0 0 0 0 0

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 26 / 1

Page 61: The Geometry of Linear Programming

Example

-2 1© 1 0 0 0 0 0 2 vertex2 -1 0 1 0 0 0 0 4 V1 = (0, 0)-1 1 0 0 1 0 0 0 31 1 0 0 0 1 0 0 71 0 0 0 0 0 1 0 30 1 0 0 0 0 0 1 43 4 0 0 0 0 0 0 0

-2 1 1 0 0 0 0 0 2 vertex0 0 1 1 0 0 0 0 6 V2 = (0, 2)1© 0 -1 0 1 0 0 0 13 0 -1 0 0 1 0 0 51 0 0 0 0 0 1 0 32 0 -1 0 0 0 0 1 211 0 -4 0 0 0 0 0 -8

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 26 / 1

Page 62: The Geometry of Linear Programming

Example

-2 1 1 0 0 0 0 0 2 vertex0 0 1 1 0 0 0 0 6 V2 = (0, 2)1© 0 -1 0 1 0 0 0 13 0 -1 0 0 1 0 0 51 0 0 0 0 0 1 0 32 0 -1 0 0 0 0 1 211 0 -4 0 0 0 0 0 -8

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 27 / 1

Page 63: The Geometry of Linear Programming

Example

-2 1 1 0 0 0 0 0 2 vertex0 0 1 1 0 0 0 0 6 V2 = (0, 2)1© 0 -1 0 1 0 0 0 13 0 -1 0 0 1 0 0 51 0 0 0 0 0 1 0 32 0 -1 0 0 0 0 1 211 0 -4 0 0 0 0 0 -8

0 1 -1 0 2 0 0 0 4 vertex0 0 1 1 0 0 0 0 6 V3 = (1, 4)1 0 -1 0 1 0 0 0 10 0 2 0 -3 1 0 0 20 0 1 0 -1 0 1 0 20 0 1© 0 -2 0 0 1 0 degenerate0 0 7 0 -11 0 0 0 -19

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 27 / 1

Page 64: The Geometry of Linear Programming

Example

0 1 -1 0 2 0 0 0 4 vertex0 0 1 1 0 0 0 0 6 V3 = (1, 4)1 0 -1 0 1 0 0 0 10 0 2 0 -3 1 0 0 20 0 1 0 -1 0 1 0 20 0 1© 0 -2 0 0 1 0 degenerate0 0 7 0 -11 0 0 0 -19

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 28 / 1

Page 65: The Geometry of Linear Programming

Example

0 1 -1 0 2 0 0 0 4 vertex0 0 1 1 0 0 0 0 6 V3 = (1, 4)1 0 -1 0 1 0 0 0 10 0 2 0 -3 1 0 0 20 0 1 0 -1 0 1 0 20 0 1© 0 -2 0 0 1 0 degenerate0 0 7 0 -11 0 0 0 -19

0 1 0 0 0 0 0 1 4 vertex0 0 0 1 2 0 0 1 6 V3 = (1, 4)1 0 0 0 -1 0 0 1 10 0 0 0 1© 1 0 -2 20 0 0 0 1 0 1 -1 20 0 1 0 -2 0 0 1 0 degenerate0 0 0 0 3 0 0 -7 -19

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 28 / 1

Page 66: The Geometry of Linear Programming

Example

0 1 0 0 0 0 0 1 4 vertex0 0 0 1 2 0 0 1 6 V3 = (1, 4)1 0 0 0 -1 0 0 1 10 0 0 0 1© 1 0 -2 20 0 0 0 1 0 1 -1 20 0 1 0 -2 0 0 1 0 degenerate0 0 0 0 3 0 0 -7 -19

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 29 / 1

Page 67: The Geometry of Linear Programming

Example

0 1 0 0 0 0 0 1 4 vertex0 0 0 1 2 0 0 1 6 V3 = (1, 4)1 0 0 0 -1 0 0 1 10 0 0 0 1© 1 0 -2 20 0 0 0 1 0 1 -1 20 0 1 0 -2 0 0 1 0 degenerate0 0 0 0 3 0 0 -7 -19

0 1 0 0 0 0 0 1 4 vertex0 0 0 1 0 -2 0 5 2 V4 = (3, 4)1 0 0 0 0 1 0 -1 30 0 0 0 1 1 0 -2 2 optimal0 0 0 0 0 -1 1 1 0 degenerate0 0 1 0 0 2 0 -3 40 0 0 0 0 -3 0 -1 -25

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 29 / 1

Page 68: The Geometry of Linear Programming

Degeneracy = Multiple Representations of a Vertex

A degenerate tableau occurs when the associated BFS (or vertex) can berepresented as the intersection point of more than one subsets of n activehyperplanes.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 30 / 1

Page 69: The Geometry of Linear Programming

Degeneracy = Multiple Representations of a Vertex

A degenerate tableau occurs when the associated BFS (or vertex) can berepresented as the intersection point of more than one subsets of n activehyperplanes.

A degenerate pivot occurs when we move between two differentrepresentations of a vertex as the intersection of n hyperplanes.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 30 / 1

Page 70: The Geometry of Linear Programming

Degeneracy = Multiple Representations of a Vertex

A degenerate tableau occurs when the associated BFS (or vertex) can berepresented as the intersection point of more than one subsets of n activehyperplanes.

A degenerate pivot occurs when we move between two differentrepresentations of a vertex as the intersection of n hyperplanes.

Cycling implies that we are cycling between different representations of thesame vertex.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 30 / 1

Page 71: The Geometry of Linear Programming

Degeneracy = Multiple Representations of a Vertex

In the previous example, the third tableau represents the vertexV3 = (1, 4) as the intersection of the hyperplanes

−2x1 + x2 = 2 (since x3 = 0)

−x1 + x2 =3. (since x5 = 0) and

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 31 / 1

Page 72: The Geometry of Linear Programming

Degeneracy = Multiple Representations of a Vertex

In the previous example, the third tableau represents the vertexV3 = (1, 4) as the intersection of the hyperplanes

−2x1 + x2 = 2 (since x3 = 0)

−x1 + x2 =3. (since x5 = 0) and

The third pivot brings us to the 4th tableau where the vertex V3 = (1, 4)is represented as the intersection of the hyperplanes

−x1 + x2 = 3 (since x5 = 0)

x2 =4 (since x8 = 0). and

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 31 / 1

Page 73: The Geometry of Linear Programming

Multiple Dual Optimal Solutions and Degeneracy

0 1 0 0 0 0 0 1 4 primal solution0 0 0 1 0 -2 0 5 2 v4 = (3, 4)1 0 0 0 0 1 0 -1 30 0 0 0 1 1 0 -2 2 dual0 0 0 0 0 -1© 1 1 0 solution0 0 1 0 0 2 0 -3 4 (0,0,0,3,0,1)0 0 0 0 0 -3 0 -1 -25

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 32 / 1

Page 74: The Geometry of Linear Programming

Multiple Dual Optimal Solutions and Degeneracy

0 1 0 0 0 0 0 1 4 primal solution0 0 0 1 0 -2 0 5 2 v4 = (3, 4)1 0 0 0 0 1 0 -1 30 0 0 0 1 1 0 -2 2 dual0 0 0 0 0 -1© 1 1 0 solution0 0 1 0 0 2 0 -3 4 (0,0,0,3,0,1)0 0 0 0 0 -3 0 -1 -25

0 1 0 0 0 0 0 0 4 primal solution0 0 0 1 0 0 -2 3 2 v4 = (3, 4)1 0 0 0 0 0 1 0 30 0 0 0 1 0 1 -1 2 dual0 0 0 0 0 1 -1 -1 0 solution0 0 1 0 0 0 2 -1 4 (0,0,0,0,3,4)0 0 0 0 0 0 -3 -4 -25

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 32 / 1

Page 75: The Geometry of Linear Programming

Multiple Dual Optima and Primal Degeneracy

Primal degeneracy in an optimal tableau indicates multiple optimalsolutions to the dual which can be obtained with dual simplex pivots.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 33 / 1

Page 76: The Geometry of Linear Programming

Multiple Dual Optima and Primal Degeneracy

Primal degeneracy in an optimal tableau indicates multiple optimalsolutions to the dual which can be obtained with dual simplex pivots.

Dual degeneracy in an optimal tableau indicates multiple optimal primalsolutions that can be obtained with primal simplex pivots.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 33 / 1

Page 77: The Geometry of Linear Programming

Multiple Dual Optima and Primal Degeneracy

Primal degeneracy in an optimal tableau indicates multiple optimalsolutions to the dual which can be obtained with dual simplex pivots.

Dual degeneracy in an optimal tableau indicates multiple optimal primalsolutions that can be obtained with primal simplex pivots.

A tableau is said to be dual degenerate if there is a non-basic variablewhose objective row coefficient is zero.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 33 / 1

Page 78: The Geometry of Linear Programming

Multiple Primal Optima and Dual Degeneracy

50 0 0 100 0 1 −10 5 5002.5 1 0 2 0 0 −.1 .15 15 primal−.5 0 0 0 1 0 0 −.05 15 solution−1 0 1 −1 0 0 .1 −.1 10 (0, 15, 10, 0)

−100 0 0 0 0 0 −10 −10 −11000

.5 0 0 1 0 .01 −.1 .05 51.5 1 0 0 0 −.02 .1 .05 5 primal−.5 0 0 0 1 0 0 −.05 15 solution−.5 0 1 0 0 .01 0 −.05 15 (0, 5, 15, 5)

−100 0 0 0 0 0 −10 −10 −11000

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 34 / 1

Page 79: The Geometry of Linear Programming

The Geometry of Duality

max 3x1 + x2s.t. −x1 + 2x2 ≤ 4

3x1 − x2 ≤ 30 ≤ x1, x2.

n2 = (3,−1)

n1 = (−1, 2)

c = (3, 1)

1

1

3

3

2

2

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 35 / 1

Page 80: The Geometry of Linear Programming

The Geometry of Duality

The normal tothe hyperplane−x1 + 2x2 = 4is n1 = (−1, 2).

n2 = (3,−1)

n1 = (−1, 2)

c = (3, 1)

1

1

3

3

2

2

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 36 / 1

Page 81: The Geometry of Linear Programming

The Geometry of Duality

The normal tothe hyperplane−x1 + 2x2 = 4is n1 = (−1, 2).

The normal tothe hyperplane3x1 − x2 = 3is n2 = (3,−1).

n2 = (3,−1)

n1 = (−1, 2)

c = (3, 1)

1

1

3

3

2

2

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 36 / 1

Page 82: The Geometry of Linear Programming

The Geometry of Duality

The objective normalc = (3, 1)

can be written as a non-negative linear combination of the activeconstraint normals

n1 = (−1, 2) and n2 = (3,−1) .

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 37 / 1

Page 83: The Geometry of Linear Programming

The Geometry of Duality

The objective normalc = (3, 1)

can be written as a non-negative linear combination of the activeconstraint normals

n1 = (−1, 2) and n2 = (3,−1) .

c = y1n1 + y2n2,

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 37 / 1

Page 84: The Geometry of Linear Programming

The Geometry of Duality

The objective normalc = (3, 1)

can be written as a non-negative linear combination of the activeconstraint normals

n1 = (−1, 2) and n2 = (3,−1) .

c = y1n1 + y2n2,

Equivalently

(31

)= y1

(−12

)+ y2

(3−1

)

=

[−1 32 −1

] [y1y2

].

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 37 / 1

Page 85: The Geometry of Linear Programming

The Geometry of Duality

-1 3 32 -1 1

1 -3 -30 5 7

1 -3 -3

0 1 75

1 0 65

0 1 75

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 38 / 1

Page 86: The Geometry of Linear Programming

The Geometry of Duality

-1 3 32 -1 1

1 -3 -30 5 7

1 -3 -3

0 1 75

1 0 65

0 1 75

y1 =65

y2 =75

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 38 / 1

Page 87: The Geometry of Linear Programming

The Geometry of Duality

-1 3 32 -1 1

1 -3 -30 5 7

1 -3 -3

0 1 75

1 0 65

0 1 75

y1 =65

y2 =75

We claim that y = (65 ,75) is the optimal solution to the dual!

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 38 / 1

Page 88: The Geometry of Linear Programming

The Geometry of Duality

Pmax 3x1 + x2s.t. −x1 + 2x2 ≤ 4

3x1 − x2 ≤ 30 ≤ x1, x2.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 39 / 1

Page 89: The Geometry of Linear Programming

The Geometry of Duality

Pmax 3x1 + x2s.t. −x1 + 2x2 ≤ 4

3x1 − x2 ≤ 30 ≤ x1, x2.

Dmax 4y1 + 3y2s.t. −y1 + 3y2 ≥ 3

2y1 − y2 ≥ 10 ≤ y1, y2.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 39 / 1

Page 90: The Geometry of Linear Programming

The Geometry of Duality

Pmax 3x1 + x2s.t. −x1 + 2x2 ≤ 4

3x1 − x2 ≤ 30 ≤ x1, x2.

Dmax 4y1 + 3y2s.t. −y1 + 3y2 ≥ 3

2y1 − y2 ≥ 10 ≤ y1, y2.

Primal Solution(2, 3)

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 39 / 1

Page 91: The Geometry of Linear Programming

The Geometry of Duality

Pmax 3x1 + x2s.t. −x1 + 2x2 ≤ 4

3x1 − x2 ≤ 30 ≤ x1, x2.

Dmax 4y1 + 3y2s.t. −y1 + 3y2 ≥ 3

2y1 − y2 ≥ 10 ≤ y1, y2.

Primal Solution −− Dual Solution(2, 3) (6/5, 7/5)

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 39 / 1

Page 92: The Geometry of Linear Programming

The Geometry of Duality

Pmax 3x1 + x2s.t. −x1 + 2x2 ≤ 4

3x1 − x2 ≤ 30 ≤ x1, x2.

Dmax 4y1 + 3y2s.t. −y1 + 3y2 ≥ 3

2y1 − y2 ≥ 10 ≤ y1, y2.

Primal Solution −− Dual Solution(2, 3) (6/5, 7/5)

Optimal Value = 9

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 39 / 1

Page 93: The Geometry of Linear Programming

Geometric Duality Theorem

Consider the LP (P) maxcTx |Ax ≤ b, 0 ≤ x, where A ∈ Rm×n. Given a

vector x that is feasible for P , define

Z(x) = j ∈ 1, 2, . . . , n : xj = 0, E(x) = i ∈ 1, . . . ,m :n∑

j=1

aij xj = bi.

The indices Z(x) and E(x) are the active indices at x and correspond to theactive hyperplanes at x . Then x solves P if and only if there exist non-negativenumbers rj , j ∈ Z(x) and yi , i ∈ E(x) such that

c = −∑

j∈Z(x)

rjej +∑

i∈E(x)

yiai•

where for each i = 1, . . . ,m, ai• = (ai1, ai2, . . . , ain)T is the ith column of the

matrix AT , and, for each j = 1, . . . , n, ej is the jth unit coordinate vector. In

addition, if x is the solution to P , then the vector y ∈ Rm given by

yi =

yi for i ∈ E(x)0 otherwise

, solves the dual problem.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 40 / 1

Page 94: The Geometry of Linear Programming

Geometric Duality Theorem: Proof

First suppose that x solves P , and let y solve D.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 41 / 1

Page 95: The Geometry of Linear Programming

Geometric Duality Theorem: Proof

First suppose that x solves P , and let y solve D.The Complementary Slackness Theorem implies that

(I ) yi = 0 for i ∈ 1, 2, . . . ,m \ E(x) (∑n

j=1 aij xj < bi )and

(II )

m∑

i=1

yiaij = cj for j ∈ 1, . . . , n \ Z(x) (0 < xj).

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 41 / 1

Page 96: The Geometry of Linear Programming

Geometric Duality Theorem: Proof

First suppose that x solves P , and let y solve D.The Complementary Slackness Theorem implies that

(I ) yi = 0 for i ∈ 1, 2, . . . ,m \ E(x) (∑n

j=1 aij xj < bi )and

(II )

m∑

i=1

yiaij = cj for j ∈ 1, . . . , n \ Z(x) (0 < xj).

Define r = AT y − c ≥ 0.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 41 / 1

Page 97: The Geometry of Linear Programming

Geometric Duality Theorem: Proof

First suppose that x solves P , and let y solve D.The Complementary Slackness Theorem implies that

(I ) yi = 0 for i ∈ 1, 2, . . . ,m \ E(x) (∑n

j=1 aij xj < bi )and

(II )

m∑

i=1

yiaij = cj for j ∈ 1, . . . , n \ Z(x) (0 < xj).

Define r = AT y − c ≥ 0. By (II), rj = 0 for j ∈ 1, . . . , n \ Z(x)

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 41 / 1

Page 98: The Geometry of Linear Programming

Geometric Duality Theorem: Proof

First suppose that x solves P , and let y solve D.The Complementary Slackness Theorem implies that

(I ) yi = 0 for i ∈ 1, 2, . . . ,m \ E(x) (∑n

j=1 aij xj < bi )and

(II )

m∑

i=1

yiaij = cj for j ∈ 1, . . . , n \ Z(x) (0 < xj).

Define r = AT y − c ≥ 0. By (II), rj = 0 for j ∈ 1, . . . , n \ Z(x), while

(III ) cj = −rj +

m∑

i=1

yiaij for j ∈ Z(x).

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 41 / 1

Page 99: The Geometry of Linear Programming

Geometric Duality Theorem: Proof

First suppose that x solves P , and let y solve D.The Complementary Slackness Theorem implies that

(I ) yi = 0 for i ∈ 1, 2, . . . ,m \ E(x) (∑n

j=1 aij xj < bi )and

(II )

m∑

i=1

yiaij = cj for j ∈ 1, . . . , n \ Z(x) (0 < xj).

Define r = AT y − c ≥ 0. By (II), rj = 0 for j ∈ 1, . . . , n \ Z(x), while

(III ) cj = −rj +

m∑

i=1

yiaij for j ∈ Z(x).

(I), (II), and (III) gives

c = −∑

j∈Z(x)

rjej + AT y = −∑

j∈Z(x)

rjej +∑

i∈E(x)

yiai•.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 41 / 1

Page 100: The Geometry of Linear Programming

Geometric Duality Theorem: Proof

Conversely, suppose x is feasible for P and 0 ≤ rj , j ∈ Z(x) and 0 ≤ yi , i ∈ E(x)satisfy

c = −∑

j∈Z(x)

rjej + AT y = −∑

j∈Z(x)

rjej +∑

i∈E(x)

yiai•

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 42 / 1

Page 101: The Geometry of Linear Programming

Geometric Duality Theorem: Proof

Conversely, suppose x is feasible for P and 0 ≤ rj , j ∈ Z(x) and 0 ≤ yi , i ∈ E(x)satisfy

c = −∑

j∈Z(x)

rjej + AT y = −∑

j∈Z(x)

rjej +∑

i∈E(x)

yiai•

Set yi = 0 6∈ E(x) to obtain y ∈ Rm.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 42 / 1

Page 102: The Geometry of Linear Programming

Geometric Duality Theorem: Proof

Conversely, suppose x is feasible for P and 0 ≤ rj , j ∈ Z(x) and 0 ≤ yi , i ∈ E(x)satisfy

c = −∑

j∈Z(x)

rjej + AT y = −∑

j∈Z(x)

rjej +∑

i∈E(x)

yiai•

Set yi = 0 6∈ E(x) to obtain y ∈ Rm. Then

AT y =∑

i∈E(x)

yiai• ≥ −∑

j∈Z(x)

rjej +∑

i∈E(x)

yiai• = c ,

so that y is feasible for D.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 42 / 1

Page 103: The Geometry of Linear Programming

Geometric Duality Theorem: Proof

Conversely, suppose x is feasible for P and 0 ≤ rj , j ∈ Z(x) and 0 ≤ yi , i ∈ E(x)satisfy

c = −∑

j∈Z(x)

rjej + AT y = −∑

j∈Z(x)

rjej +∑

i∈E(x)

yiai•

Set yi = 0 6∈ E(x) to obtain y ∈ Rm. Then

AT y =∑

i∈E(x)

yiai• ≥ −∑

j∈Z(x)

rjej +∑

i∈E(x)

yiai• = c ,

so that y is feasible for D. Moreover,

cT x = −∑

j∈Z(x)

rjeTj x +

i∈E(x)

yiaTi•x =

i∈E(x)

yiaTi•x = yTAx = yTb,

so x solves P and y solves D by the Weak Duality Theorem.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 42 / 1

Page 104: The Geometry of Linear Programming

Example

Does the vector x = (1, 0, 2, 0)T solve the LP

maximize x1 +x2 −x3 +2x4subject to x1 +3x2 −2x3 +4x4 ≤ −3

4x2 −2x3 +3x4 ≤ 1−x2 +x3 −x4 ≤ 2

−x1 −x2 +2x3 −x5 ≤ 40 ≤ x1, x2, x3, x4 .

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 43 / 1

Page 105: The Geometry of Linear Programming

Example

Which constraints are active at x = (1, 0, 2, 0)T ?

x1 +3x2 −2x3 +4x4 ≤ −34x2 −2x3 +3x4 ≤ 1−x2 +x3 −x4 ≤ 2

−x1 −x2 +2x3 −x5 ≤ 4

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 44 / 1

Page 106: The Geometry of Linear Programming

Example

Which constraints are active at x = (1, 0, 2, 0)T ?

x1 +3x2 −2x3 +4x4 ≤ −3 =4x2 −2x3 +3x4 ≤ 1−x2 +x3 −x4 ≤ 2

−x1 −x2 +2x3 −x5 ≤ 4

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 44 / 1

Page 107: The Geometry of Linear Programming

Example

Which constraints are active at x = (1, 0, 2, 0)T ?

x1 +3x2 −2x3 +4x4 ≤ −3 =4x2 −2x3 +3x4 ≤ 1 < so y2 = 0−x2 +x3 −x4 ≤ 2

−x1 −x2 +2x3 −x5 ≤ 4

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 44 / 1

Page 108: The Geometry of Linear Programming

Example

Which constraints are active at x = (1, 0, 2, 0)T ?

x1 +3x2 −2x3 +4x4 ≤ −3 =4x2 −2x3 +3x4 ≤ 1 < so y2 = 0−x2 +x3 −x4 ≤ 2 =

−x1 −x2 +2x3 −x5 ≤ 4

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 44 / 1

Page 109: The Geometry of Linear Programming

Example

Which constraints are active at x = (1, 0, 2, 0)T ?

x1 +3x2 −2x3 +4x4 ≤ −3 =4x2 −2x3 +3x4 ≤ 1 < so y2 = 0−x2 +x3 −x4 ≤ 2 =

−x1 −x2 +2x3 −x5 ≤ 4 < so y4 = 0

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 44 / 1

Page 110: The Geometry of Linear Programming

Example

Which constraints are active at x = (1, 0, 2, 0)T ?

x1 +3x2 −2x3 +4x4 ≤ −3 =4x2 −2x3 +3x4 ≤ 1 < so y2 = 0−x2 +x3 −x4 ≤ 2 =

−x1 −x2 +2x3 −x5 ≤ 4 < so y4 = 0

The 1st and 3rd constraints are active.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 44 / 1

Page 111: The Geometry of Linear Programming

Example

Knowing y2 = y4 = 0 solve for y1 and y3 by writing the objective normalas a non-negative linear combination of the constraint outer normals.

1 0 0 03 −1 −1 0

−2 1 0 04 −1 0 −1

y1y3r2r4

=

11

−12

.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 45 / 1

Page 112: The Geometry of Linear Programming

Example

Row reducing, we get

1 0 0 0 13 −1 −1 0 1

−2 1 0 0 −14 −1 0 −1 2

1 0 0 0 10 1 1 0 20 1 0 0 10 1 0 1 2

.

Therefore, y1 = 1 and y3 = 1. We now check to see if the vectory = (1, 0, 1, 0) does indeed solve the dual.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 46 / 1

Page 113: The Geometry of Linear Programming

Example

Check that y = (1, 0, 1, 0) solves the dual problem.

minimize −3y1 + y2 + 2y3 + 4y4subject to y1 − y4 ≥ 1

3y1 + 4y2 − y3 − y4 ≥ 1−2y1 − 2y2 + y3 + 2y4 ≥ −14y1 + 3y2 − y3 − y4 ≥ 2

0 ≤ y1, y2, y3, y4.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 47 / 1

Page 114: The Geometry of Linear Programming

Example 2

Does x = (3, 1, 0)T solve P, where

A =

−1 3 −21 −4 21 2 3

, c =

173

, b =

005

.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 48 / 1

Page 115: The Geometry of Linear Programming

Example 3

Does x = (1, 2, 1, 0)T solve P, where

A =

3 1 4 2−3 2 2 11 −2 3 0

−3 2 −1 4

, c =

−2052

, b =

9301

.

Lecture 12: The Geometry of Linear Programming (Math Dept, University of Washington)Math 407A: Linear Optimization 49 / 1