51
Thoughts About Integer Programming University of Montreal, January 26, 2007

Thoughts About Integer Programming University of Montreal, January 26, 2007

Embed Size (px)

Citation preview

Page 1: Thoughts About Integer Programming University of Montreal, January 26, 2007

Thoughts About Integer Programming

University of Montreal, January 26, 2007

Page 2: Thoughts About Integer Programming University of Montreal, January 26, 2007

Integer Programming

Max c xAx=b

Some or All x Integer

Page 3: Thoughts About Integer Programming University of Montreal, January 26, 2007

Why Does Integer Prrogramming Matter?

• Navy Task Force

• Patterns in Stock Cutting

• Economies of Scale in Industries

• Trade Theory – Conflicting National Interests

Page 4: Thoughts About Integer Programming University of Montreal, January 26, 2007

CUTS

WASTE

Roll of Paper at Mill

Page 5: Thoughts About Integer Programming University of Montreal, January 26, 2007

The Effect of the Number of Industries (8)

Eight Industries 8pnew

0 .2 .4 .6 .8 1

1 1

Z 1

U 1U 2

Z C

Page 6: Thoughts About Integer Programming University of Montreal, January 26, 2007

The Effect of the Number of Industries (3)

Three Industries 3pnew

0 .2 .4 .6 .8 1

1 1

Z 1

U 1U 2

Z C

Page 7: Thoughts About Integer Programming University of Montreal, January 26, 2007

The Effect of the Number of Industries (2)

Two Industries 2ptest

0 .2 .4 .6 .8 1

1 1

Z 1

U 1U 2

Z C

Page 8: Thoughts About Integer Programming University of Montreal, January 26, 2007

How Do You Solve I.P’s?

• Branch and Bound, Cutting Planes

Page 9: Thoughts About Integer Programming University of Montreal, January 26, 2007

V

L.P.,I.P.and Corner Polyhedron

Page 10: Thoughts About Integer Programming University of Montreal, January 26, 2007

I.P. and Corner Polyhedron

• Integer Programs – Complex, no obvious structure

• Corner Polyhedra – Highly Structured

• We use Corner Polyhedra to generate cutting planes

Page 11: Thoughts About Integer Programming University of Montreal, January 26, 2007

1

1 1

1

Equa

Equations for Corner Polyhedr

tions for Integer Program

(Mod 1

ming

)

on

Bx Nt b

x B Nt B b

B Nt B b

Equations

Page 12: Thoughts About Integer Programming University of Montreal, January 26, 2007

T-Space

2 4 6 8 10t1

1

2

3

4

5

6

t2

Page 13: Thoughts About Integer Programming University of Montreal, January 26, 2007

1 1

-1

Equations for Corner Polyhedr

(Mod 1)

Add and Subtract Columns of

This forms group G

B N

on

B Nt B b

Corner Polyhedra and Groups

Page 14: Thoughts About Integer Programming University of Montreal, January 26, 2007

Structure of Corner Polyhedra I

Page 15: Thoughts About Integer Programming University of Montreal, January 26, 2007

Structure of Corner Polyhedra II

Page 16: Thoughts About Integer Programming University of Montreal, January 26, 2007

Shooting Theorem:

Page 17: Thoughts About Integer Programming University of Montreal, January 26, 2007

Concentration of HitsEllis Johnson and Lisa Evans

Page 18: Thoughts About Integer Programming University of Montreal, January 26, 2007

Cutting Planes From Corner Polyhedra

2 4 6 8 10t1

1

2

3

4

5

6

t2

Page 19: Thoughts About Integer Programming University of Montreal, January 26, 2007
Page 20: Thoughts About Integer Programming University of Montreal, January 26, 2007

1

1 1

1

Equa

Equations for Corner Polyhedr

tions for Integer Program

(Mod 1

ming

)

on

Bx Nt b

x B Nt B b

B Nt B b

Why Does this Work?

Page 21: Thoughts About Integer Programming University of Montreal, January 26, 2007

Equations 2

1 1

0i

0i

(Mod 1)

(Mod1). ake fractional parts

(Mod1

Select a single row of

Any t of the Corner Polyhedron must satisfy

this relatio

)

n

T

i i

i i

B Nt B b

c t c

f t f

Page 22: Thoughts About Integer Programming University of Montreal, January 26, 2007

Why π(x) Produces the Equality

• It is subadditive: π(x) + π(y) π(x+y)

• It has π(x) =1 at the goal point x=f0

0i

0i

Since any t of the Corner Polyhedron must satisfy

(Mod1), we have

( ) ( ) 1

i i

i i

f t f

f t f

Page 23: Thoughts About Integer Programming University of Montreal, January 26, 2007

Cutting Planes are PlentifulHierarchy: Valid, Minimal, Facet

2 4 6 8 10t1

1

2

3

4

5

6

t2

Page 24: Thoughts About Integer Programming University of Montreal, January 26, 2007

Hierarchy

Subadditive π(u1)+ π(u2) π(u1+u2)

Minimal π(u1)+π(u0-u1 ) = 1 (Normalization π(u0) =1)

Facet π(u1)+π(u2) = π(u1+u2)if whenever π (u1)+π (u2) = π (u1+u2)implies π(u1)=π(u1)

Page 25: Thoughts About Integer Programming University of Montreal, January 26, 2007

Example: Two Facets

0.2 0.4 0.6 0.8 1

0.2

0.4

0.6

0.8

1

Page 26: Thoughts About Integer Programming University of Montreal, January 26, 2007

0.2 0.4 0.6 0.8 1

0.2

0.4

0.6

0.8

1

Low is Good - High is Bad

Page 27: Thoughts About Integer Programming University of Montreal, January 26, 2007

Example 3

0.2 0.4 0.6 0.8 1

0.2

0.4

0.6

0.8

1

Page 28: Thoughts About Integer Programming University of Montreal, January 26, 2007

Gomory-Johnson Theorem

If (x) has only two slopes and satisfies

the minimality condition (x)+ (1-x)=1

then it is a facet.

Page 29: Thoughts About Integer Programming University of Montreal, January 26, 2007

3-Slope Example

0.2 0.4 0.6 0.8 1

0.2

0.4

0.6

0.8

1

Page 30: Thoughts About Integer Programming University of Montreal, January 26, 2007

Continuous Variables t

Page 31: Thoughts About Integer Programming University of Montreal, January 26, 2007
Page 32: Thoughts About Integer Programming University of Montreal, January 26, 2007

Origin of Continuous Variables Procedure

0 0i

i

i

If for some t then ( / )( )

For large apply ; the result is (( / )) ( ) 1

( ) ) 1

( ) 0 ( ) 0.

i i i i i ii

i i i i i

i i

i i

c t c c k k t c

k c k k t

s c t

where s c s c for x and s x s x for x

Page 33: Thoughts About Integer Programming University of Montreal, January 26, 2007

Integer versus Continuous

• Integer Variables Case More Developed

• But all of the more developed cutting planes are weaker than the Gomory Mixed Integer Cut with respect to continuous variables

Page 34: Thoughts About Integer Programming University of Montreal, January 26, 2007

Comparing

0.2 0.4 0.6 0.8 1

0.2

0.4

0.6

0.8

1

Page 35: Thoughts About Integer Programming University of Montreal, January 26, 2007

The Continuous Problem and A Theorem

1 1

Pure Continuous Problem: All t continuous

T - Space looks different - Lines and Sheets as well as dots

:The Gomory Mixed Integer Cut is the only

(Mod 1)

Theore m(?)

cut that is a facet for both

B Nt B b

the pure integer and the

pure continuous one dimensional problems.

Page 36: Thoughts About Integer Programming University of Montreal, January 26, 2007

Cuts Provide Two Different Functions on the Real Line

-2 -1.5 -1 -0.5 0.5 1 1.5 2

0.5

1

1.5

2

2.5

3

Page 37: Thoughts About Integer Programming University of Montreal, January 26, 2007

Start with Continuous Case

-2 -1.5 -1 -0.5 0.5 1 1.5 2

0.5

1

1.5

2

2.5

3

Page 38: Thoughts About Integer Programming University of Montreal, January 26, 2007

Direction

• Create continuous facets

• Turn them into facets for the integer problem

Page 39: Thoughts About Integer Programming University of Montreal, January 26, 2007

Helpful Theorem

Theorem(?) If is a facet of the continous problem, then (kv)=k (v).

This will enable us to create 2-dimensional facets for the continuous problem.

Page 40: Thoughts About Integer Programming University of Montreal, January 26, 2007

Creating 2D facets

-1.5 -1 -0.5 0.5 1 1.5 2

-1.5

-1

-0.5

0.5

1

1.5

Page 41: Thoughts About Integer Programming University of Montreal, January 26, 2007

The triopoly figure

0 1 2

-0.5

0

0.5

00.250.50.751

-0.5

0

0.5

Page 42: Thoughts About Integer Programming University of Montreal, January 26, 2007

This corresponds to

-2 -1.5 -1 -0.5 0.5 1 1.5 2

0.5

1

1.5

2

2.5

3

Page 43: Thoughts About Integer Programming University of Montreal, January 26, 2007

The related periodic figure

-1

0

1

2

XXX

-1

0

1

2

YYY

00.250.50.751ZZZ

-1

0

1

2

YYY

00.250.50.751ZZZ

Page 44: Thoughts About Integer Programming University of Montreal, January 26, 2007

This Corresponds To

-2 -1.5 -1 -0.5 0.5 1 1.5 2

0.5

1

1.5

2

2.5

3

Page 45: Thoughts About Integer Programming University of Montreal, January 26, 2007

Results for a Very Small Problem

Page 46: Thoughts About Integer Programming University of Montreal, January 26, 2007

Gomory Mixed Integer Cuts

1 2 3 4t1

1

2

3

4

t2

Page 47: Thoughts About Integer Programming University of Montreal, January 26, 2007

2D Cuts Added

1 2 3 4t1

1

2

3

4

t2

Page 48: Thoughts About Integer Programming University of Montreal, January 26, 2007

Summary

• Corner Polyhedra are very structured

• There is much to learn about them

• It seems likely that that structure can can be exploited to produce better computations

Page 49: Thoughts About Integer Programming University of Montreal, January 26, 2007

Challenges

• Generalize cuts from 2D to n dimensions

• Work with families of cutting planes (like stock cutting)

• Introduce data fuzziness to exploit large facets and ignore small ones

• Clarify issues about functions that are not piecewise linear.

Page 50: Thoughts About Integer Programming University of Montreal, January 26, 2007

END

Page 51: Thoughts About Integer Programming University of Montreal, January 26, 2007

References• “Some Polyhedra Related to Combinatorial Problems,”

Journal of Linear Algebra and Its Applications, Vol. 2, No. 4, October 1969, pp.451-558

• “Some Continuous Functions Related to Corner Polyhedra, Part I” with Ellis L. Johnson, Mathematical Programming, Vol. 3, No. 1, North-Holland, August, 1972, pp. 23-85.

• “Some Continuous Functions Related to Corner Polyhedra, Part II” with Ellis L. Johnson, Mathematical Programming, Vol. 3, No. 3, North-Holland, December 1972, pp. 359-389.

• “T-space and Cutting Planes” Paper, with Ellis L. Johnson, Mathematical Programming, Ser. B 96: Springer-Verlag, pp 341-375 (2003).