![Page 1: Part II General Integer Programming II.1 The Theory of Valid Inequalities 1](https://reader030.vdocuments.us/reader030/viewer/2022032518/56649ccb5503460f94994d2d/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032518/56649ccb5503460f94994d2d/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032518/56649ccb5503460f94994d2d/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032518/56649ccb5503460f94994d2d/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032518/56649ccb5503460f94994d2d/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032518/56649ccb5503460f94994d2d/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032518/56649ccb5503460f94994d2d/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032518/56649ccb5503460f94994d2d/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032518/56649ccb5503460f94994d2d/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032518/56649ccb5503460f94994d2d/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032518/56649ccb5503460f94994d2d/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032518/56649ccb5503460f94994d2d/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032518/56649ccb5503460f94994d2d/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032518/56649ccb5503460f94994d2d/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032518/56649ccb5503460f94994d2d/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032518/56649ccb5503460f94994d2d/html5/thumbnails/16.jpg)
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