part ii general integer programming

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

Upload: eben

Post on 20-Feb-2016

26 views

Category:

Documents


0 download

DESCRIPTION

Part II General Integer Programming. II.1 The Theory of Valid Inequalities. Let S = { x Z + n : Ax  b} P = { x R + n : Ax  b } S = P  Z n - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Part II General Integer Programming

Part IIGeneral Integer Programming

II.1The Theory of Valid Inequalities

1

Page 2: Part II General Integer Programming

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

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 PuAx 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

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

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

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

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 strengtheningThe procedure can be used recursivelyNeed 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

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

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

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

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 planeex) , Z+

1 for all i.

Integer Programming 2011 11

Page 12: Part II General Integer Programming

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

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.5P = {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

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

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

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