the simplex algorithm and the hirsch conjecture: lecture 1€¦ · lecture 1 thomas dueholm hansen...

105
The simplex algorithm and the Hirsch conjecture: Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 交互计算 CTIC Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 1/32

Upload: others

Post on 15-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

The simplex algorithm and the Hirsch conjecture:Lecture 1

Thomas Dueholm Hansen

MADALGO & CTIC Summer School

August 8, 2011

交互计算CTIC

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 1/32

Page 2: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Overview

Lecture 1:Introduction to linear programming and the simplex algorithm.Pivoting rules.The RandomFacet pivoting rule.

Lecture 2:The Hirsch conjecture.Introduction to Markov decision processes (MDPs).Upper bound for the LargestCoefficient pivoting rule forMDPs.

Lecture 3:Lower bounds for pivoting rules utilizing MDPs. Example:Bland’s rule.Lower bound for the RandomEdge pivoting rule.Abstractions and related problems.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 2/32

Page 3: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

The simplex algorithm, Dantzig (1947)

maximize cTx

subject to Ax ≤ b

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 3/32

Page 4: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Convex polytopes

A convex polytope (or polyhedron)P in dimension d is a set of points

P = x ∈ Rd | Ax ≤ b

where A is an n × d matrix and b is avector in Rn.

I.e., P is the intersection of nhalfspaces aTi x ≤ bi , where aTi is thei ’th row of A.

P is bounded if there exists aconstant K such that for all x ∈ P,the absolute value of every componentxi is at most K . Otherwise P isunbounded.

P

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 4/32

Page 5: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Convex polytopes

A convex polytope (or polyhedron)P in dimension d is a set of points

P = x ∈ Rd | Ax ≤ b

where A is an n × d matrix and b is avector in Rn.

I.e., P is the intersection of nhalfspaces aTi x ≤ bi , where aTi is thei ’th row of A.

P is bounded if there exists aconstant K such that for all x ∈ P,the absolute value of every componentxi is at most K . Otherwise P isunbounded.

P

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 4/32

Page 6: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Convex polytopes

A convex polytope (or polyhedron)P in dimension d is a set of points

P = x ∈ Rd | Ax ≤ b

where A is an n × d matrix and b is avector in Rn.

I.e., P is the intersection of nhalfspaces aTi x ≤ bi , where aTi is thei ’th row of A.

P is bounded if there exists aconstant K such that for all x ∈ P,the absolute value of every componentxi is at most K . Otherwise P isunbounded.

P

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 4/32

Page 7: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Convex polytopes

A point x ∈ Rd is a basic solution ifit satisfies d linearly independentconstraints, aTi x ≤ bi , with equality.

x ∈ Rd is a basic feasible solution ifx ∈ P and x is a basic solution.

x ∈ P is a vertex (or corner) if thereexists a vector c ∈ Rd such that for ally ∈ P, if y 6= x then cT x > cT y .

Every basic feasible solution x is avertex of P.

x

P

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 5/32

Page 8: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Convex polytopes

A point x ∈ Rd is a basic solution ifit satisfies d linearly independentconstraints, aTi x ≤ bi , with equality.

x ∈ Rd is a basic feasible solution ifx ∈ P and x is a basic solution.

x ∈ P is a vertex (or corner) if thereexists a vector c ∈ Rd such that for ally ∈ P, if y 6= x then cT x > cT y .

Every basic feasible solution x is avertex of P.

x

P

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 5/32

Page 9: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Convex polytopes

A point x ∈ Rd is a basic solution ifit satisfies d linearly independentconstraints, aTi x ≤ bi , with equality.

x ∈ Rd is a basic feasible solution ifx ∈ P and x is a basic solution.

x ∈ P is a vertex (or corner) if thereexists a vector c ∈ Rd such that for ally ∈ P, if y 6= x then cT x > cT y .

Every basic feasible solution x is avertex of P.

c

x

P

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 5/32

Page 10: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Convex polytopes

A point x ∈ Rd is a basic solution ifit satisfies d linearly independentconstraints, aTi x ≤ bi , with equality.

x ∈ Rd is a basic feasible solution ifx ∈ P and x is a basic solution.

x ∈ P is a vertex (or corner) if thereexists a vector c ∈ Rd such that for ally ∈ P, if y 6= x then cT x > cT y .

Every basic feasible solution x is avertex of P.

x

P

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 5/32

Page 11: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Convex polytopes

If P is bounded, P can be equivalentlydefined as the convex hull of itsvertices.

A k-face is a k dimensional polytopedefined by a set of vertices that satisfythe same d − k constraints withequality.

A 0-face is a vertex.A 1-face is an edge.A (d − 1)-face is a facet.

Alternatively, a k-face is the polytopeobtained by eliminating d − k variablesusing the d − k constraints that aresatisfied with equality.

P

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 6/32

Page 12: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Convex polytopes

If P is bounded, P can be equivalentlydefined as the convex hull of itsvertices.

A k-face is a k dimensional polytopedefined by a set of vertices that satisfythe same d − k constraints withequality.

A 0-face is a vertex.A 1-face is an edge.A (d − 1)-face is a facet.

Alternatively, a k-face is the polytopeobtained by eliminating d − k variablesusing the d − k constraints that aresatisfied with equality.

P

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 6/32

Page 13: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Convex polytopes

If P is bounded, P can be equivalentlydefined as the convex hull of itsvertices.

A k-face is a k dimensional polytopedefined by a set of vertices that satisfythe same d − k constraints withequality.

A 0-face is a vertex.A 1-face is an edge.A (d − 1)-face is a facet.

Alternatively, a k-face is the polytopeobtained by eliminating d − k variablesusing the d − k constraints that aresatisfied with equality.

P

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 6/32

Page 14: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Linear programming

A linear program (LP) is theoptimization problem:

maximize cT xs.t. Ax ≤ b

For simplicity, we generally assumethat a linear program is in canonicalform:

maximize cT xs.t. Ax ≤ b

x ≥ 0

Every linear program has an equivalentcanonical form.

cP

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 7/32

Page 15: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Linear programming

A linear program (LP) is theoptimization problem:

maximize cT xs.t. Ax ≤ b

For simplicity, we generally assumethat a linear program is in canonicalform:

maximize cT xs.t. Ax ≤ b

x ≥ 0

Every linear program has an equivalentcanonical form.

cP

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 7/32

Page 16: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Linear programming

A constraint aTi x ≤ bi can be expressed equivalently as(aTi x) + si = bi , where si ≥ 0 is a non-negative slackvariable.

A canonical form linear program can be transformed toequational form (or standard form) by introducing n slackvariables:

maximize cT xs.t. Ax ≤ b

x ≥ 0

maximize cT xs.t. Ax + Is = b

x , s ≥ 0

The resulting linear program has m = d + n non-negativevariables.

Note that an inequality from the original linear program issatisfied with equality if the corresponding (slack) variable iszero in the equational form.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 8/32

Page 17: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Linear programming

A constraint aTi x ≤ bi can be expressed equivalently as(aTi x) + si = bi , where si ≥ 0 is a non-negative slackvariable.

A canonical form linear program can be transformed toequational form (or standard form) by introducing n slackvariables:

maximize cT xs.t. Ax ≤ b

x ≥ 0

maximize cT xs.t. Ax + Is = b

x , s ≥ 0

The resulting linear program has m = d + n non-negativevariables.

Note that an inequality from the original linear program issatisfied with equality if the corresponding (slack) variable iszero in the equational form.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 8/32

Page 18: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Linear programming

A constraint aTi x ≤ bi can be expressed equivalently as(aTi x) + si = bi , where si ≥ 0 is a non-negative slackvariable.

A canonical form linear program can be transformed toequational form (or standard form) by introducing n slackvariables:

maximize cT xs.t. Ax ≤ b

x ≥ 0

maximize cT xs.t. Ax + Is = b

x , s ≥ 0

The resulting linear program has m = d + n non-negativevariables.

Note that an inequality from the original linear program issatisfied with equality if the corresponding (slack) variable iszero in the equational form.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 8/32

Page 19: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Linear programming

Consider a linear program in equational form, defined by ann ×m matrix A, with m = d + n:

maximize cT xs.t. Ax = b

x ≥ 0

A basis is a subset B ⊆ 1, . . . ,m of n linearly independentcolumns of A.

Every basis B defines a basic solution xB ∈ Rm, as the uniquesolution to:

Ax = b and ∀i 6∈ B : xi = 0

Every basic solution x ∈ Rm is defined by at least one basis. Ifx is defined by more than one basis, x is a degenerate basicsolution.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 9/32

Page 20: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Linear programming

Consider a linear program in equational form, defined by ann ×m matrix A, with m = d + n:

maximize cT xs.t. Ax = b

x ≥ 0

A basis is a subset B ⊆ 1, . . . ,m of n linearly independentcolumns of A.

Every basis B defines a basic solution xB ∈ Rm, as the uniquesolution to:

Ax = b and ∀i 6∈ B : xi = 0

Every basic solution x ∈ Rm is defined by at least one basis. Ifx is defined by more than one basis, x is a degenerate basicsolution.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 9/32

Page 21: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Linear programming

Consider a linear program in equational form, defined by ann ×m matrix A, with m = d + n:

maximize cT xs.t. Ax = b

x ≥ 0

A basis is a subset B ⊆ 1, . . . ,m of n linearly independentcolumns of A.

Every basis B defines a basic solution xB ∈ Rm, as the uniquesolution to:

Ax = b and ∀i 6∈ B : xi = 0

Every basic solution x ∈ Rm is defined by at least one basis. Ifx is defined by more than one basis, x is a degenerate basicsolution.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 9/32

Page 22: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Linear programming

Consider a linear program in equational form, defined by ann ×m matrix A, with m = d + n:

maximize cT xs.t. Ax = b

x ≥ 0

A basis is a subset B ⊆ 1, . . . ,m of n linearly independentcolumns of A.

Every basis B defines a basic solution xB ∈ Rm, as the uniquesolution to:

Ax = b and ∀i 6∈ B : xi = 0

Every basic solution x ∈ Rm is defined by at least one basis. Ifx is defined by more than one basis, x is a degenerate basicsolution.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 9/32

Page 23: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Linear programming

A basic solution xB is feasible if xB ≥ 0.

For some basis B, the variables xi , for i ∈ B, are called basic,and the remaining variables are called non-basic.

If xB is a basic feasible solution, then the non-basic variablescorrespond to facets defining the vertex.

The operation of exchanging a single basic variable in B witha non-basic variable, producing a new basis B ′, is calledpivoting.

Geometrically, if xB and xB′ are different basic feasiblesolutions, pivoting corresponds to moving from xB to xB′ alongan edge of the polytope.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 10/32

Page 24: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Linear programming

A basic solution xB is feasible if xB ≥ 0.

For some basis B, the variables xi , for i ∈ B, are called basic,and the remaining variables are called non-basic.

If xB is a basic feasible solution, then the non-basic variablescorrespond to facets defining the vertex.

The operation of exchanging a single basic variable in B witha non-basic variable, producing a new basis B ′, is calledpivoting.

Geometrically, if xB and xB′ are different basic feasiblesolutions, pivoting corresponds to moving from xB to xB′ alongan edge of the polytope.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 10/32

Page 25: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Linear programming

A basic solution xB is feasible if xB ≥ 0.

For some basis B, the variables xi , for i ∈ B, are called basic,and the remaining variables are called non-basic.

If xB is a basic feasible solution, then the non-basic variablescorrespond to facets defining the vertex.

The operation of exchanging a single basic variable in B witha non-basic variable, producing a new basis B ′, is calledpivoting.

Geometrically, if xB and xB′ are different basic feasiblesolutions, pivoting corresponds to moving from xB to xB′ alongan edge of the polytope.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 10/32

Page 26: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Linear programming

A basic solution xB is feasible if xB ≥ 0.

For some basis B, the variables xi , for i ∈ B, are called basic,and the remaining variables are called non-basic.

If xB is a basic feasible solution, then the non-basic variablescorrespond to facets defining the vertex.

The operation of exchanging a single basic variable in B witha non-basic variable, producing a new basis B ′, is calledpivoting.

Geometrically, if xB and xB′ are different basic feasiblesolutions, pivoting corresponds to moving from xB to xB′ alongan edge of the polytope.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 10/32

Page 27: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Linear programming

A basic solution xB is feasible if xB ≥ 0.

For some basis B, the variables xi , for i ∈ B, are called basic,and the remaining variables are called non-basic.

If xB is a basic feasible solution, then the non-basic variablescorrespond to facets defining the vertex.

The operation of exchanging a single basic variable in B witha non-basic variable, producing a new basis B ′, is calledpivoting.

Geometrically, if xB and xB′ are different basic feasiblesolutions, pivoting corresponds to moving from xB to xB′ alongan edge of the polytope.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 10/32

Page 28: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

The simplex algorithm

The simplex algorithm, Dantzig (1947):

Start with some basis B corresponding to a basic feasiblesolution xB .

Repeatedly perform pivots leading to new bases B ′

corresponding to basic feasible solutions xB′ with bettervalues, cT xB′ ≥ cT xB .

Stop when no pivot can increase the value further.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 11/32

Page 29: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Example: The tableau method

max 2x1 − 2x2 − x3

s.t. 13x1 − 2

3x2 − 23x3 ≤ 1

x2 + x3 ≤ 2x3 ≤ 1

x1, x2, x3 ≥ 0

Transform a linear program in canonical form to equationalform by introducing slack variables.

Pick a basis, in this case 4, 5, 6, and express the basicvariables and the objective function in terms of non-basicvariables. This representation is called a tableau.

The corresponding basic solution and its value can be read bysetting the non-basic variables to zero.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 12/32

Page 30: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Example: The tableau method

max 2x1 − 2x2 − x3

s.t. 13x1 − 2

3x2 − 23x3 + x4 = 1

x2 + x3 + x5 = 2x3 + x6 = 1

x1, x2, x3, x4, x5, x6 ≥ 0

Transform a linear program in canonical form to equationalform by introducing slack variables.

Pick a basis, in this case 4, 5, 6, and express the basicvariables and the objective function in terms of non-basicvariables. This representation is called a tableau.

The corresponding basic solution and its value can be read bysetting the non-basic variables to zero.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 12/32

Page 31: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Example: The tableau method

max 2x1 − 2x2 − x3

s.t. x4 = 1− 13x1 + 2

3x2 + 23x3

x5 = 2− x2 − x3

x6 = 1− x3

x1, x2, x3, x4, x5, x6 ≥ 04, 5, 6

Transform a linear program in canonical form to equationalform by introducing slack variables.

Pick a basis, in this case 4, 5, 6, and express the basicvariables and the objective function in terms of non-basicvariables. This representation is called a tableau.

The corresponding basic solution and its value can be read bysetting the non-basic variables to zero.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 12/32

Page 32: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Example: The tableau method

max 2x1 − 2x2 − x3

s.t. x4 = 1− 13x1 + 2

3x2 + 23x3

x5 = 2− x2 − x3

x6 = 1− x3

x1, x2, x3, x4, x5, x6 ≥ 0

0

4, 5, 6

xT = (0, 0, 0, 1, 2, 1)

Transform a linear program in canonical form to equationalform by introducing slack variables.

Pick a basis, in this case 4, 5, 6, and express the basicvariables and the objective function in terms of non-basicvariables. This representation is called a tableau.

The corresponding basic solution and its value can be read bysetting the non-basic variables to zero.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 12/32

Page 33: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Example: The tableau method

max 2x1 − 2x2 − x3

s.t. x4 = 1− 13x1 + 2

3x2 + 23x3

x5 = 2− x2 − x3

x6 = 1− x3

x1, x2, x3, x4, x5, x6 ≥ 04, 5, 6

3, 4, 5

2, 4, 6

1, 5, 6

0

xT = (0, 0, 0, 1, 2, 1)

1

2

3

If the coefficient of a non-basic variable xi in the objectivefunction is positive, increasing xi will improve the value.

xi can be increased until another basic variable xj becomeszero, which completes the pivot. The basis is then updated byexchanging i and j . If no variable becomes zero the value isunbounded.

When all coefficients are negative, the solution is optimal.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 12/32

Page 34: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Example: The tableau method

max 2x1 − 2x2 − x3

s.t. x4 = 1− 13x1 + 2

3x2 + 23x3

x5 = 2− x2 − x3

x6 = 1− x3

x1, x2, x3, x4, x5, x6 ≥ 04, 5, 6

3, 4, 5

2, 4, 6

1, 5, 6

0

xT = (0, 0, 0, 1, 2, 1)

1

2

3

If the coefficient of a non-basic variable xi in the objectivefunction is positive, increasing xi will improve the value.

xi can be increased until another basic variable xj becomeszero, which completes the pivot. The basis is then updated byexchanging i and j . If no variable becomes zero the value isunbounded.

When all coefficients are negative, the solution is optimal.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 12/32

Page 35: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Example: The tableau method

max 6 + 2x2 + 3x3 − 6x4

s.t. x1 = 3 + 2x2 + 2x3 − 3x4

x5 = 2− x2 − x3

x6 = 1− x3

x1, x2, x3, x4, x5, x6 ≥ 04, 5, 6

1, 5, 6

1, 3, 5

1, 2, 6

0

6

xT = (3, 0, 0, 0, 2, 1)

4

2

3

If the coefficient of a non-basic variable xi in the objectivefunction is positive, increasing xi will improve the value.

xi can be increased until another basic variable xj becomeszero, which completes the pivot. The basis is then updated byexchanging i and j . If no variable becomes zero the value isunbounded.

When all coefficients are negative, the solution is optimal.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 12/32

Page 36: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Example: The tableau method

max 10 + x3 − 6x4 − 2x5

s.t. x1 = 7− 3x4 − 2x5

x2 = 2− x3 − x5

x6 = 1− x3

x1, x2, x3, x4, x5, x6 ≥ 0

2, 4, 6

1, 5, 6 1, 2, 6

1, 2, 3

0

610

xT = (7, 2, 0, 0, 0, 1)

4

5

3

If the coefficient of a non-basic variable xi in the objectivefunction is positive, increasing xi will improve the value.

xi can be increased until another basic variable xj becomeszero, which completes the pivot. The basis is then updated byexchanging i and j . If no variable becomes zero the value isunbounded.

When all coefficients are negative, the solution is optimal.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 12/32

Page 37: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Example: The tableau method

max 11− 6x4 − 2x5 − x6

s.t. x1 = 7− 3x4 − 2x5

x2 = 1− x5 + x6

x3 = 1− x6

x1, x2, x3, x4, x5, x6 ≥ 0

0

61011

2, 3, 4

1, 3, 5

1, 2, 6

1, 2, 3

xT = (7, 1, 1, 0, 0, 0)

4

5

6

If the coefficient of a non-basic variable xi in the objectivefunction is positive, increasing xi will improve the value.

xi can be increased until another basic variable xj becomeszero, which completes the pivot. The basis is then updated byexchanging i and j . If no variable becomes zero the value isunbounded.

When all coefficients are negative, the solution is optimal.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 12/32

Page 38: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

The tableau method, formally

Let B be a basis, and let A = [AB | AB ] and xT = [xTB | xTB ].I.e., AB is the matrix of basic columns and AB is the matrix ofnon-basic columns, and similar for x .

The tableau method rewrites the linear program:

max cT x

s.t. Ax = bx ≥ 0

max cTB A−1B b + cT x

s.t. xB = A−1B b − A−1

B ABxBx ≥ 0

where c ∈ Rm is the vector of reduced costs:

c = c − (A−1B A)T cB

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 13/32

Page 39: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Pivoting rules

Two choices must be made when pivoting:1 Which non-basic variable with positive coefficient enters the

basis?2 Which basic variable leaves the basis, in case of a tie?

These choices are specified by a pivoting rule.

LargestCoefficient, Dantzig (1947)

The non-basic variable with largest coefficient enters the basis.

LargestIncrease

The non-basic variable that gives the largest increase entersthe basis.

SteepestEdge

The non-basic variable whose pivot corresponds to the edgewith direction closest to c enters the basis.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 14/32

Page 40: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Pivoting rules

Two choices must be made when pivoting:1 Which non-basic variable with positive coefficient enters the

basis?2 Which basic variable leaves the basis, in case of a tie?

These choices are specified by a pivoting rule.

LargestCoefficient, Dantzig (1947)

The non-basic variable with largest coefficient enters the basis.

LargestIncrease

The non-basic variable that gives the largest increase entersthe basis.

SteepestEdge

The non-basic variable whose pivot corresponds to the edgewith direction closest to c enters the basis.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 14/32

Page 41: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Pivoting rules

Two choices must be made when pivoting:1 Which non-basic variable with positive coefficient enters the

basis?2 Which basic variable leaves the basis, in case of a tie?

These choices are specified by a pivoting rule.

LargestCoefficient, Dantzig (1947)

The non-basic variable with largest coefficient enters the basis.

LargestIncrease

The non-basic variable that gives the largest increase entersthe basis.

SteepestEdge

The non-basic variable whose pivot corresponds to the edgewith direction closest to c enters the basis.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 14/32

Page 42: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Pivoting rules

Two choices must be made when pivoting:1 Which non-basic variable with positive coefficient enters the

basis?2 Which basic variable leaves the basis, in case of a tie?

These choices are specified by a pivoting rule.

LargestCoefficient, Dantzig (1947)

The non-basic variable with largest coefficient enters the basis.

LargestIncrease

The non-basic variable that gives the largest increase entersthe basis.

SteepestEdge

The non-basic variable whose pivot corresponds to the edgewith direction closest to c enters the basis.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 14/32

Page 43: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Pivoting rules

If the current basic feasible solution is degenerate, it ispossible that the value does not increase when pivoting.

Such situations may lead to cycling. The following twopivoting rules do not cycle, however.

Bland’s rule, Bland (1977)

Always pick the available variable with the smallest index, bothfor entering and leaving the basis.

Lexicographic rule, Dantzig, Orden and Wolfe (1955)

Pick any variable xi with positive coefficient for entering thebasis.Pick xj for leaving the basis such that the right-hand-sidecoefficients in the tableau are lexicographically smallest whendivided by the coefficient of xi in that row.This corresponds to a small pertubation of the b vector.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 15/32

Page 44: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Pivoting rules

If the current basic feasible solution is degenerate, it ispossible that the value does not increase when pivoting.

Such situations may lead to cycling. The following twopivoting rules do not cycle, however.

Bland’s rule, Bland (1977)

Always pick the available variable with the smallest index, bothfor entering and leaving the basis.

Lexicographic rule, Dantzig, Orden and Wolfe (1955)

Pick any variable xi with positive coefficient for entering thebasis.Pick xj for leaving the basis such that the right-hand-sidecoefficients in the tableau are lexicographically smallest whendivided by the coefficient of xi in that row.This corresponds to a small pertubation of the b vector.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 15/32

Page 45: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Pivoting rules

If the current basic feasible solution is degenerate, it ispossible that the value does not increase when pivoting.

Such situations may lead to cycling. The following twopivoting rules do not cycle, however.

Bland’s rule, Bland (1977)

Always pick the available variable with the smallest index, bothfor entering and leaving the basis.

Lexicographic rule, Dantzig, Orden and Wolfe (1955)

Pick any variable xi with positive coefficient for entering thebasis.Pick xj for leaving the basis such that the right-hand-sidecoefficients in the tableau are lexicographically smallest whendivided by the coefficient of xi in that row.This corresponds to a small pertubation of the b vector.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 15/32

Page 46: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Pivoting rules

ShadowVertex

Let x0 be some initial basic feasible solution, and let c0 be avector for which cT0 x0 is optimal. Define:

max (1− λ)cT0 x + λcT xs.t. Ax = b

x ≥ 0

Maintain an optimal solution for λ going from 0 to 1.This corresponds to moving along edges of a 2-dimensionalprojection of the polytope (a “shadow”).Vertices and edges of the projection correspond to vertices andedges of the original polytope.Spielman and Teng (2004) gave a smoothed analysis of theShadowVertex pivoting rule, showing that it is polynomialunder certain pertubations of the linear program.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 16/32

Page 47: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Pivoting rules

ShadowVertex

Let x0 be some initial basic feasible solution, and let c0 be avector for which cT0 x0 is optimal. Define:

max (1− λ)cT0 x + λcT xs.t. Ax = b

x ≥ 0

Maintain an optimal solution for λ going from 0 to 1.

This corresponds to moving along edges of a 2-dimensionalprojection of the polytope (a “shadow”).Vertices and edges of the projection correspond to vertices andedges of the original polytope.Spielman and Teng (2004) gave a smoothed analysis of theShadowVertex pivoting rule, showing that it is polynomialunder certain pertubations of the linear program.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 16/32

Page 48: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Pivoting rules

ShadowVertex

Let x0 be some initial basic feasible solution, and let c0 be avector for which cT0 x0 is optimal. Define:

max (1− λ)cT0 x + λcT xs.t. Ax = b

x ≥ 0

Maintain an optimal solution for λ going from 0 to 1.This corresponds to moving along edges of a 2-dimensionalprojection of the polytope (a “shadow”).

Vertices and edges of the projection correspond to vertices andedges of the original polytope.Spielman and Teng (2004) gave a smoothed analysis of theShadowVertex pivoting rule, showing that it is polynomialunder certain pertubations of the linear program.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 16/32

Page 49: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Pivoting rules

ShadowVertex

Let x0 be some initial basic feasible solution, and let c0 be avector for which cT0 x0 is optimal. Define:

max (1− λ)cT0 x + λcT xs.t. Ax = b

x ≥ 0

Maintain an optimal solution for λ going from 0 to 1.This corresponds to moving along edges of a 2-dimensionalprojection of the polytope (a “shadow”).Vertices and edges of the projection correspond to vertices andedges of the original polytope.

Spielman and Teng (2004) gave a smoothed analysis of theShadowVertex pivoting rule, showing that it is polynomialunder certain pertubations of the linear program.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 16/32

Page 50: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Pivoting rules

ShadowVertex

Let x0 be some initial basic feasible solution, and let c0 be avector for which cT0 x0 is optimal. Define:

max (1− λ)cT0 x + λcT xs.t. Ax = b

x ≥ 0

Maintain an optimal solution for λ going from 0 to 1.This corresponds to moving along edges of a 2-dimensionalprojection of the polytope (a “shadow”).Vertices and edges of the projection correspond to vertices andedges of the original polytope.Spielman and Teng (2004) gave a smoothed analysis of theShadowVertex pivoting rule, showing that it is polynomialunder certain pertubations of the linear program.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 16/32

Page 51: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Lower bounds

All the previous pivoting rules are known to require exponentiallymany steps in the worst case:

LargestCoefficient: Klee and Minty (1972), theKlee-Minty cube1.

LargestIncrease: Jeroslow (1973).

SteepestEdge: Goldfarb and Sit (1979).

Bland’s rule: Avis and Chvatal (1978).

ShadowVertex: Murty (1980),Goldfarb (1983).

Amenta and Ziegler (1996) gave aunified view of all these lower bounds.

1Picture from Gartner, Henk and Ziegler (1998)Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 17/32

Page 52: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

More pivoting rules

RandomEdge

Let a uniformly random non-basic variable with positivecoefficient enter the basis.

RandomFacet, Kalai (1992) and Matousek, Sharir andWelzl (1992)

Pick a uniformly random facet that contains the current vertex,and recursively find an optimal solution within that facet. Ifpossible, make an improving pivot leaving the facet and repeat.

This randomized pivoting rule finds an optimal solution in an

expected subexponential, 2O(√

(n−d) log n), number of steps.

Randomized Bland’s rule

Reorder the indices of the variables according to a randompermutation and use Bland’s rule.

LeastEntered, Zadeh (1980)

Pick the non-basic variable that has previously entered thebasis the fewest number of times.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 18/32

Page 53: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

More pivoting rules

RandomEdge

Let a uniformly random non-basic variable with positivecoefficient enter the basis.

RandomFacet, Kalai (1992) and Matousek, Sharir andWelzl (1992)

Pick a uniformly random facet that contains the current vertex,and recursively find an optimal solution within that facet. Ifpossible, make an improving pivot leaving the facet and repeat.

This randomized pivoting rule finds an optimal solution in an

expected subexponential, 2O(√

(n−d) log n), number of steps.

Randomized Bland’s rule

Reorder the indices of the variables according to a randompermutation and use Bland’s rule.

LeastEntered, Zadeh (1980)

Pick the non-basic variable that has previously entered thebasis the fewest number of times.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 18/32

Page 54: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

More pivoting rules

RandomEdge

Let a uniformly random non-basic variable with positivecoefficient enter the basis.

RandomFacet, Kalai (1992) and Matousek, Sharir andWelzl (1992)

Pick a uniformly random facet that contains the current vertex,and recursively find an optimal solution within that facet. Ifpossible, make an improving pivot leaving the facet and repeat.This randomized pivoting rule finds an optimal solution in an

expected subexponential, 2O(√

(n−d) log n), number of steps.

Randomized Bland’s rule

Reorder the indices of the variables according to a randompermutation and use Bland’s rule.

LeastEntered, Zadeh (1980)

Pick the non-basic variable that has previously entered thebasis the fewest number of times.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 18/32

Page 55: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

More pivoting rules

RandomEdge

Let a uniformly random non-basic variable with positivecoefficient enter the basis.

RandomFacet, Kalai (1992) and Matousek, Sharir andWelzl (1992)

Pick a uniformly random facet that contains the current vertex,and recursively find an optimal solution within that facet. Ifpossible, make an improving pivot leaving the facet and repeat.This randomized pivoting rule finds an optimal solution in an

expected subexponential, 2O(√

(n−d) log n), number of steps.

Randomized Bland’s rule

Reorder the indices of the variables according to a randompermutation and use Bland’s rule.

LeastEntered, Zadeh (1980)

Pick the non-basic variable that has previously entered thebasis the fewest number of times.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 18/32

Page 56: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

More pivoting rules

RandomEdge

Let a uniformly random non-basic variable with positivecoefficient enter the basis.

RandomFacet, Kalai (1992) and Matousek, Sharir andWelzl (1992)

Pick a uniformly random facet that contains the current vertex,and recursively find an optimal solution within that facet. Ifpossible, make an improving pivot leaving the facet and repeat.This randomized pivoting rule finds an optimal solution in an

expected subexponential, 2O(√

(n−d) log n), number of steps.

Randomized Bland’s rule

Reorder the indices of the variables according to a randompermutation and use Bland’s rule.

LeastEntered, Zadeh (1980)

Pick the non-basic variable that has previously entered thebasis the fewest number of times.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 18/32

Page 57: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

New lower bounds

Friedmann, Hansen and Zwick (2011) proved lower bounds ofsubexponential form (2Ω(dα), for α < 1) for the worst-caseexpected number of steps of the pivoting rules:

RandomEdgeRandomFacetRandomized Bland’s rule

Friedmann (2011) proved a subexponential lower bound forthe worst-case number of steps required for theLeastEntered pivoting rule.

These lower bounds are based on a tight connection betweenMarkov decision processes and linear programs.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 19/32

Page 58: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Solving linear programs

Linear programs can be solved in polynomial time:

Khachiyan (1979): The ellipsoid methodKarmarkar (1984): The interior point methodBest complexity results - Renegar (1988), Gonzaga (1989),Roos and Vial (1990): O(n3L) arithmetic operations, where Lis the bit complexity. Based on the interior point method.

Let T (d , n) and TR(d , n) be the maximum (expected)number of arithmetic operations required for deterministic andrandomized algorithms, respectively, for solving any linearprogram in d-space with n constraints.

The best bound for TR(d , n) is subexponential in d . Nosubexponential bound is known for T (d , n).

Finding a (strongly) polynomial bound for T (d , n) andTR(d , n) is a major open problem in linear programming.

A polynomially bounded pivoting rule that performs each stepin polynomial time would give such a bound.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 20/32

Page 59: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Solving linear programs

Linear programs can be solved in polynomial time:

Khachiyan (1979): The ellipsoid methodKarmarkar (1984): The interior point methodBest complexity results - Renegar (1988), Gonzaga (1989),Roos and Vial (1990): O(n3L) arithmetic operations, where Lis the bit complexity. Based on the interior point method.

Let T (d , n) and TR(d , n) be the maximum (expected)number of arithmetic operations required for deterministic andrandomized algorithms, respectively, for solving any linearprogram in d-space with n constraints.

The best bound for TR(d , n) is subexponential in d . Nosubexponential bound is known for T (d , n).

Finding a (strongly) polynomial bound for T (d , n) andTR(d , n) is a major open problem in linear programming.

A polynomially bounded pivoting rule that performs each stepin polynomial time would give such a bound.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 20/32

Page 60: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Solving linear programs

Linear programs can be solved in polynomial time:

Khachiyan (1979): The ellipsoid methodKarmarkar (1984): The interior point methodBest complexity results - Renegar (1988), Gonzaga (1989),Roos and Vial (1990): O(n3L) arithmetic operations, where Lis the bit complexity. Based on the interior point method.

Let T (d , n) and TR(d , n) be the maximum (expected)number of arithmetic operations required for deterministic andrandomized algorithms, respectively, for solving any linearprogram in d-space with n constraints.

The best bound for TR(d , n) is subexponential in d . Nosubexponential bound is known for T (d , n).

Finding a (strongly) polynomial bound for T (d , n) andTR(d , n) is a major open problem in linear programming.

A polynomially bounded pivoting rule that performs each stepin polynomial time would give such a bound.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 20/32

Page 61: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Solving linear programs

Linear programs can be solved in polynomial time:

Khachiyan (1979): The ellipsoid methodKarmarkar (1984): The interior point methodBest complexity results - Renegar (1988), Gonzaga (1989),Roos and Vial (1990): O(n3L) arithmetic operations, where Lis the bit complexity. Based on the interior point method.

Let T (d , n) and TR(d , n) be the maximum (expected)number of arithmetic operations required for deterministic andrandomized algorithms, respectively, for solving any linearprogram in d-space with n constraints.

The best bound for TR(d , n) is subexponential in d . Nosubexponential bound is known for T (d , n).

Finding a (strongly) polynomial bound for T (d , n) andTR(d , n) is a major open problem in linear programming.

A polynomially bounded pivoting rule that performs each stepin polynomial time would give such a bound.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 20/32

Page 62: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Solving linear programs

Linear programs can be solved in polynomial time:

Khachiyan (1979): The ellipsoid methodKarmarkar (1984): The interior point methodBest complexity results - Renegar (1988), Gonzaga (1989),Roos and Vial (1990): O(n3L) arithmetic operations, where Lis the bit complexity. Based on the interior point method.

Let T (d , n) and TR(d , n) be the maximum (expected)number of arithmetic operations required for deterministic andrandomized algorithms, respectively, for solving any linearprogram in d-space with n constraints.

The best bound for TR(d , n) is subexponential in d . Nosubexponential bound is known for T (d , n).

Finding a (strongly) polynomial bound for T (d , n) andTR(d , n) is a major open problem in linear programming.

A polynomially bounded pivoting rule that performs each stepin polynomial time would give such a bound.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 20/32

Page 63: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

The RandomFacet pivoting rule

RandomFacet, Kalai (1992):1 Pick a uniformly random facet f that contains the current

basic feasible solution x .2 Recursively find the optimal solution x ′ within the picked facet

f .3 If possible, make an improving pivot from x ′, leaving the facet

f , and repeat from (1). Otherwise return x ′.

A dual variant of the RandomFacet pivoting rule wasdiscovered independently by Matousek, Sharir and Welzl(1992).

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 21/32

Page 64: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

The RandomFacet pivoting rule

RandomFacet, Kalai (1992):1 Pick a uniformly random facet f that contains the current

basic feasible solution x .2 Recursively find the optimal solution x ′ within the picked facet

f .3 If possible, make an improving pivot from x ′, leaving the facet

f , and repeat from (1). Otherwise return x ′.

A dual variant of the RandomFacet pivoting rule wasdiscovered independently by Matousek, Sharir and Welzl(1992).

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 21/32

Page 65: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

The RandomFacet pivoting rule

x

P

f1

f2

f3

Pick a uniformly random facet fi that contains the currentbasic feasible solution x .

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 22/32

Page 66: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

The RandomFacet pivoting rule

x

P

f1

f2

f3

Pick a uniformly random facet fi that contains the currentbasic feasible solution x .

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 22/32

Page 67: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

The RandomFacet pivoting rule

x

P

f1

f2

f3

x′

Recursively find the optimal solution x ′ within the pickedfacet fi .

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 22/32

Page 68: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

The RandomFacet pivoting rule

x

P

f1

f2

f3

x′

x′′

If possible, make an improving pivot from x ′, leaving the facetfi , and repeat from the beginning. Otherwise return x ′.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 22/32

Page 69: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

The RandomFacet pivoting rule

x

P

f1

f2

f3

x′

x′′

Note that if the facets f1, . . . , fd containing x are orderedaccording to their optimal value, then from x ′′ we never visitf1, . . . , fi again.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 22/32

Page 70: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

The RandomFacet pivoting rule

The number of pivoting steps for a linear program with dvariables and n constraints, including non-negativityconstraints, is at most:

f (d , n) ≤ f (d − 1, n − 1) + 1 +1

d

d∑i=1

f (d , n − i)

with f (d , n) = 0 for n ≤ d .

Solving the corresponding recurrence gives:

f (d , n) ≤ 2O(√

(n−d) log n)

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 23/32

Page 71: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

The RandomFacet pivoting rule

The number of pivoting steps for a linear program with dvariables and n constraints, including non-negativityconstraints, is at most:

f (d , n) ≤ f (d − 1, n − 1) + 1 +1

d

d∑i=1

f (d , n − i)

with f (d , n) = 0 for n ≤ d .

Solving the corresponding recurrence gives:

f (d , n) ≤ 2O(√

(n−d) log n)

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 23/32

Page 72: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

The RandomFacet pivoting rule

The RandomFacet pivoting rule can also be applied to thedual LP, which has n − d free variables and n inequalityconstraints. It follows that:

TR(d , n) = min

2O(√

(n−d) log n), 2O(√d log n)

Clarkson (1988) showed that:

TR(d , n) = O(d2n + d4√n log n + TR(d , 9d2)d2 log n)

By combining Clarkson’s algorithm and the RandomFacetalgorithm applied to the dual we get:

TR(d , n) = O(d2n + 2O(√d log d))

This is the best known bound for TR(d , n). I.e., the bestbound independent of the bit complexity.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 24/32

Page 73: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

The RandomFacet pivoting rule

The RandomFacet pivoting rule can also be applied to thedual LP, which has n − d free variables and n inequalityconstraints. It follows that:

TR(d , n) = min

2O(√

(n−d) log n), 2O(√d log n)

Clarkson (1988) showed that:

TR(d , n) = O(d2n + d4√n log n + TR(d , 9d2)d2 log n)

By combining Clarkson’s algorithm and the RandomFacetalgorithm applied to the dual we get:

TR(d , n) = O(d2n + 2O(√d log d))

This is the best known bound for TR(d , n). I.e., the bestbound independent of the bit complexity.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 24/32

Page 74: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

The RandomFacet pivoting rule

The RandomFacet pivoting rule can also be applied to thedual LP, which has n − d free variables and n inequalityconstraints. It follows that:

TR(d , n) = min

2O(√

(n−d) log n), 2O(√d log n)

Clarkson (1988) showed that:

TR(d , n) = O(d2n + d4√n log n + TR(d , 9d2)d2 log n)

By combining Clarkson’s algorithm and the RandomFacetalgorithm applied to the dual we get:

TR(d , n) = O(d2n + 2O(√d log d))

This is the best known bound for TR(d , n). I.e., the bestbound independent of the bit complexity.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 24/32

Page 75: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

The RandomFacet pivoting rule

The RandomFacet pivoting rule can also be applied to thedual LP, which has n − d free variables and n inequalityconstraints. It follows that:

TR(d , n) = min

2O(√

(n−d) log n), 2O(√d log n)

Clarkson (1988) showed that:

TR(d , n) = O(d2n + d4√n log n + TR(d , 9d2)d2 log n)

By combining Clarkson’s algorithm and the RandomFacetalgorithm applied to the dual we get:

TR(d , n) = O(d2n + 2O(√d log d))

This is the best known bound for TR(d , n). I.e., the bestbound independent of the bit complexity.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 24/32

Page 76: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

RandomFacet: Non-recursive version

The recursion of the RandomFacet pivoting rule can beunrolled, and the algorithm can be equivalently stated as:

1 Start with a random permutation x1, . . . , xd of the non-basicvariables.

2 Let xi be the first variable with positive coefficient accordingto the permutation. Make a pivot exchanging xi with someother variable x in the basis.

3 Replace xi by x in the list of non-basic variables and randomlypermute the first i variables. Repeat from (2).

The procedure resembles the Randomized Bland’s rule,but the expected number of steps is different.

Open problem: Is there a subexponential upper bound onthe expected number of pivoting steps performed by theRandomized Bland’s rule?

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 25/32

Page 77: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

RandomFacet: Non-recursive version

The recursion of the RandomFacet pivoting rule can beunrolled, and the algorithm can be equivalently stated as:

1 Start with a random permutation x1, . . . , xd of the non-basicvariables.

2 Let xi be the first variable with positive coefficient accordingto the permutation. Make a pivot exchanging xi with someother variable x in the basis.

3 Replace xi by x in the list of non-basic variables and randomlypermute the first i variables. Repeat from (2).

The procedure resembles the Randomized Bland’s rule,but the expected number of steps is different.

Open problem: Is there a subexponential upper bound onthe expected number of pivoting steps performed by theRandomized Bland’s rule?

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 25/32

Page 78: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

RandomFacet: Non-recursive version

The recursion of the RandomFacet pivoting rule can beunrolled, and the algorithm can be equivalently stated as:

1 Start with a random permutation x1, . . . , xd of the non-basicvariables.

2 Let xi be the first variable with positive coefficient accordingto the permutation. Make a pivot exchanging xi with someother variable x in the basis.

3 Replace xi by x in the list of non-basic variables and randomlypermute the first i variables. Repeat from (2).

The procedure resembles the Randomized Bland’s rule,but the expected number of steps is different.

Open problem: Is there a subexponential upper bound onthe expected number of pivoting steps performed by theRandomized Bland’s rule?

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 25/32

Page 79: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Duality

(P)

maximize cT xs.t. Ax = b

x ≥ 0

(D)minimize bT ys.t. AT y ≥ c

Basic feasible solutions give immediate lower bounds on theoptimal value z∗. Is there a simple way to get upper bounds?

The optimal solution must satisfy any linear combinationy ∈ Rn of the equality constraints.

If we can construct a linear combination of the equalityconstraints yT (Ax) = yTb, for y ∈ Rn, such thatcT x ≤ yT (Ax), then yT (Ax) = yTb is an upper bound on z∗.

The problem of finding the best such upper bound can beformulated as a dual linear program (D). The original linearprogram (P) is referred to as primal.

By the strong duality theorem, (P) and (D) have the samevalue, assuming that (P) is feasible and has a maximal value.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 26/32

Page 80: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Duality

(P)

maximize cT xs.t. Ax = b

x ≥ 0

(D)minimize bT ys.t. AT y ≥ c

Basic feasible solutions give immediate lower bounds on theoptimal value z∗. Is there a simple way to get upper bounds?

The optimal solution must satisfy any linear combinationy ∈ Rn of the equality constraints.

If we can construct a linear combination of the equalityconstraints yT (Ax) = yTb, for y ∈ Rn, such thatcT x ≤ yT (Ax), then yT (Ax) = yTb is an upper bound on z∗.

The problem of finding the best such upper bound can beformulated as a dual linear program (D). The original linearprogram (P) is referred to as primal.

By the strong duality theorem, (P) and (D) have the samevalue, assuming that (P) is feasible and has a maximal value.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 26/32

Page 81: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Duality

(P)

maximize cT xs.t. Ax = b

x ≥ 0

(D)minimize bT ys.t. AT y ≥ c

Basic feasible solutions give immediate lower bounds on theoptimal value z∗. Is there a simple way to get upper bounds?

The optimal solution must satisfy any linear combinationy ∈ Rn of the equality constraints.

If we can construct a linear combination of the equalityconstraints yT (Ax) = yTb, for y ∈ Rn, such thatcT x ≤ yT (Ax), then yT (Ax) = yTb is an upper bound on z∗.

The problem of finding the best such upper bound can beformulated as a dual linear program (D). The original linearprogram (P) is referred to as primal.

By the strong duality theorem, (P) and (D) have the samevalue, assuming that (P) is feasible and has a maximal value.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 26/32

Page 82: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Duality

(P)maximize cT xs.t. Ax = b

x ≥ 0

(D)minimize bT ys.t. AT y ≥ c

Basic feasible solutions give immediate lower bounds on theoptimal value z∗. Is there a simple way to get upper bounds?

The optimal solution must satisfy any linear combinationy ∈ Rn of the equality constraints.

If we can construct a linear combination of the equalityconstraints yT (Ax) = yTb, for y ∈ Rn, such thatcT x ≤ yT (Ax), then yT (Ax) = yTb is an upper bound on z∗.

The problem of finding the best such upper bound can beformulated as a dual linear program (D). The original linearprogram (P) is referred to as primal.

By the strong duality theorem, (P) and (D) have the samevalue, assuming that (P) is feasible and has a maximal value.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 26/32

Page 83: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Duality

(P)maximize cT xs.t. Ax = b

x ≥ 0

(D)minimize bT ys.t. AT y ≥ c

Basic feasible solutions give immediate lower bounds on theoptimal value z∗. Is there a simple way to get upper bounds?

The optimal solution must satisfy any linear combinationy ∈ Rn of the equality constraints.

If we can construct a linear combination of the equalityconstraints yT (Ax) = yTb, for y ∈ Rn, such thatcT x ≤ yT (Ax), then yT (Ax) = yTb is an upper bound on z∗.

The problem of finding the best such upper bound can beformulated as a dual linear program (D). The original linearprogram (P) is referred to as primal.

By the strong duality theorem, (P) and (D) have the samevalue, assuming that (P) is feasible and has a maximal value.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 26/32

Page 84: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

RandomFacet: Dual view

max cT xs.t.

(P ) A x = b

x ≥ 0

min bT ys.t.

(D) AT y ≥ c

Consider a primal linear program (P) and its dual (D).

Recall that the non-basic variables for some basis Bcorrespond to facets that contain the basic feasible solutionxB .

Staying within a facet fi means that the variable xi staysnon-basic.

I.e., xi is fixed to 0, which is like removing the i ’th column ofA, or for the dual like removing the i ’th constraint.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 27/32

Page 85: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

RandomFacet: Dual view

B

max cT xs.t.

(P ) A x = b

x ≥ 0

B

min bT ys.t.

(D) AT y ≥ c

Consider a primal linear program (P) and its dual (D).

Recall that the non-basic variables for some basis Bcorrespond to facets that contain the basic feasible solutionxB .

Staying within a facet fi means that the variable xi staysnon-basic.

I.e., xi is fixed to 0, which is like removing the i ’th column ofA, or for the dual like removing the i ’th constraint.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 27/32

Page 86: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

RandomFacet: Dual view

B i

max cT xs.t.

(P ) A x = b

x ≥ 0

B

i

min bT ys.t.

(D) AT y ≥ c

Consider a primal linear program (P) and its dual (D).

Recall that the non-basic variables for some basis Bcorrespond to facets that contain the basic feasible solutionxB .

Staying within a facet fi means that the variable xi staysnon-basic.

I.e., xi is fixed to 0, which is like removing the i ’th column ofA, or for the dual like removing the i ’th constraint.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 27/32

Page 87: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

RandomFacet: Dual view

B i

max cT xs.t.

(P ) A x = b

x ≥ 0

B

i

min bT ys.t.

(D) AT y ≥ c

Consider a primal linear program (P) and its dual (D).

Recall that the non-basic variables for some basis Bcorrespond to facets that contain the basic feasible solutionxB .

Staying within a facet fi means that the variable xi staysnon-basic.

I.e., xi is fixed to 0, which is like removing the i ’th column ofA, or for the dual like removing the i ’th constraint.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 27/32

Page 88: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

RandomFacet: Dual view

Let H be the set of constraints (halfspaces) of the dual.

Every subset of constraints G ⊆ H defines a linear program.

Let zG be the optimal value of the linear program defined byG .

If zG is finite, then the corresponding primal LP has the sameoptimal solution.

A basis for the dual refers to n linearly independentconstraints. I.e., a basic solution.

A basis B ⊆ G ⊆ H is optimal for G if zB = zG .

A constraint h is violated by B if zB < zB∪h.

If h is violated by a basis B, then zB is not optimal for thecorresponding primal LP, and adding h to the basis must be animproving pivot.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 28/32

Page 89: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

RandomFacet: Dual view

Let H be the set of constraints (halfspaces) of the dual.

Every subset of constraints G ⊆ H defines a linear program.

Let zG be the optimal value of the linear program defined byG .

If zG is finite, then the corresponding primal LP has the sameoptimal solution.

A basis for the dual refers to n linearly independentconstraints. I.e., a basic solution.

A basis B ⊆ G ⊆ H is optimal for G if zB = zG .

A constraint h is violated by B if zB < zB∪h.

If h is violated by a basis B, then zB is not optimal for thecorresponding primal LP, and adding h to the basis must be animproving pivot.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 28/32

Page 90: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

RandomFacet: Dual view

Let H be the set of constraints (halfspaces) of the dual.

Every subset of constraints G ⊆ H defines a linear program.

Let zG be the optimal value of the linear program defined byG .

If zG is finite, then the corresponding primal LP has the sameoptimal solution.

A basis for the dual refers to n linearly independentconstraints. I.e., a basic solution.

A basis B ⊆ G ⊆ H is optimal for G if zB = zG .

A constraint h is violated by B if zB < zB∪h.

If h is violated by a basis B, then zB is not optimal for thecorresponding primal LP, and adding h to the basis must be animproving pivot.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 28/32

Page 91: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

RandomFacet: Dual view

Let H be the set of constraints (halfspaces) of the dual.

Every subset of constraints G ⊆ H defines a linear program.

Let zG be the optimal value of the linear program defined byG .

If zG is finite, then the corresponding primal LP has the sameoptimal solution.

A basis for the dual refers to n linearly independentconstraints. I.e., a basic solution.

A basis B ⊆ G ⊆ H is optimal for G if zB = zG .

A constraint h is violated by B if zB < zB∪h.

If h is violated by a basis B, then zB is not optimal for thecorresponding primal LP, and adding h to the basis must be animproving pivot.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 28/32

Page 92: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

RandomFacet: Dual view

Let H be the set of constraints (halfspaces) of the dual.

Every subset of constraints G ⊆ H defines a linear program.

Let zG be the optimal value of the linear program defined byG .

If zG is finite, then the corresponding primal LP has the sameoptimal solution.

A basis for the dual refers to n linearly independentconstraints. I.e., a basic solution.

A basis B ⊆ G ⊆ H is optimal for G if zB = zG .

A constraint h is violated by B if zB < zB∪h.

If h is violated by a basis B, then zB is not optimal for thecorresponding primal LP, and adding h to the basis must be animproving pivot.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 28/32

Page 93: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

RandomFacet: Dual view

Let H be the set of constraints (halfspaces) of the dual.

Every subset of constraints G ⊆ H defines a linear program.

Let zG be the optimal value of the linear program defined byG .

If zG is finite, then the corresponding primal LP has the sameoptimal solution.

A basis for the dual refers to n linearly independentconstraints. I.e., a basic solution.

A basis B ⊆ G ⊆ H is optimal for G if zB = zG .

A constraint h is violated by B if zB < zB∪h.

If h is violated by a basis B, then zB is not optimal for thecorresponding primal LP, and adding h to the basis must be animproving pivot.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 28/32

Page 94: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

RandomFacet: Dual view

The dual RandomFacet algorithm starts with a basis Bsuch that zB > −∞.

Any basic feasible solution of the primal LP gives such a basis,but the algorithm works even if the corresponding basicsolution in the primal is not feasible.

RandomFacet, dual view, Matousek, Sharir and Welzl(1992):

1 Remove a uniformly random constraint h ∈ H that is not inthe current basis B.

2 Recursively find an optimal basis B ′ for H \ h.3 If B ′ violates h repeat from the beginning, starting with the

optimal basis B ′′ for B ′ ∪ h. Otherwise return B ′.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 29/32

Page 95: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

RandomFacet: Dual view

The dual RandomFacet algorithm starts with a basis Bsuch that zB > −∞.

Any basic feasible solution of the primal LP gives such a basis,but the algorithm works even if the corresponding basicsolution in the primal is not feasible.

RandomFacet, dual view, Matousek, Sharir and Welzl(1992):

1 Remove a uniformly random constraint h ∈ H that is not inthe current basis B.

2 Recursively find an optimal basis B ′ for H \ h.3 If B ′ violates h repeat from the beginning, starting with the

optimal basis B ′′ for B ′ ∪ h. Otherwise return B ′.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 29/32

Page 96: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

RandomFacet: Dual view

The dual RandomFacet algorithm starts with a basis Bsuch that zB > −∞.

Any basic feasible solution of the primal LP gives such a basis,but the algorithm works even if the corresponding basicsolution in the primal is not feasible.

RandomFacet, dual view, Matousek, Sharir and Welzl(1992):

1 Remove a uniformly random constraint h ∈ H that is not inthe current basis B.

2 Recursively find an optimal basis B ′ for H \ h.3 If B ′ violates h repeat from the beginning, starting with the

optimal basis B ′′ for B ′ ∪ h. Otherwise return B ′.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 29/32

Page 97: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Repeating the analysis

Order constraints h ∈ H \ B such that:

zH\h1 ≤ zH\h2 ≤ . . . ≤ zH\hi ≤ . . . ≤ zH\hm−n

If zB′′ > zH\hi, then after reaching B ′′ the constraintsh1, . . . , hi must remain in the basis until termination.

This corresponds to the facets never being visited again.

The number of steps is bounded by:

fD(k,m) = fD(k ,m − 1) + 1 +1

m − n

m−n∑i=1

fD(k − i ,m)

where k is the number of unfixed constraints (the “hiddendimension”), and fD(m, k) = 0 for m ≤ k or k ≤ 0.

Again, fD(k,m) ≤ 2O(√k log m).

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 30/32

Page 98: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Repeating the analysis

Order constraints h ∈ H \ B such that:

zH\h1 ≤ zH\h2 ≤ . . . ≤ zH\hi ≤ . . . ≤ zH\hm−n

If zB′′ > zH\hi, then after reaching B ′′ the constraintsh1, . . . , hi must remain in the basis until termination.

This corresponds to the facets never being visited again.

The number of steps is bounded by:

fD(k,m) = fD(k ,m − 1) + 1 +1

m − n

m−n∑i=1

fD(k − i ,m)

where k is the number of unfixed constraints (the “hiddendimension”), and fD(m, k) = 0 for m ≤ k or k ≤ 0.

Again, fD(k,m) ≤ 2O(√k log m).

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 30/32

Page 99: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Repeating the analysis

Order constraints h ∈ H \ B such that:

zH\h1 ≤ zH\h2 ≤ . . . ≤ zH\hi ≤ . . . ≤ zH\hm−n

If zB′′ > zH\hi, then after reaching B ′′ the constraintsh1, . . . , hi must remain in the basis until termination.

This corresponds to the facets never being visited again.

The number of steps is bounded by:

fD(k,m) = fD(k ,m − 1) + 1 +1

m − n

m−n∑i=1

fD(k − i ,m)

where k is the number of unfixed constraints (the “hiddendimension”), and fD(m, k) = 0 for m ≤ k or k ≤ 0.

Again, fD(k,m) ≤ 2O(√k log m).

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 30/32

Page 100: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Repeating the analysis

Order constraints h ∈ H \ B such that:

zH\h1 ≤ zH\h2 ≤ . . . ≤ zH\hi ≤ . . . ≤ zH\hm−n

If zB′′ > zH\hi, then after reaching B ′′ the constraintsh1, . . . , hi must remain in the basis until termination.

This corresponds to the facets never being visited again.

The number of steps is bounded by:

fD(k,m) = fD(k ,m − 1) + 1 +1

m − n

m−n∑i=1

fD(k − i ,m)

where k is the number of unfixed constraints (the “hiddendimension”), and fD(m, k) = 0 for m ≤ k or k ≤ 0.

Again, fD(k,m) ≤ 2O(√k log m).

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 30/32

Page 101: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

LP-type problems

An LP-type problem, (H, ω), is defined as follows:

H = 1, . . . ,m is a finite set.

ω : 2H →W is a function that maps subsets of H to a linearlyordered set (W,≤) with minimal value −∞, such that:

1 Monotonicity: For all F ⊆ G ⊆ H, ω(F ) ≤ ω(G ).2 Locality: For all F ⊆ G ⊆ H with −∞ < ω(F ) = ω(G ), and

any h ∈ H:

ω(G ) < ω(G ∪ h) ⇒ ω(F ) < ω(F ∪ h)

B ⊆ H is an optimal basis if ω(B) = ω(H), and for everyproper subset B ′ ( B, ω(B ′) < ω(B).

Goal: Find an optimal basis for H.

The dual RandomFacet algorithm can be applied to anyLP-type problem.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 31/32

Page 102: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

LP-type problems

An LP-type problem, (H, ω), is defined as follows:

H = 1, . . . ,m is a finite set.

ω : 2H →W is a function that maps subsets of H to a linearlyordered set (W,≤) with minimal value −∞, such that:

1 Monotonicity: For all F ⊆ G ⊆ H, ω(F ) ≤ ω(G ).2 Locality: For all F ⊆ G ⊆ H with −∞ < ω(F ) = ω(G ), and

any h ∈ H:

ω(G ) < ω(G ∪ h) ⇒ ω(F ) < ω(F ∪ h)

B ⊆ H is an optimal basis if ω(B) = ω(H), and for everyproper subset B ′ ( B, ω(B ′) < ω(B).

Goal: Find an optimal basis for H.

The dual RandomFacet algorithm can be applied to anyLP-type problem.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 31/32

Page 103: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

LP-type problems

An LP-type problem, (H, ω), is defined as follows:

H = 1, . . . ,m is a finite set.

ω : 2H →W is a function that maps subsets of H to a linearlyordered set (W,≤) with minimal value −∞, such that:

1 Monotonicity: For all F ⊆ G ⊆ H, ω(F ) ≤ ω(G ).2 Locality: For all F ⊆ G ⊆ H with −∞ < ω(F ) = ω(G ), and

any h ∈ H:

ω(G ) < ω(G ∪ h) ⇒ ω(F ) < ω(F ∪ h)

B ⊆ H is an optimal basis if ω(B) = ω(H), and for everyproper subset B ′ ( B, ω(B ′) < ω(B).

Goal: Find an optimal basis for H.

The dual RandomFacet algorithm can be applied to anyLP-type problem.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 31/32

Page 104: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

LP-type problems

An LP-type problem, (H, ω), is defined as follows:

H = 1, . . . ,m is a finite set.

ω : 2H →W is a function that maps subsets of H to a linearlyordered set (W,≤) with minimal value −∞, such that:

1 Monotonicity: For all F ⊆ G ⊆ H, ω(F ) ≤ ω(G ).2 Locality: For all F ⊆ G ⊆ H with −∞ < ω(F ) = ω(G ), and

any h ∈ H:

ω(G ) < ω(G ∪ h) ⇒ ω(F ) < ω(F ∪ h)

B ⊆ H is an optimal basis if ω(B) = ω(H), and for everyproper subset B ′ ( B, ω(B ′) < ω(B).

Goal: Find an optimal basis for H.

The dual RandomFacet algorithm can be applied to anyLP-type problem.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 31/32

Page 105: The simplex algorithm and the Hirsch conjecture: Lecture 1€¦ · Lecture 1 Thomas Dueholm Hansen MADALGO & CTIC Summer School August 8, 2011 Thomas Dueholm Hansen - Lecture 1 MADALGO

Overview

Lecture 1:Introduction to linear programming and the simplex algorithm.Pivoting rules.The RandomFacet pivoting rule.

Lecture 2:The Hirsch conjecture.Introduction to Markov decision processes (MDPs).Upper bound for the LargestCoefficient pivoting rule forMDPs.

Lecture 3:Lower bounds for pivoting rules utilizing MDPs. Example:Bland’s rule.Lower bound for the RandomEdge pivoting rule.Abstractions and related problems.

Thomas Dueholm Hansen - Lecture 1 MADALGO & CTIC Summer School Page 32/32