integer programming as projectionpublic.tepper.cmu.edu/jnh/ipprojectioninforms2015.pdfinteger...
TRANSCRIPT
Integer Programming as Projection
H. P. Williams
London School of Economics
John Hooker
Carnegie Mellon University
INFORMS 2015, Philadelphia USA
A Different Perspective on IP
2
• Projection of an IP onto a subset of variables
is not an IP.
– It is an IP plus congruence relations.
A Different Perspective on IP
3
• Projection of an IP onto a subset of variables
is not an IP.
– It is an IP plus congruence relations.
• So let’s view an IP as inequalities + congruence
relations.
– Then projection of an IP is an IP.
A Different Perspective on IP
4
• This perspective leads to an alternative theory of
IP that parallels the traditional theory.
– Cutting planes.
– Branching.
– Duality.
5
Traditional Theory Theory Based on Projection
Chvatál-Gomory cuts
Linear combination + rounding
Unbounded rank
Congruence cuts
Linear combination + congruences
Rank bounded by number of variables
A Different Perspective on IP
6
Traditional Theory Theory Based on Projection
Chvatál-Gomory cuts
Linear combination + rounding
Unbounded rank
Congruence cuts
Linear combination + congruences
Rank bounded by number of variables
Branching on integer variables
Unbounded depth
Branching on auxiliary variables
Depth bounded by number of
variables
A Different Perspective on IP
7
Traditional Theory Theory Based on Projection
Chvatál-Gomory cuts
Linear combination + rounding
Unbounded rank
Congruence cuts
Linear combination + congruences
Rank bounded by number of variables
Branching on integer variables
Unbounded depth
Branching on auxiliary variables
Depth bounded by number of
variables
IP dual based on a Gomory
function
Nested rounding to integer
Unbounded nesting depth
IP dual based on min over Gomory
functions
Nested rounding to multiple of integer
Nesting depth bounded by number of
variables.
A Different Perspective on IP
IP Example
8
Optimal integer solution
IP Example
9
To project out x1, pair inequalities
as in Fourier-Motzkin elimination.
For example, pair C1 and C2:
IP Example
10
To project out x1, pair inequalities
as in Fourier-Motzkin elimination.
For example, pair C1 and C2:
Add auxiliary variable u1 to increase LHS to multiple of 2:
IP Example
11
To project out x1, pair inequalities
as in Fourier-Motzkin elimination.
For example, pair C1 and C2:
Add auxiliary variable u1 to increase LHS to multiple of 2:
A congruence relation forces LHS to a multiple of 2:
IP Example
12
We now have the system
which simplifies to
IP Example
13
After pairing C1 and C3 as well, we get the
projected system:
This is an IP in the more general sense.
14
The projection defines disjunction of 2 inequality
systems on 2 integer sublattices
(i.e., disjunction of scenarios)
u1 = 0
solution is (9,9)
optimal
u1 = 1
solution is (10,10)
IP Example
15
To project out x2, we again pair inequalities. For example,
if we pair C0 and C13, we get
with new auxiliary variable u13.
IP Example
16
To project out x2, we again pair inequalities. For example,
if we pair C0 and C13, we get
with new auxiliary variable u13.
Since x2 1 (mod 2), we have 3x2 3 (mod 6) and can write
IP Example
17
To project out x2, we again pair inequalities. For example,
if we pair C0 and C13, we get
with new auxiliary variable u13.
Since x2 1 (mod 2), we have 3x2 3 (mod 6) and can write
If x2 occurs in more than 1 congruence, we use a generalized
Chinese remainder theorem to combine congruences.
IP Example
18
After pairing C0 and C12, we get the projected system
We now have only z and 2 auxiliary variables with a finite domain.
IP Example
19
After pairing C0 and C12, we get the projected system
We now have only z and 2 auxiliary variables with a finite domain.
The solutions (u1,u2) = (0,4), (1,0) of the congruence define
2 scenarios.
The optimization problem is trivial in each scenario: z = 9 and
z = 10. The better solution z = 9 is the optimal value.
Recovery of the optimal solution (x1,x2) = (2,9) is straightforward.
Congruence Cuts
20
Recursive generation of
Chvátal-Gomory cuts suffices
to solve any IP.
Congruence Cuts
21
Recursive generation of
Chvátal-Gomory cuts suffices
to solve any IP.
To obtain a C-G cut, take a
linear combination of
constraints and strengthen the
result by rounding.
Congruence Cuts
22
Recursive generation of
Chvátal-Gomory cuts suffices
to solve any IP.
To obtain a C-G cut, take a
linear combination of
constraints and strengthen the
result by rounding.
However, there is no bound on
the Chvátal rank as a function
of the number of variables.
Congruence Cuts
23
Recursive generation of
Chvátal-Gomory cuts suffices
to solve any IP.
To obtain a C-G cut, take a
linear combination of
constraints and strengthen the
result by rounding.
However, there is no bound on
the Chvátal rank as a function
of the number of variables.
Recursive generation of
congruence cuts suffices to
solve for the optimal value.
Congruence Cuts
24
Recursive generation of
Chvátal-Gomory cuts suffices
to solve any IP.
To obtain a C-G cut, take a
linear combination of
constraints and strengthen the
result by rounding.
However, there is no bound on
the Chvátal rank as a function
of the number of variables.
Recursive generation of
congruence cuts suffices to
solve for the optimal value.
To obtain a congruence cut,
take a linear combination of
constraints and strengthen
the result with a congruence
relation.
Congruence Cuts
25
Recursive generation of
Chvátal-Gomory cuts suffices
to solve any IP.
To obtain a C-G cut, take a
linear combination of
constraints and strengthen the
result by rounding.
However, there is no bound on
the Chvátal rank as a function
of the number of variables.
Recursive generation of
congruence cuts suffices to
solve for the optimal value.
To obtain a congruence cut,
take a linear combination of
constraints and strengthen
the result with a congruence
relation.
The rank is bounded by the
number of variables.
Example of Congruence Cut
26
The linear combination is
Take linear combination of C1 and C3
using (say) multipliers 1 and 1 and
the congruence x1 0 (mod 1).
First add an auxiliary variable to C1:
Example of Congruence Cut
27
The linear combination is
Take linear combination of C1 and C3
using (say) multipliers 1 and 1 and
the congruence x1 0 (mod 1).
First add an auxiliary variable to C1:
Now strengthen it with the congruence relation
where the mod 2 is based on the coefficient of x1.
Congruence Cuts
28
In general, congruence cuts are defined:
Given a set S of inequalities and set C of congruence relations,
a rank 1 congruence cut is the result of:
• Selecting any inequality in S and
congruence relation in C
• Taking any nonnegative linear combination of
and another inequality in S.
The resulting cut is associated with congruence relation
Congruence Cuts
29
How to find the cuts that solve a problem?
The necessary C-G cuts are obtained by taking multipliers from
Gomory’s cutting plane method.
The necessary congruence cuts are obtained by taking
multipliers from projection operations that eliminate all the
variables.
Example of Congruence Cuts
30
Multipliers from the projection
operations result in congruence
cuts:
Example of Congruence Cuts
31
Multipliers from the projection
operations result in congruence
cuts:
The congruences define 2 integer sublattices: (u1, u13) = (1,0), (0,4).
Example of Congruence Cuts
32
Multipliers from the projection
operations result in congruence
cuts:
The congruences define 2 integer sublattices: (u1, u13) = (1,0), (0,4).
Solving this LP in each sublattice yields the optimal IP solution in
that sublattice. The inequalities “cut off” suboptimal values of z.
Example of Congruence Cuts
33
Multipliers from the projection
operations result in congruence
cuts:
However, these inequalities may not cut off all fractional solutions
(x1,x2) if the LP is dual degenerate.
Example of Congruence Cuts
34
Multipliers from the projection
operations result in congruence
cuts:
For example, the LP in sublattice (u1,u13) = (0,4) has optimal
solutions (x1,x2,z) = (2, 9, 9), (2.4, 9, 9). The latter cannot be cut off
by congruence cuts alone.
Example of Congruence Cuts
35
Multipliers from the projection
operations result in congruence
cuts:
However, the integer solution (x1,x2,z) = (2,9,9) can be recovered by
retracing the projection steps.
A New Branching Strategy
36
At each node of the branching tree, solve LP relaxation.
Project out a variable xj that violates its congruence relation
(even if it is integer).
Branch on values of new auxiliary variables that solve the
congruence relations.
The problems at nodes of the branching tree therefore contain
no auxiliary variables.
Branching Example
37
Branching Example
38
Project out x1u1 = 0 u! = 1
Branching Example
39
Project out x2Project out x2
Solution z = 9 Solution z = 10
(u12,u13) = (0,4) (u12,u13) = (0,0)
Project out x1u1 = 0 u! = 1
Branching
40
The depth of the tree is bounded by the number of variables.
Can also use LP values for branch-and-bound.
IP Duality
41
We can solve an IP dual by constructing a value function that
yields the optimal value for all perturbations in RHS.
IP Duality
42
Traditional value function is a
Gomory function.
The function is obtained from
Gomory’s cutting plane
method.
It contains nested roundings
to integers.
There is no bound on the
nesting depth.
IP Duality
43
Traditional value function is a
Gomory function.
The function is obtained from
Gomory’s cutting plane
method.
It contains nested roundings
to integers.
There is no bound on the
nesting depth.
Proposed value function is
a minimum over Gomory
functions.
The function is obtained from
projection operations in
integer sublattices.
It contains nested roundings
to multiple of an integer.
Nesting depth is bounded
by number of variables.
Example of Value Function
44
First pair perturbed constraints C1 and C2:
Add this to LHS rather than simply the auxiliary variable u1,
where is rounded up to nearest multiple of m.
Add this to LHS rather than simply the auxiliary variable u1,
where is rounded up to nearest multiple of m.
Example of Value Function
45
First pair perturbed constraints C1 and C2:
This yields
Example of Value Function
46
After projecting out x1 and x2, we get
Note that the congruence relation doesn’t depend on perturbations!
Example of Value Function
47
After projecting out x1 and x2, we get
Now we have the value function
where (u1,u13) ranges over the solutions of the congruence
relation, namely (1,0) and (0,4)
Note that the congruence relation doesn’t depend on perturbations!
Example of Value Function
48
These are Chvátal functions (with special kind of rounding).
The depth of nested rounding is bounded by number of
variables.
Example of Value Function
49
This is a Gomory function (max over Chvátal functions).
The traditional value function is a Gomory function, but with
unbounded nesting depth.
Example of Value Function
50
This is the value function based on projection.
A min over Gomory functions with bounded nesting depth.
Example of Value Function
51
The value functions v(i) are shift periodic for sufficiently large i
All the Gomory functions in the min have the same periodicity.
So it is unnecessary to solve the congruence relations to determine
the periodicity.
Example of Value Function
52
Value function v(1)
0
10
20
30
40
50
60
-10 -5 0 5 10
1
Example of Value Function
53
Value function v(2)
0
5
10
15
20
25
30
-10 -8 -6 -4 -2 0 2 4 6 8 10
2
Example of Value Function
54
Value function v(3)
0
5
10
15
20
-10 -8 -6 -4 -2 0 2 4 6 8 10
3