Professional Documents
Culture Documents
Valid inequality
Branch-and-cut algorithm
1 / 35
Valid Inequality
Let X = {x | Ax b, x Z
n
+
}. Consider the following linear
program:
(CIP) min c
T
x
s.t. x conv(X).
Then (IP) is equivalent to (CIP).
An inequality
T
x
0
is said to be a valid inequality for X
if
T
x
0
for all x X.
2 / 35
Question:
(1) How to nd good or useful valid inequality?
(2) How to use valid inequality to solve an integer program?
n
j =1
T
a
j
x
j
T
b, 0.
(ii) (round o)
n
j =1
T
a
j
x
j
T
b.
(iii)
n
j =1
T
a
j
x
j
T
b.
Integer programming:
min{c
T
x | x Z
n
+
, Ax = b}.
j NB
c
j
x
j
s.t. (x
B
)
i
+
j NB
a
ij
x
j
=
b
i
, i = 1, 2, ...m,
x
j
Z
1
+
, j = 1, 2, ...n,
NB is the set of nonbasic variables.
c
j
0, j NB,
b
i
0, i = 1, . . . , m.
4 / 35
j NB
a
ij
x
j
b
i
.
Substitute for (x
B
)
i
to get
j NB
(a
ij
a
ij
)x
j
b
i
b
i
.
Let f
ij
= a
ij
a
ij
, f
j
=
b
i
b
i
.
j NB
f
ij
x
j
f
i
.
j
= 0 for j NB, and
0 f
ij
< 1, 0 < f
i
< 1, this inequality cut o x
!
5 / 35
Example 1
min 5x
1
8x
2
s.t. x
1
+ x
2
6
5x
1
+ 9x
2
45
x
1
, x
2
Z
+
The Gomory cut from the second row of the tableau is:
0.75x
3
+ 0.25x
4
0.75
7 / 35
Example 2
min 4x
1
+ x
2
s.t. 7x
1
2x
2
14
x
2
3
2x
1
2x
2
3
x
1
, x
2
Z
+
9 / 35
Reoptimization:
x
1
x
2
x
3
x
4
x
5
x
6
b
1 0 0 0 0 1 2
0 1 0 0
1
2
1
1
2
0 0 1 0 1 5 1
0 0 0 1
1
2
6
5
2
0 0 0 0
1
2
3
15
2
Cut from the second row of the tableau is:
1
2
x
5
1
2
.
11 / 35
Reoptimization:
x
1
x
2
x
3
x
4
x
5
x
6
x
7
b
1 0 0 0 0 1 0 2
0 1 0 0 0 1 1 1
0 0 1 0 0 5 2 2
0 0 0 1 0 6 1 2
0 0 0 0 1 0 1 1
0 0 0 0 0 3 1 7
Done! Optimal solution x
= (2, 1)
T
.
12 / 35
Linear algebra and convex analysis review
i =1
i
x
i
= 0,
k
i =1
i
= 0,
is
i
= 0, i = 1, 2, ..., k.
= M \ M
=
(the inequality set).
Let (A
=
, b
=
), (A
, b
Note that (,
0
) is a valid inequality if and only if P lies in
the half-space {x R
n
| x
0
}.
If (,
0
) is a valid inequality for P and
F = {x P | x =
0
}, F is called a face of P and we say
that (,
0
) represents or denes F.
j =1
a
j
x
j
b}.
N = {1, 2, . . . , .n}. Assume that a
j
> 0, j N, a
j
< b, j N.
We are interested in nding facets of conv(S).
x
k
0 is a facet of conv(S).
Proof. 0, e
j
, j N \ {k} are n anely independent points
that satisfy x
k
= 0.
21 / 35
x
k
1 is a facet of conv(S) if a
j
+ a
k
b, j N \ {k}.
Proof. e
k
, e
j
+ e
k
, j N \ {k} are n anely independent
points that satisfy x
k
= 1.
A set C N is a cover if
j C
a
j
> b. A cover C is a
minimal cover if C \ {j } is not a cover j C.
j C
x
j
|C| 1
is a valid inequality for S.
22 / 35
Example:
S = {x B
7
| 11x
1
+6x
2
+6x
3
+5x
4
+5x
5
+4x
6
+x
7
19}.
Minimal covers:
C = {1, 2, 3}, C = {1, 2, 6},
C = {1, 5, 6}, C = {3, 4, 5, 6}.
23 / 35
Can we do better?
If x
0
and x
0
are two valid inequalities for P R
n
+
,
we say that x
0
dominates x
0
if u 0 such that
u,
0
u
0
and (,
0
) = u(,
0
).
If x
0
dominates x
0
, then
{x R
n
+
| x
0
} {x R
n
+
| x
0
}.
24 / 35
j E(C)
x
j
|C| 1
is a valid inequality for S.
j C
x
j
|C| 1
is a facet of conv(S).
Proof R
k
= C \ {k}, k C. x
R
k
satises
j C
x
R
k
j
= |C| 1.
Also, x
R
1
, . . . , x
R
|C|
are anely independent. Since C = N,
there are n anely independent vectors satisfy
j C
x
R
k
j
= |C| 1 at equality.
26 / 35
Let C = {j
1
, . . . , j
r
} be a minimal cover. Let
p = min{j | j N \ E(C)}. If C = E(C), and
j C\{j
1
}
a
j
+ a
p
b, then
j C
x
j
|C| 1 is a facet of
conv(S).
Proof. T
k
= C \ {j
1
} {k}, k N \ E(C).
|T
k
E(C)| = |C| 1 and
j T
k
E(C)
x
T
k
j
= |C| 1.
|R
k
| +|T
k
| = N. x
R
k
, k C, x
T
k
, k N \ C, are n anely
independent vectors.
27 / 35
Example:
S =
{x {0, 1}
5
| 79x
1
+53x
2
+53x
3
+45x
4
+45x
5
178}.
Setting x
1
= x
2
= x
7
= 0, the cover inequalities
x
3
+ x
4
+ x
5
+ x
6
3 is valid for
{x {0, 1}
4
| 6x
3
+ 5x
4
+ 5x
5
+ 4x
6
19}.
If x
1
is not xed at 0, can we strengthen the inequality? For
what values of
1
is the inequality
1
x
1
+ x
3
+ x
4
+ x
5
+ x
6
3
valid for
P
2,7
= {x {0, 1}
5
| 11x
1
+ 6x
3
+ 5x
4
+ 5x
5
+ 4x
6
19}.
29 / 35
1
+ x
3
+ x
4
+ x
5
+ x
6
3 is valid for all x {0, 1}
4
satisfying 6x
3
+ 5x
4
+ 5x
5
+ 4x
6
19 11;
1
+ 3, where
= max{x
3
+ x
4
+ x
5
+ x
6
| 6x
3
+ 5x
4
+ 5x
5
+ 4x
6
8}.
= 1
1
2. Thus
1
= 2 gives the strongest inequality.
j C
x
j
+
j N\C
j
x
j
|C| 1
is valid for S?
30 / 35
Lifting Procedure
Let j
1
, . . . , j
r
be an ordering of N \ C. Set t = 1.
i =1
j
i
x
j
i
+
j C
x
j
|C| 1
is given. Solve the following knapsack problem:
t
= max
t1
i =1
j
i
x
j
i
+
j C
x
j
s.t.
t1
i =1
a
j
i
x
j
i
+
j C
a
j
x
j
b a
j
t
x {0, 1}
|C|+t1
.
Set
j
t
= |C| 1
t
. Stop if t = r .
31 / 35
2
= max 2x
1
+ x
3
+ x
4
+ x
5
+ x
6
s.t. 11x
1
+ 6x
3
+ 5x
4
+ 5x
5
+ 4x
6
19 6 = 13,
x {0, 1}
5
.
So
2
= 2 and
j
2
=
2
= 3 2 = 1.
Consider x
7
now, we have
3
= max 2x
1
+ x
2
+ x
3
+ x
4
+ x
5
+ x
6
s.t. 11x
1
+ 6x
2
+ 6x
3
+ 5x
4
+ 5x
5
+ 4x
6
19 1 = 18,
x {0, 1}
6
.
So
3
= 3 and
j
3
=
7
= 3 3 = 0. We obtain a valid
inequality:
2x
1
+ x
2
+ x
3
+ x
4
+ x
5
+ x
6
+ x
7
3.
32 / 35
Separation of Cover Inequalities
j C
x
j
|C| 1 such that
j C
x
j
> |C| 1. This is
called a separation problem.
Note that
j C
x
j
|C| 1 can be rewritten as
j C
(1 x
j
) 1.
33 / 35
, does
cover C N such that
j C
(1 x
j
) < 1? or is
= min
CN
{
j C
(1 x
j
) |
j C
aj > b} < 1?
If 1, then x
j R
x
j
|R| 1 is a
violated cover inequality.
34 / 35
Branch-and-Cut Method
At each node of the search tree, cuts are generated and used
to improve the LP relaxation.