Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid...

27
Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences RPI, Troy, NY 12180 USA February 2015, 2019 Mitchell Valid Inequalities 1 / 20

Transcript of Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid...

Page 1: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Valid Inequalities for Integer Programs

John E. Mitchell

Department of Mathematical SciencesRPI, Troy, NY 12180 USA

February 2015, 2019

Mitchell Valid Inequalities 1 / 20

Page 2: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Polarity

Outline

1 Polarity

2 Comparing Inequalities for Polyhedra

3 Chvatal-Gomory Rounding Procedure

Mitchell Valid Inequalities 2 / 20

Page 3: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Polarity

Polar coneDefinitionThe cone

Π := {(π, π0) ∈ Rn+1 : πT x − π0 ≤ 0 for all x ∈ Q}

is the polar of the polyhedron Q = {x ∈ Rn+ : Ax ≤ b}.

Proposition

Let {xk}k∈K and {r j}j∈J be the extreme points and rays of Q. Then Πis the polyhedral cone defined by

πT xk − π0 ≤ 0 ∀k ∈ KπT r j ≤ 0 ∀j ∈ J.

Follows sinceQ = {x =

∑K λkxk +

∑J µj r j : λ ≥ 0, µ ≥ 0,

∑K λk = 1}.

Mitchell Valid Inequalities 3 / 20

Page 4: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Polarity

Polar coneDefinitionThe cone

Π := {(π, π0) ∈ Rn+1 : πT x − π0 ≤ 0 for all x ∈ Q}

is the polar of the polyhedron Q = {x ∈ Rn+ : Ax ≤ b}.

Proposition

Let {xk}k∈K and {r j}j∈J be the extreme points and rays of Q. Then Πis the polyhedral cone defined by

πT xk − π0 ≤ 0 ∀k ∈ KπT r j ≤ 0 ∀j ∈ J.

Follows sinceQ = {x =

∑K λkxk +

∑J µj r j : λ ≥ 0, µ ≥ 0,

∑K λk = 1}.

Mitchell Valid Inequalities 3 / 20

Page 5: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Polarity

The polar of Q and facets of Q

PropositionIf dim(Q) = n and π̄ 6= 0 then (π̄, π̄0) is an extreme ray of Π if and onlyif π̄T x ≤ π̄0 defines a facet of Q.

Recall:

DefinitionThe cone

Π := {(π, π0) ∈ Rn+1 : πT x − π0 ≤ 0 for all x ∈ Q}

is the polar of the polyhedron Q = {x ∈ Rn+ : Ax ≤ b}.

Mitchell Valid Inequalities 4 / 20

Page 6: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Polarity

The polar of Q and facets of Q

PropositionIf dim(Q) = n and π̄ 6= 0 then (π̄, π̄0) is an extreme ray of Π if and onlyif π̄T x ≤ π̄0 defines a facet of Q.

Recall:

DefinitionThe cone

Π := {(π, π0) ∈ Rn+1 : πT x − π0 ≤ 0 for all x ∈ Q}

is the polar of the polyhedron Q = {x ∈ Rn+ : Ax ≤ b}.

Mitchell Valid Inequalities 4 / 20

Page 7: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Comparing Inequalities for Polyhedra

Outline

1 Polarity

2 Comparing Inequalities for Polyhedra

3 Chvatal-Gomory Rounding Procedure

Mitchell Valid Inequalities 5 / 20

Page 8: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Comparing Inequalities for Polyhedra

Comparing inequalities

Assume we have two valid inequalities for x ∈ Q, namely

πT x ≤ π0 (1)γT x ≤ γ0. (2)

DefinitionThe inequalities are equivalent if (γ, γ0) = µ(π, π0) for some µ > 0.

Mitchell Valid Inequalities 6 / 20

Page 9: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Comparing Inequalities for Polyhedra

Maximal valid inequality

DefinitionIf the inequalities are not equivalent and if there exists µ > 0 such thatγ ≥ µπ and γ0 ≤ µπ0 then

{x ∈ Rn+ : γT x ≤ γ0} ⊆ {x ∈ Rn

+ : πT x ≤ π0}

and (2) dominates or is stronger than (1). A maximal valid inequality isone that is not dominated by any other.

Proposition

Let πT x ≤ π0 be a valid inequality for Q = {x ∈ Rn+ : Ax ≤ b}. If

Q 6= ∅ then πT x ≤ π0 is either equivalent to or dominated by aninequality of the form uT Ax ≤ uT b for some u ∈ Rm

+.

These are nonnegative combinations of the constraints Ax ≤ b.

Mitchell Valid Inequalities 7 / 20

Page 10: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Comparing Inequalities for Polyhedra

Maximal valid inequality

DefinitionIf the inequalities are not equivalent and if there exists µ > 0 such thatγ ≥ µπ and γ0 ≤ µπ0 then

{x ∈ Rn+ : γT x ≤ γ0} ⊆ {x ∈ Rn

+ : πT x ≤ π0}

and (2) dominates or is stronger than (1). A maximal valid inequality isone that is not dominated by any other.

Proposition

Let πT x ≤ π0 be a valid inequality for Q = {x ∈ Rn+ : Ax ≤ b}. If

Q 6= ∅ then πT x ≤ π0 is either equivalent to or dominated by aninequality of the form uT Ax ≤ uT b for some u ∈ Rm

+.

These are nonnegative combinations of the constraints Ax ≤ b.

Mitchell Valid Inequalities 7 / 20

Page 11: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Comparing Inequalities for Polyhedra

ExampleS = {x ∈ Z2

+ : −x1 + 2x2 ≤ 4, 5x1 + x2 ≤ 20, −2x1 − 2x2 ≤ −7}

x1

x2

0 2 4

2

4

Mitchell Valid Inequalities 8 / 20

Page 12: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Comparing Inequalities for Polyhedra

ExampleS = {x ∈ Z2

+ : −x1 + 2x2 ≤ 4, 5x1 + x2 ≤ 20, −2x1 − 2x2 ≤ −7}

x1

x2

0 2 4

2

4Extreme points of S:(

22

),

(23

),

(33

),

(40

)

Mitchell Valid Inequalities 8 / 20

Page 13: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Comparing Inequalities for Polyhedra

Polar for the example

x1

x2

0 2 4

2

4Extreme points of S:(

22

),

(23

),

(33

),

(40

)

(π, π0) satisfy:2π1 + 2π2 − π0 ≤ 02π1 + 3π2 − π0 ≤ 03π1 + 3π2 − π0 ≤ 04π1 − π0 ≤ 0

Mitchell Valid Inequalities 9 / 20

Page 14: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Comparing Inequalities for Polyhedra

Extreme rays of polar cone

Facets of conv(S) give extreme rays of polar cone.

Polar cone satisfies

2π1 + 2π2 − π0 ≤ 02π1 + 3π2 − π0 ≤ 03π1 + 3π2 − π0 ≤ 04π1 − π0 ≤ 0

Facet: x2 ≤ 3. Corresponds to π1 = 0, π2 = 1, π0 = 3.Facet: 3x1 + x2 ≤ 12. Corresponds to π1 = 3, π2 = 1, π0 = 12.Facet: x1 + x2 ≥ 4. Corresponds to π1 = −1, π2 = −1, π0 = −4.Facet: x1 ≥ 2. Corresponds to π1 = −1, π2 = 0, π0 = −2.

Each extreme ray satisfies two of the polar constraints at equality.

Mitchell Valid Inequalities 10 / 20

Page 15: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Comparing Inequalities for Polyhedra

Comparing valid inequalities for conv(S)The inequalities 3x1 + 4x2 ≤ 24 and x1 + x2 ≤ 6 are both validfor conv(S).

x1

x2

0 2 4

2

4

x1 +

x2 =

6

3x1 +4x2 =

24

x1 + x2 ≤ 6 dominates 3x1 + 4x2 ≤ 24:for x ≥ 0, if x1 + x2 ≤ 6 then 3x1 + 4x2 ≤ 24.

Mitchell Valid Inequalities 11 / 20

Page 16: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Comparing Inequalities for Polyhedra

Dominating inequalities

x1 + x2 ≤ 6 dominates 3x1 + 4x2 ≤ 24:for x ≥ 0, if x1 + x2 ≤ 6 then 3x1 + 4x2 ≤ 24.

How can we see this algebraically?

x1 + x2 ≤ 6 is equivalent to 4x1 + 4x2 ≤ 24.

Then the coefficients on the left hand side are at least as largeas the coefficients on the left for 3x1 + 4x2 ≤ 24,and the right hand side is no larger.

So it is harder to satisfy the constraint x1 + x2 ≤ 6.

Mitchell Valid Inequalities 12 / 20

Page 17: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Comparing Inequalities for Polyhedra

Getting constraints for conv(S) from QTake linear combinations of the constraints of Q.

Take 411(−x1 + 2x2 ≤ 4) + 3

11(5x1 + x2 ≤ 20):

Get valid constraint for Q:x1 + x2 ≤ 76

11 = 61011 .

Exploit integrality to round down RHS, get valid constraint forconv(S):

x1 + x2 ≤ 6

Take 12(−2x112x2 ≤ −7):

Get valid constraint for Q:−x1 − x2 ≤ −3.5.Exploit integrality to round down RHS, get valid constraint forconv(S):

−x1 − x2 ≤ 4

Mitchell Valid Inequalities 13 / 20

Page 18: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Comparing Inequalities for Polyhedra

Getting constraints for conv(S) from QTake linear combinations of the constraints of Q.

Take 411(−x1 + 2x2 ≤ 4) + 3

11(5x1 + x2 ≤ 20):

Get valid constraint for Q:x1 + x2 ≤ 76

11 = 61011 .

Exploit integrality to round down RHS, get valid constraint forconv(S):

x1 + x2 ≤ 6

Take 12(−2x112x2 ≤ −7):

Get valid constraint for Q:−x1 − x2 ≤ −3.5.Exploit integrality to round down RHS, get valid constraint forconv(S):

−x1 − x2 ≤ 4

Mitchell Valid Inequalities 13 / 20

Page 19: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Comparing Inequalities for Polyhedra

The two valid inequalities for conv(S)

x1

x2

0 2 4

2

4 x1 +

x2 =

4

x1 +

x2 =

6

One of the inequalities gives a facet of conv(S), the other does not.

Mitchell Valid Inequalities 14 / 20

Page 20: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Chvatal-Gomory Rounding Procedure

Outline

1 Polarity

2 Comparing Inequalities for Polyhedra

3 Chvatal-Gomory Rounding Procedure

Mitchell Valid Inequalities 15 / 20

Page 21: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Chvatal-Gomory Rounding Procedure

Chvatal-Gomory Rounding Procedure

Let P = {x ∈ Rn+ : Ax ≤ b} and S = P ∩ Zn. Assume A is m × n.

Denote the entries of A by aij . The Chvatal-Gomory roundingprocedure generates valid linear inequalities for S from valid linearinequalities for P as follows:

1 Choose multipliers u ∈ Rm+ and construct the following inequality

that is valid for P:uT Ax ≤ uT b,

or equivalently

n∑j=1

(m∑

i=1

uiaij

)xj ≤

m∑i=1

uibi . (3)

Mitchell Valid Inequalities 16 / 20

Page 22: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Chvatal-Gomory Rounding Procedure

Step 2

2 Round down the left hand side, giving an inequality that is stillvalid for P, since it is weaker than the original inequality (3):

n∑j=1

⌊m∑

i=1

uiaij

⌋xj ≤

m∑i=1

uibi .

Mitchell Valid Inequalities 17 / 20

Page 23: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Chvatal-Gomory Rounding Procedure

Step 3

3 Round down the right hand side, giving an inequality that isvalid for S, since the left hand side must take an integral value:

n∑j=1

⌊m∑

i=1

uiaij

⌋xj ≤

⌊m∑

i=1

uibi

⌋.

Mitchell Valid Inequalities 18 / 20

Page 24: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Chvatal-Gomory Rounding Procedure

All valid inequalities are CG

Theorem

Every valid linear inequality for S can be obtained through a finitenumber of applications of the Chvatal-Gomory rounding procedure.

It may take many rounds of application of the procedure to produce aparticular inequality. The number of rounds is called the Chvatal rank,which is defined in an inductive manner.

Mitchell Valid Inequalities 19 / 20

Page 25: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Chvatal-Gomory Rounding Procedure

Chvatal rank

DefinitionA valid linear inequality πT x ≤ π0 for S has Chvatal rank 0 if it isequivalent to or dominated by a nonnegative linear combination of theinequalities defining P. It has Chvatal rank k if

it is not equivalent to or dominated by any nonnegative linearcombination of valid inequalities for S, each of which has Chvatalrank at most k − 1, andit can be obtained by one application of the Chvatal-Gomoryrounding procedure applied to a collection of valid inequalitiesfor S, each of which has Chvatal rank no larger than k − 1.

Theorem 1 is equivalent to the statement that every valid linearinequality for S has finite Chvatal rank.

Mitchell Valid Inequalities 20 / 20

Page 26: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Chvatal-Gomory Rounding Procedure

Chvatal rank

DefinitionA valid linear inequality πT x ≤ π0 for S has Chvatal rank 0 if it isequivalent to or dominated by a nonnegative linear combination of theinequalities defining P. It has Chvatal rank k if

it is not equivalent to or dominated by any nonnegative linearcombination of valid inequalities for S, each of which has Chvatalrank at most k − 1, andit can be obtained by one application of the Chvatal-Gomoryrounding procedure applied to a collection of valid inequalitiesfor S, each of which has Chvatal rank no larger than k − 1.

Theorem 1 is equivalent to the statement that every valid linearinequality for S has finite Chvatal rank.

Mitchell Valid Inequalities 20 / 20

Page 27: Valid Inequalities for Integer Programseaton.math.rpi.edu/faculty/Mitchell/courses/matp... · Valid Inequalities for Integer Programs John E. Mitchell Department of Mathematical Sciences

Chvatal-Gomory Rounding Procedure

Chvatal rank

DefinitionA valid linear inequality πT x ≤ π0 for S has Chvatal rank 0 if it isequivalent to or dominated by a nonnegative linear combination of theinequalities defining P. It has Chvatal rank k if

it is not equivalent to or dominated by any nonnegative linearcombination of valid inequalities for S, each of which has Chvatalrank at most k − 1, andit can be obtained by one application of the Chvatal-Gomoryrounding procedure applied to a collection of valid inequalitiesfor S, each of which has Chvatal rank no larger than k − 1.

Theorem 1 is equivalent to the statement that every valid linearinequality for S has finite Chvatal rank.

Mitchell Valid Inequalities 20 / 20