Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

16
Part II General Integer Programming II.1 The Theory of Valid Inequalities 1

Transcript of Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

Page 1: Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

Part IIGeneral Integer Programming

II.1The Theory of Valid Inequalities

1

Page 2: Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

Let S = {xZ+n: Ax b}

P = {xR+n: Ax b}

S = P Zn Have max{cx: xS} = max{cx: xconv(S)}. How can we construct inequali-

ties describing conv(S)? Use integrality and valid inequalities for P to con-struct valid inequalities for S.

Def: Valid inequalities x 0 and x 0 are said to be equivalent if (, 0) =

(, 0) for some > 0.

x 0 dominates or is stronger than x 0 if they are not equivalent and there

exists > 0 such that and 0 0.

A maximal valid inequality is one that is not dominated by any other inequal-ity.

A maximal inequality for S defines a nonempty face of conv(S), but not con-versely.

Integer Programming 2011 2

Page 3: Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

Valid inequality for P = {xR+n: Ax b} ( not conv(S))

For all uR+m, v R+

n, and R+1,

(uA - v)x ub + is valid for P

uAx ub is valid uAx ub + is valid

-x 0 is valid -vx 0 is valid (weakening0

(uA - v)x ub + is valid

Prop 1.1: (, 0) valid for P = {xR+n: Ax b}. Then x 0 equivalent to or

dominated by uAx ub, uR+m, if any of the following conditions hold:

a. P (In this case, no more than min(m, n) components of u need be positive)

b. {uR+m: uA }

c. A =

Integer Programming 2011 3

Page 4: Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

Pf) a) max{x: xP} 0

Þ Dual has optimal solution. Dual is min{ub: uA , u 0}

Take basic dual optimal solution

u0A , u0 0, u0b 0

Þ min(m, n) of components of u0 is positive.

b) {uR+m: uA } . Dual feasible.

If P , case a)

If P = , assume A .If b 0, done

Otherwise P = R+m such that A 0, b < 0.

for some > 0, ( + )A , ( + )b 0.

c) A = Clear that u R+n such that uA . Reduces to case b)

Frequently assume A = to avoid trouble when P = , D = .

Integer Programming 2011 4

Page 5: Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

Integer Rounding

Ex: Matching problem on G = (V, E)

Constraints:

(1.2) for all

(1.3) +|E|,

Can add constraints

(1.4) , if |U| = 2k+1, k 1.

Constraints (1.4) cannot be obtained by taking nonnegative linear combina-tion of (1.2)

Integer Programming 2011 5

Page 6: Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

How to generate (1.4)?

½ ( ), , and add upÞ

for all

Add up (weakening in this step)

Since , left-hand side is integral.

Therefore, we can replace the right-hand side by .If is odd, is a valid inequality for S. (strengthening)

Integer Programming 2011 6

Page 7: Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

Chvatal-Gomory (C-G) Rounding Method

For the set Z+n:

1. for all ;

2. , since implies

3. , since implies is an integer.

Step 2 is weakening and step 3 is strengthening

The procedure can be used recursively

Need at most n inequalities in the procedure (Prop 1.1)

Can generate all valid inequalities for S using C-G procedure

Integer Programming 2011 7

Page 8: Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

Optimizing over the First Chvátal closure

Ref: B&W, p187

R+n:

R+n: )R+

m}

Separation problem for : Given an , we want to find a +m such that > , where

and , or prove that no such u exists.

(Formulation as a mixed integer program)

We can assume that when , .

Given , let j* > 0}.

maximize j*

subject to , ,

,

, ,

,

Integer Programming 2011 8

Page 9: Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

Practically, we replace the strict inequalities, e.g. , with the inequality for a small .

Also using small number of positive ’s usually finds much more effective cuts. Hence we introduce the term for a small in the objective function.

maximize j*

subject to , ,

,

, ,

,

Integer Programming 2011 9

Page 10: Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

If we find good but not necessarily optimal solutions to the MIP, we find very effective valid inequalities. Also heuristic methods to find good feasible solu-tions to the MIP are helpful.

MIP model may not be intended as computational tools to solve real prob-lems. But we can examine the strength of rank-1 C-G inequalities to describe the convex hull of S for various problems.

For some structured problems, e.g. knapsack problem, the separation problem for the first Chvatal closure may have some structure which enables us to handle the problem more effectively.

Integer Programming 2011 10

Page 11: Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

Modular Arithmetic

Valid inequality for the solutions of one linear equation.

S = Z+n:, for all j.

Sd = Z+n:, is positive integer.

Valid inequality for Sd valid for S.

Let , , is integer ( = remainder of

Sd = Z+n:,

(, , )

Ex: , xZ+

4

d = 12 , : Gomory cutting plane

ex) , Z+1 for all i.

Integer Programming 2011 11

Page 12: Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

Disjunctive Constraints

Prop 1.3: If j1

01 valid for +

n,

j2

02 valid for +

n,

then, j1, j

2)xj max(01, 0

2) is valid for .

Disjunctive procedure: S = {xZ+n: Ax b}

(1) ,

(2) Given +1, if

a) jk 0 is valid for S for some 0, and

b) jk 0 is valid for S for some 0, then

c) j0 is valid for S.

Integer Programming 2011 12

Page 13: Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

a) jk 0 is valid for S

j0 is valid for +n :

b) jk 0 is valid for S

j0 is valid for +n :

From Proposition 1.3, j0 is valid for .

D-inequalities

Ex: Figure 1.5

P = {xR+2:

1st ineq 2nd ineq

Using the disjunction or leads to valid inequality

for .

Integer Programming 2011 13

Page 14: Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

Every valid inequality for disjunction D-inequality

Prop 1.4: R+n: suppose .

valid for P’ =

such that

jk 0, jk 0 valid for P.

Pf) valid for P’ valid for and .

By Prop 1.1, such that

, (,

, (,

are valid for P and are equal to or dominate

and . Hence these are valid for P.

Integer Programming 2011 14

Page 15: Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

Boolean Implications

, are positive integers.

S is the feasible set for a 0-1 knapsack problem.

Let be such that

is valid for S. (important result)

R+n:

is valid for T.

Integer Programming 2011 15

Page 16: Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.

Geometric or Combinatorial Implication

Node packing:

Integer Programming 2011 16

1

3

2

4

5

76

(clique constraint) 2 (odd hole constraint)

Using C-G to obtain odd hole constraint:

Multiply ½ on both sides and add