Upload
merryl-porter
View
225
Download
0
Tags:
Embed Size (px)
Citation preview
Part IIGeneral Integer Programming
II.1The Theory of Valid Inequalities
1
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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