160 likes | 257 Views
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
E N D
Part IIGeneral Integer Programming II.1The Theory of Valid Inequalities
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 inequalities describing conv(S)? Use integrality and valid inequalities for P to construct valid inequalities for S. • Def: Valid inequalities x 0 and x 0 are said to be equivalent if (, 0) = (, 0) for some > 0. x 0dominates 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 inequality. • A maximal inequality for S defines a nonempty face of conv(S), but not conversely.
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 byuAx ub, uR+m, if any of the following conditions hold: • P (In this case, no more than min(m, n) components of u need be positive) • {uR+m: uA } • A =
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. • {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 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 combination of (1.2)
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)
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
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 , , , , , ,
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 , , , , , ,
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 solutions to the MIP are helpful. • MIP model may not be intended as computational tools to solve real problems. 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.
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.
Disjunctive Constraints • Prop 1.3: If j101 valid for +n, j202valid for +n, then, j1, j2)xj max(01, 02) is valid for . • Disjunctive procedure: S = {xZ+n: Ax b} (1) , (2) Given +1, if a) jk0 is valid for S for some 0, and b) jk0 is valid for S for some 0, then c) j0 is valid for S.
a) jk0 is valid for S j0 is valid for +n : b) jk0 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: 1stineq 2ndineq Using the disjunction or leads to valid inequality for .
Every valid inequality for disjunction D-inequality • Prop 1.4: R+n: suppose . valid for P’ = such that jk0, jk0valid 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.
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.
Geometric or Combinatorial Implication • Node packing: 1 (clique constraint) 2 (odd hole constraint) 5 2 6 7 4 3 Using C-G to obtain odd hole constraint: Multiply ½ on both sides and add