160 likes | 265 Vues
Learn how to construct inequalities for the set S, using integer programming concepts and valid inequalities for set P. Explore the theory of valid inequalities and their equivalence, along with practical applications and optimization techniques.
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