1 / 16

Part II General Integer Programming

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

eben
Télécharger la présentation

Part II General Integer Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Let S = {xZ+n: Ax  b} P = {xR+n: Ax  b} S = P  Zn • Have max{cx: xS} = max{cx: xconv(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.

  3. Valid inequality for P = {xR+n: Ax  b} ( not conv(S)) For all uR+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 = {xR+n: Ax  b}. Then x  0 equivalent to or dominated byuAx ub, uR+m, if any of the following conditions hold: • P   (In this case, no more than min(m, n) components of u need be positive) • {uR+m: uA  }   • A =

  4. Pf) a) max{x: xP}  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. • {uR+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 = .

  5. 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)

  6. 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)

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

  8. 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 , , , , , ,

  9. 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 , , , , , ,

  10. 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.

  11. 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: , xZ+4 d = 12  ,  : Gomory cutting plane ex) , Z+1 for all i.

  12. 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 = {xZ+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.

  13. 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 = {xR+2: 1stineq 2ndineq Using the disjunction or leads to valid inequality for .

  14. Every valid inequality for disjunction  D-inequality • Prop 1.4: R+n: suppose . valid for P’ =  such that jk0, jk0valid 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. 

  15. 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.

  16. 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 

More Related