integer programming as projectionpublic.tepper.cmu.edu/jnh/ipprojectioninforms2015.pdfinteger...

54
Integer Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie Mellon University INFORMS 2015, Philadelphia USA

Upload: others

Post on 05-Mar-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Integer Programming as Projection

H. P. Williams

London School of Economics

John Hooker

Carnegie Mellon University

INFORMS 2015, Philadelphia USA

Page 2: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

A Different Perspective on IP

2

• Projection of an IP onto a subset of variables

is not an IP.

– It is an IP plus congruence relations.

Page 3: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

A Different Perspective on IP

3

• Projection of an IP onto a subset of variables

is not an IP.

– It is an IP plus congruence relations.

• So let’s view an IP as inequalities + congruence

relations.

– Then projection of an IP is an IP.

Page 4: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

A Different Perspective on IP

4

• This perspective leads to an alternative theory of

IP that parallels the traditional theory.

– Cutting planes.

– Branching.

– Duality.

Page 5: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

5

Traditional Theory Theory Based on Projection

Chvatál-Gomory cuts

Linear combination + rounding

Unbounded rank

Congruence cuts

Linear combination + congruences

Rank bounded by number of variables

A Different Perspective on IP

Page 6: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

6

Traditional Theory Theory Based on Projection

Chvatál-Gomory cuts

Linear combination + rounding

Unbounded rank

Congruence cuts

Linear combination + congruences

Rank bounded by number of variables

Branching on integer variables

Unbounded depth

Branching on auxiliary variables

Depth bounded by number of

variables

A Different Perspective on IP

Page 7: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

7

Traditional Theory Theory Based on Projection

Chvatál-Gomory cuts

Linear combination + rounding

Unbounded rank

Congruence cuts

Linear combination + congruences

Rank bounded by number of variables

Branching on integer variables

Unbounded depth

Branching on auxiliary variables

Depth bounded by number of

variables

IP dual based on a Gomory

function

Nested rounding to integer

Unbounded nesting depth

IP dual based on min over Gomory

functions

Nested rounding to multiple of integer

Nesting depth bounded by number of

variables.

A Different Perspective on IP

Page 8: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

IP Example

8

Optimal integer solution

Page 9: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

IP Example

9

To project out x1, pair inequalities

as in Fourier-Motzkin elimination.

For example, pair C1 and C2:

Page 10: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

IP Example

10

To project out x1, pair inequalities

as in Fourier-Motzkin elimination.

For example, pair C1 and C2:

Add auxiliary variable u1 to increase LHS to multiple of 2:

Page 11: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

IP Example

11

To project out x1, pair inequalities

as in Fourier-Motzkin elimination.

For example, pair C1 and C2:

Add auxiliary variable u1 to increase LHS to multiple of 2:

A congruence relation forces LHS to a multiple of 2:

Page 12: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

IP Example

12

We now have the system

which simplifies to

Page 13: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

IP Example

13

After pairing C1 and C3 as well, we get the

projected system:

This is an IP in the more general sense.

Page 14: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

14

The projection defines disjunction of 2 inequality

systems on 2 integer sublattices

(i.e., disjunction of scenarios)

u1 = 0

solution is (9,9)

optimal

u1 = 1

solution is (10,10)

Page 15: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

IP Example

15

To project out x2, we again pair inequalities. For example,

if we pair C0 and C13, we get

with new auxiliary variable u13.

Page 16: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

IP Example

16

To project out x2, we again pair inequalities. For example,

if we pair C0 and C13, we get

with new auxiliary variable u13.

Since x2 1 (mod 2), we have 3x2 3 (mod 6) and can write

Page 17: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

IP Example

17

To project out x2, we again pair inequalities. For example,

if we pair C0 and C13, we get

with new auxiliary variable u13.

Since x2 1 (mod 2), we have 3x2 3 (mod 6) and can write

If x2 occurs in more than 1 congruence, we use a generalized

Chinese remainder theorem to combine congruences.

Page 18: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

IP Example

18

After pairing C0 and C12, we get the projected system

We now have only z and 2 auxiliary variables with a finite domain.

Page 19: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

IP Example

19

After pairing C0 and C12, we get the projected system

We now have only z and 2 auxiliary variables with a finite domain.

The solutions (u1,u2) = (0,4), (1,0) of the congruence define

2 scenarios.

The optimization problem is trivial in each scenario: z = 9 and

z = 10. The better solution z = 9 is the optimal value.

Recovery of the optimal solution (x1,x2) = (2,9) is straightforward.

Page 20: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Congruence Cuts

20

Recursive generation of

Chvátal-Gomory cuts suffices

to solve any IP.

Page 21: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Congruence Cuts

21

Recursive generation of

Chvátal-Gomory cuts suffices

to solve any IP.

To obtain a C-G cut, take a

linear combination of

constraints and strengthen the

result by rounding.

Page 22: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Congruence Cuts

22

Recursive generation of

Chvátal-Gomory cuts suffices

to solve any IP.

To obtain a C-G cut, take a

linear combination of

constraints and strengthen the

result by rounding.

However, there is no bound on

the Chvátal rank as a function

of the number of variables.

Page 23: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Congruence Cuts

23

Recursive generation of

Chvátal-Gomory cuts suffices

to solve any IP.

To obtain a C-G cut, take a

linear combination of

constraints and strengthen the

result by rounding.

However, there is no bound on

the Chvátal rank as a function

of the number of variables.

Recursive generation of

congruence cuts suffices to

solve for the optimal value.

Page 24: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Congruence Cuts

24

Recursive generation of

Chvátal-Gomory cuts suffices

to solve any IP.

To obtain a C-G cut, take a

linear combination of

constraints and strengthen the

result by rounding.

However, there is no bound on

the Chvátal rank as a function

of the number of variables.

Recursive generation of

congruence cuts suffices to

solve for the optimal value.

To obtain a congruence cut,

take a linear combination of

constraints and strengthen

the result with a congruence

relation.

Page 25: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Congruence Cuts

25

Recursive generation of

Chvátal-Gomory cuts suffices

to solve any IP.

To obtain a C-G cut, take a

linear combination of

constraints and strengthen the

result by rounding.

However, there is no bound on

the Chvátal rank as a function

of the number of variables.

Recursive generation of

congruence cuts suffices to

solve for the optimal value.

To obtain a congruence cut,

take a linear combination of

constraints and strengthen

the result with a congruence

relation.

The rank is bounded by the

number of variables.

Page 26: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Congruence Cut

26

The linear combination is

Take linear combination of C1 and C3

using (say) multipliers 1 and 1 and

the congruence x1 0 (mod 1).

First add an auxiliary variable to C1:

Page 27: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Congruence Cut

27

The linear combination is

Take linear combination of C1 and C3

using (say) multipliers 1 and 1 and

the congruence x1 0 (mod 1).

First add an auxiliary variable to C1:

Now strengthen it with the congruence relation

where the mod 2 is based on the coefficient of x1.

Page 28: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Congruence Cuts

28

In general, congruence cuts are defined:

Given a set S of inequalities and set C of congruence relations,

a rank 1 congruence cut is the result of:

• Selecting any inequality in S and

congruence relation in C

• Taking any nonnegative linear combination of

and another inequality in S.

The resulting cut is associated with congruence relation

Page 29: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Congruence Cuts

29

How to find the cuts that solve a problem?

The necessary C-G cuts are obtained by taking multipliers from

Gomory’s cutting plane method.

The necessary congruence cuts are obtained by taking

multipliers from projection operations that eliminate all the

variables.

Page 30: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Congruence Cuts

30

Multipliers from the projection

operations result in congruence

cuts:

Page 31: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Congruence Cuts

31

Multipliers from the projection

operations result in congruence

cuts:

The congruences define 2 integer sublattices: (u1, u13) = (1,0), (0,4).

Page 32: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Congruence Cuts

32

Multipliers from the projection

operations result in congruence

cuts:

The congruences define 2 integer sublattices: (u1, u13) = (1,0), (0,4).

Solving this LP in each sublattice yields the optimal IP solution in

that sublattice. The inequalities “cut off” suboptimal values of z.

Page 33: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Congruence Cuts

33

Multipliers from the projection

operations result in congruence

cuts:

However, these inequalities may not cut off all fractional solutions

(x1,x2) if the LP is dual degenerate.

Page 34: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Congruence Cuts

34

Multipliers from the projection

operations result in congruence

cuts:

For example, the LP in sublattice (u1,u13) = (0,4) has optimal

solutions (x1,x2,z) = (2, 9, 9), (2.4, 9, 9). The latter cannot be cut off

by congruence cuts alone.

Page 35: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Congruence Cuts

35

Multipliers from the projection

operations result in congruence

cuts:

However, the integer solution (x1,x2,z) = (2,9,9) can be recovered by

retracing the projection steps.

Page 36: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

A New Branching Strategy

36

At each node of the branching tree, solve LP relaxation.

Project out a variable xj that violates its congruence relation

(even if it is integer).

Branch on values of new auxiliary variables that solve the

congruence relations.

The problems at nodes of the branching tree therefore contain

no auxiliary variables.

Page 37: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Branching Example

37

Page 38: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Branching Example

38

Project out x1u1 = 0 u! = 1

Page 39: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Branching Example

39

Project out x2Project out x2

Solution z = 9 Solution z = 10

(u12,u13) = (0,4) (u12,u13) = (0,0)

Project out x1u1 = 0 u! = 1

Page 40: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Branching

40

The depth of the tree is bounded by the number of variables.

Can also use LP values for branch-and-bound.

Page 41: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

IP Duality

41

We can solve an IP dual by constructing a value function that

yields the optimal value for all perturbations in RHS.

Page 42: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

IP Duality

42

Traditional value function is a

Gomory function.

The function is obtained from

Gomory’s cutting plane

method.

It contains nested roundings

to integers.

There is no bound on the

nesting depth.

Page 43: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

IP Duality

43

Traditional value function is a

Gomory function.

The function is obtained from

Gomory’s cutting plane

method.

It contains nested roundings

to integers.

There is no bound on the

nesting depth.

Proposed value function is

a minimum over Gomory

functions.

The function is obtained from

projection operations in

integer sublattices.

It contains nested roundings

to multiple of an integer.

Nesting depth is bounded

by number of variables.

Page 44: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Value Function

44

First pair perturbed constraints C1 and C2:

Add this to LHS rather than simply the auxiliary variable u1,

where is rounded up to nearest multiple of m.

Page 45: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Add this to LHS rather than simply the auxiliary variable u1,

where is rounded up to nearest multiple of m.

Example of Value Function

45

First pair perturbed constraints C1 and C2:

This yields

Page 46: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Value Function

46

After projecting out x1 and x2, we get

Note that the congruence relation doesn’t depend on perturbations!

Page 47: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Value Function

47

After projecting out x1 and x2, we get

Now we have the value function

where (u1,u13) ranges over the solutions of the congruence

relation, namely (1,0) and (0,4)

Note that the congruence relation doesn’t depend on perturbations!

Page 48: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Value Function

48

These are Chvátal functions (with special kind of rounding).

The depth of nested rounding is bounded by number of

variables.

Page 49: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Value Function

49

This is a Gomory function (max over Chvátal functions).

The traditional value function is a Gomory function, but with

unbounded nesting depth.

Page 50: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Value Function

50

This is the value function based on projection.

A min over Gomory functions with bounded nesting depth.

Page 51: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Value Function

51

The value functions v(i) are shift periodic for sufficiently large i

All the Gomory functions in the min have the same periodicity.

So it is unnecessary to solve the congruence relations to determine

the periodicity.

Page 52: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Value Function

52

Value function v(1)

0

10

20

30

40

50

60

-10 -5 0 5 10

1

Page 53: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Value Function

53

Value function v(2)

0

5

10

15

20

25

30

-10 -8 -6 -4 -2 0 2 4 6 8 10

2

Page 54: Integer Programming as Projectionpublic.tepper.cmu.edu/jnh/IPprojectionINFORMS2015.pdfInteger Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie

Example of Value Function

54

Value function v(3)

0

5

10

15

20

-10 -8 -6 -4 -2 0 2 4 6 8 10

3