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

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

Mar 26, 2015

Download

Documents

Lucas Pereira
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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).