Bilevel Integer Programming - Lehigh CORAL

Bilevel Integer Programming
Ted Ralphs1
Joint work with:
Scott DeNegre1 , Menal Guzelsoy2 ,
Andrea Lodi3 , Fabrizio Rossi4 , Stefano Smriglio4
1
COR@L Lab, Department of Industrial and Systems Engineering, Lehigh University
2
ISyE, Georgia Institute of Technology
3
DEIS, Universitá di Bologna
4
Dipartimento di Informatica, Universitá di L’Aquila
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
1 / 40
Outline
1
Introduction
Motivation
Setup
2
Applications
Practical
Theoretical
3
Algorithms
Recourse Problems
Continuous BLPs
Discrete BLPs
4
Implementation
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
2 / 40
Motivation
A standard mathematical program models a set of decisions to be made
simultaneously by a single decision-maker (i.e., with a single objective).
Many decision problems arising both in real-world applications and in the theory
of integer programming involve
multiple, independent decision-makers (DMs),
multiple, possibly conflicting objectives, and/or
hierarchical/multi-stage decisions.
Modeling frameworks
Multiobjective Programming ⇐ multiple objectives, single DM
Mathematical Programming with Recourse ⇐ multiple stages, single DM
Multilevel Programming ⇐ multiple stages, multiple DMs
Multilevel programming generalizes standard mathematical programming by
modeling hierarchical decision problems, such as Stackelberg games.
Such models arises in a remarkably wide array of applications.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
3 / 40
Bilevel (Integer) Linear Programming
Formally, a bilevel linear program is described as follows.
x ∈ X ⊆ Rn1 are the upper-level variables
y ∈ Y ⊆ Rn2 are the lower-level variables
Bilevel (Integer) Linear Program
max c1 x + d1 y | x ∈ PU ∩ X, y ∈ argmin{d2 y | y ∈ PL (x) ∩ Y} (MIBLP)
The upper- and lower-level feasible regions are:
PU = x ∈ R+ | A1 x ≤ b1 and
PL (x) = y ∈ R+ | G2 y ≥ b2 − A2 x .
For most of the talk, we assume X = Zn1 and Y = Zn2 .
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
4 / 40
Notation
Notation
ΩI
=
{(x, y) ∈ (X × Y) | x ∈ PU , y ∈ SL (x)}
Ω
=
{(x, y) ∈ (Rn1 × Rn2 ) | x ∈ PU , y ∈ SL (x)}
M I (x)
=
FI
=
F
=
argmin{d 2 y | y ∈ (PL (x) ∩ Y)}
(x, y) | x ∈ (PU ∩ X), y ∈ M I (x)
(x, y) | x ∈ PU , y ∈ argmin{d2 y | y ∈ SL (x)}
Underlying bilevel linear program (BLP):
min c1 x + d1 y
(x,y)∈F
Underlying MILP:
min c1 x + d1 y
(x,y)∈ΩI
Underlying LP:
min c1 x + d1 y
(x,y)∈Ω
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
5 / 40
Applications
Hierarchical decision systems
Government agencies
Large corporations with multiple subsidiaries
Markets with a single “market-maker.”
Decision problems with recourse
Parties in direct conflict
Zero sum games
Interdiction problems
Modeling “robustness”: leader represents external phenomena that cannot be
controlled.
Weather
External market conditions
Controlling optimized systems: follower represents a system that is optimized by
its nature.
Electrical networks
Biological systems
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
6 / 40
Bilevel Structure in Branch and Cut
We consider an integer program (IP) of the form
min{c⊤ x | x ∈ P ∩ Zn },
(1)
where P = {x ∈ Rn+ | Ax ≥ b}, A ∈ Qm×n , b ∈ Qm , c ∈ Qn .
A branch-and-cut algorithm to solve this problem requires the solution of two
fundamental decision problems.
Definition 1 The separation problem for a polyhedron Q is to determine for a
given x̂ ∈ Rn whether or not x̂ ∈ Q and if not, to produce an inequality
(ᾱ, β̄) ∈ Rn+1 valid for Q and for which ᾱ⊤ x̂ < β̄.
Definition 2 The branching problem for a set S is to determine for a given
x̂ ∈ Rn whether x̂ ∈ S and if not, to produce a disjunction
_
Ah x ≥ b h , x ∈ S
(2)
h∈Q
that is satisfied by all points in S, but not satisfied by x̂.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
7 / 40
Bilevel Structure of the Separation Problem
Often, we wish to select an inequality that maximizes violation, i.e.,
(ᾱ, β̄) ∈ argmin(α,β)∈Rn+1 {α⊤ x̂ − β | α⊤ x ≥ β ∀x ∈ Q}
(3)
To make the problem tractable, we may restrict ourselves to a specific template
class of valid inequalities with well-defined structure.
Given a class C, calculation of the right-hand side β required to ensure (α, β) is a
member of C may itself be an optimization problem.
The separation problem for the class C with respect to a given x̂ ∈ Rn can then in
principle be formulated as the bilevel program:
min α⊤ x̂ − β
(4)
α ∈ Cα
(5)
⊤
β = min{α x | x ∈ F },
(6)
where the set Cα ⊆ Rn is the projection of C into the space of coefficient vectors
and F is the closure over the class C.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
8 / 40
Example: Disjunctive cuts
Given a MIP in the form (1), Balas (1979) showed how to derive a valid
inequality by exploiting any fixed disjunction
π ⊤ x ≤ π0
OR π ⊤ x ≥ π0 + 1 ∀x ∈ Rn ,
(7)
where π ∈ Zn and π0 ∈ Z.
A disjunctive inequality is one valid for the convex hull of union of P1 and P2 ,
obtained by imposing the two terms of the disjunction.
Conceptually, the separation problem can be written as the following bilevel
program:
min
Ralphs, et al. (COR@L Lab)
α⊤ x̂ − β
α ≥ u⊤ A − uo π
(8)
(9)
α ≥ v⊤ A + vo π
u, v, u0 , v0 ≥ 0
(10)
(11)
u 0 + v0 = 1
β = min{α⊤ x | x ∈ P1 ∪ P2 }
(12)
(13)
BILP
Aussois, January 2009
9 / 40
Example: Disjunctive Cuts (cont.d)
Equation (13) requires β to have the largest value consistent with validity.
To ensure the cut is valid, we need only ensure that
β ≤ min{u⊤ b − u0 π0 , v⊤ b + v0 (π0 + 1)}.
(14)
Using the standard modeling trick, we can rewrite (14) as
β ≤ u⊤ b − u0 π0
β ≤ v⊤ b + v0 (π0 + 1).
(15)
(16)
The sense of the optimization ensures that (14) holds at equality.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
10 / 40
Example: Capacity Constraints for CVRP
In the Capacitated Vehicle Routing Problem (CVRP), the capacity constraints
are of the form
X
xe ≥ 2b(S) ∀S ⊂ N, |S| > 1,
(17)
e={i,j}∈E
i∈S,j6∈S
where b(S) is any lower bound on the number of vehicles required to serve
customers in set S.
By defining binary variables
yi = 1 if customer i belongs to S̄, and
ze = 1 if edge e belongs to δ(S̄),
we obtain the following bilevel formulation for the separation problem:
X
min
x̂e ze − 2b(S̄)
(18)
e∈E
ze ≥ yi − yj
∀e ∈ E
(19)
ze ≥ yj − yi
∀e ∈ E
(20)
b(S̄) = max{S̄ | b(S̄) is a valid lower bound}
Ralphs, et al. (COR@L Lab)
BILP
(21)
Aussois, January 2009
11 / 40
Example: Capacity Constraints for CVRP (cont.d)
If the bin packing problem is used in the lower-level, the formulation becomes:
X
min
x̂e ze − 2b(S̄)
(22)
e∈E
ze ≥ yi − yj
ze ≥ yj − yi
b(S̄) = min
∀e = {i, j}
∀e = {i, j}
n
X
hℓ
(23)
(24)
(25)
ℓ=1
n
X
wℓi = yi
∀i ∈ N
(26)
ℓ = 1, . . . , n,
(27)
ℓ=1
X
di wℓi ≤ Khℓ
i∈N
where we introduce the additional binary variables
wℓi = 1 if customer i is served by vehicle ℓ, and
hℓ = 1 if vehicle ℓ is used.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
12 / 40
Bilevel Structure of the Branching Problem
A typical criteria for selecting a branching disjunction is to maximize the bound
increase resulting from imposing the disjunction.
The problem of selecting the disjunction whose imposition results in the largest
bound improvement has a natural bilevel structure.
The upper-level variables can be used to model the choice of disjunction (we’ll see
an example shortly).
The lower-level problem models the bound computation after the disjunction has
been imposed.
In strong branching, we are solving this problem essentially by enumeration.
The bilevel branching paradigm is to select the branching disjunction directly by
solving a bilevel program.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
13 / 40
Example: Interdiction Branching
The following is a bilevel programming formulation for the problem of finding a
smallest branching set in interdiction branching:
P
(BBP) max c⊤ x
s.t.
c⊤ x ≤ z̄
y ∈ Bn
x ∈ arg maxx c⊤ x
s.t.
xi + yi ≤ 1,
i ∈ Na
x ∈ Fa
where F is the feasible region of a given relaxation of the original problem used for
computing the bound.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
14 / 40
Algorithms: Technical Assumptions
We make the following assumptions to simplify and ensure the problem has a
solution.
Assumptions
1
For every action by the leader, the follower has a rational reaction
(PL (x) ∩ Y 6= ∅ for all x ∈ PU ∩ X).
2
The follower is semi-cooperative (the leader may choose among
alternative members of M I (x)).
The feasible set F I is nonempty and compact.
3
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
15 / 40
Back to the Example
Consider again the following instance of (MIBLP) from Moore and Bard (1990).
y
min
x∈Z
F
FI
conv(ΩI )
conv(F I )
5
− x − 10y
4
subject to y ∈ argmin {y : 25x − 20y ≥ −30
−x − 2y ≥ −10
3
−2x + y ≥ −15
2
2x + 10y ≥ 15
1
y∈Z}
111111111111111111
000000000000000000
000000000000000000
111111111111111111
000000000000000000
111111111111111111
1
2
3
4
5
6
7
8
x
From the figure, we can make several observations:
1
2
3
F ⊆ Ω, F I ⊆ ΩI , and ΩI ∈ Ω
F I 6⊆ F
Solutions to (MIBLP) do not occur at extreme points of conv(ΩI )
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
16 / 40
Properties of MIBLPs
In this example:
Optimizing over F yields the integer solution (8, 1), with the upper-level
objective value 18.
Imposing integrality yields the solution (2, 2), with upper-level objective value
22
From this we can make two important observations:
1
2
The objective value obtained by relaxing integrality is not a valid bound
on the solution value of the original problem,
Even when solutions to max(x,y)∈F c1 x + d1 y are in F I , they are not
necessarily optimal.
Thus, some familiar properties from the MILP case do not hold here.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
17 / 40
Special Case: Recourse Problems
If d1 = −d2 , we can view this as a mathematical program with recourse.
Two-stage stochastic programs with recourse are a special case (under mild
conditions).
The resulting problem can be solved as a standard mathematical program.
For the case when Y = Rn , we can solve the problem by Benders Decomposition.
Note that the value function of the lower-level problem is convex in the
upper-level variables, so we can also reformulate as a convex program
This is a useful way of visualizing the situation.
zLP
zLP (b) + u∗ (v − b)
v
b
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
18 / 40
Special Case: Continuous BLPs
In the continuous case, the lower-level problem can be replaced with its
optimality conditions.
The optimality conditions for the lower-level optimization problem are
G2 y ≥ b 2 − A 2 x
uG2 ≤ d2
u(b2 − G2 − A2 x) = 0
(d 2 − uG2 )y = 0
u, y ∈ R+
Note that this is a special case of a class of non-linear mathematical programs
known as mathematical programs with equilibrium constraints (MPECs).
This can be solved in a number of ways, including converting it to standard
integer program.
Note that in this case, the value function of the lower-level problem is piecewise
linear, but not necessarily convex.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
19 / 40
General Case: Discrete BLPs
When some/all of the variables are discrete, the situation is a bit more difficult.
Because the duals that exist for general integer programs are not tractable in
general, we cannot use the same approach as we did for the continuous case.
In fact, going from the continuous case to the discrete case in the bilevel setting
poses significantly different challenges than for standard MILPs.
Nevertheless, we have developed a branch-and-cut algorithm that attempts to
generalize techniques from MILP.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
20 / 40
Lower Bounds
Relaxing integrality conditions and the requirement y ∈ M I (x) yields the relaxation
max c1 x + d1 y.
(LR)
(x,y)∈Ω
The resulting bound can be used in combination with a standard variable
branching scheme to yield an algorithm that solves (MIBLP).
Unfortunately, the bound is too weak to be effective on interesting problems.
As usual, we strengthen the linear relaxation by exploiting disjunctions valid for
the bilevel feasible region.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
21 / 40
Valid Disjunctions for MIBLP
Bilevel Feasibility Conditions
1
2
3
(x, y) ∈ Ω ,
(x, y) ∈ X × Y , and
y ∈ M I (x).
To develop a successful branch-and-cut algorithm, we would like to derive
disjunctions arising from violation of these conditions.
Violations of Conditions 1 and 2 can be dealt with as in the MILP case.
Violations of Condition 3 are both difficult to detect in general and difficult to
exploit.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
22 / 40
Bilevel Feasibility Check
Let (x̂, ŷ) be a solution to LR.
We fix x = x̂ and solve the lower-level problem
min d2 y
(28)
y∈PLI (x̂)
with the fixed upper-level solution x̂.
Let y∗ be the solution to (28).
(x̂, y∗ ) is bilevel feasible ⇒ c1 x̂ + d1 y∗ is a valid upper bound on the optimal value
of the original MIBLP
Either
1
2
d2 ŷ = d2 y∗ ⇒ (x̂, ŷ) is bilevel feasible.
d2 ŷ > d2 y∗ ⇒ generate a valid inequality violated by (x̂, ŷ).
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
23 / 40
Bilevel Feasibility Cut (Pure Integer Case)
Let
1
A
A := 2 ,
A
0
G :=
,
G2
1
b
and b := 2 .
b
A basic feasible solution (x̂, ŷ) ∈ ΩI to (LR) is the unique solution to
a′i x + g′i y = bi ,
i∈I
where I is the set of active constraints at (x̂, ŷ).
This implies that
and
P
i∈I
I
(x, y) ∈ Ω |
a′i x + g′i y ≤
Ralphs, et al. (COR@L Lab)
X
a′i x
+
g′i y
i∈I
P
i∈I
o
X n
=
bi = (x̂, ŷ)
i∈I
bi is valid for Ω.
BILP
Aussois, January 2009
24 / 40
Bilevel Feasibility Cut (cont.)
A Valid Inequality
P
P
′
′
I
i∈I ai x + gi y ≤
i∈I bi − 1 is valid for Ω \ {(x, y)}.
max min {y | −x + y ≤ 2, −2x − y ≤ −2, 3x − y ≤ 3, y ≤ 3, x, y ∈ Z+ } .
x
y
y
−x + 2y ≤ 5
−x + 2y ≤ 4
3
2
1
x
1
2
3
This yields a finite algorithm in the pure integer case.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
25 / 40
Exploiting the Value Function
The value function of an MILP is a function z : R → R ∪ {±∞}
MILP Value Function
z(d) = min cx,
x∈S(d)
(29)
where, for a given right-hand side vector d ∈ Rm ,
S(d) = {x ∈ Zp+ × Rn−p
| Ax ≤ d}.
+
If we knew the value function, we could reformulate as follows:
min c1 x + d1 y
subject to A1 x ≥ b1
A 2 x + G2 y ≥ b 2
d2 y = z(b2 − A2 x)
x ∈ X, y ∈ Y.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
26 / 40
Example
min 3x1 + 72 x2 + 3x3 + 6x4 + 7x5 + 5x6
s.t 6x1 + 5x2 − 4x3 + 2x4 − 7x5 + x6 = b and
x1 , x2 , x3 ∈ Z+ , x4 , x5 , x6 ∈ R+ .
(SP)
z
18
16
14
12
10
8
6
4
2
d
-16
-14
-12
-10
Ralphs, et al. (COR@L Lab)
-8
-6
-4
-2
0
2
4
6
BILP
8
10
12
14
16
18
20
22
24
26
28
Aussois, January 2009
27 / 40
Bounding the Value Function
To generate valid disjunctions violated by solutions not satisfying Condition 3, we
must somehow bound the value function.
Upper bounds can be derived by considering the value function of restrictions of
the original problem.
⇒ Fix some integer variables.
Lower bounds can be derived by considering the value function of relaxations of
the original problem.
⇒ Relax integrality of some variables.
Lower bounds can also be obtained by considering so-called dual functions that
can be constructed in a number of ways.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
28 / 40
Upper Bound (Single Constraint Case)
f (d∗ , ζ C )
f (d∗ , η C )
0
d∗
d
For any d ≤ d∗ ,
z(d) ≤ max{f (d ∗ , ζ C ), f (d ∗ , η C )} = f (d ∗ , ζ C ).
Similarly, for any d ≥ d∗ ,
z(d) ≤ max{f (d∗ , ζ C ), f (d ∗ , η C )} = f (d ∗ , η C ).
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
29 / 40
Bilevel Feasibility Disjunctions (Single Constraint Case)
Thus, we have the following disjunction.
Bilevel Feasibility Disjunction
b2 − A2 x ≤ b2 − A2 x̂
AND
d2 y ≤ f (b2 − A2 x̂, ζ C )
OR
b2 − A2 x ≥ b2 − A2 x̂
AND d 2 y ≤ f (b2 − A2 x̂, η C ).
Such a disjunction can be used to either branch or cut when solutions (x̂, ŷ) ∈ ΩI such
that ŷ 6∈ M I (x̂) are found.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
30 / 40
Numerical Example (Disjunctive Cut)
MIBLP Example
min
subject to
8x1 + x2 + 2x3 + 3x5 + 4x6
+ y1 + 3y2 + 2y3 + 4y4 + 2y6
4x1 + 2x2 − 4x3 + 3x4 + 6x5 + x6 = 24
x1 , x2 , x3 ∈ Z+ , x4 , x5 , x6 ∈ R+
y ∈ argmin { 2y1 + 2y3 + 8y4 + 4y5 + 3y6 :
2x1 − x2 + 4x3 − 4x4 + 3x5 + x6
4
+ 4y1 − 6y2 + 6y3 + 4y4 − 4y5 + y6 = 16,
3
y1 , y2 , y3 ∈ Z+ , y3 , y5 , y6 ∈ R+ } ,
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
31 / 40
Numerical Example (cont.)
The initial LP lower bound is 3, with a solution of
x4 = 8,
y1 = 12.
The cutting plane procedure yields the cut
3
4 x1
+
7
24 x2
+ 31 x4 + 89 x5 +
5
24 x6
− 31 y1 − 61 y2 − 18 y3 −
1
12 y4
−
1
12 yg
≥
10
3 .
This yields a new lower bound of 3.224 and a solution of
x4 = 0.8163,
x5 = 3.5918,
y1 = 2.1225.
The optimal value is 3.25 and an optimal solution is
x5 = 4,
Ralphs, et al. (COR@L Lab)
y1 = 1.
BILP
Aussois, January 2009
32 / 40
Jeroslow Formula for General MILP
Let the set E consist of the index sets of dual feasible bases of the linear program
min{
1
1
cC xC :
AC xC = b, x ≥ 0}
M
M
j
m
where M ∈ Z+ such that for any E ∈ E, MA−1
E a ∈ Z for all j ∈ I.
Theorem 1 (Jeroslow Formula) There is a g ∈ G m such that
z(d) = min g(⌊d⌋E ) + vE (d − ⌊d⌋E ) ∀d ∈ Rm with S(d) 6= ∅,
E∈E
where for E ∈ E, ⌊d⌋E = AE ⌊A−1
E d⌋ and vE is the corresponding basic feasible
solution.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
33 / 40
Generalizing
The question of how to derive practical disjunctions based on local structure in
the general case is still largely unanswered.
The Jeroslow formula (among others) tells us what the local structure looks like.
We can derive local structure from the branch-and-bound tree constructed when
we do the bilevel feasibility check.
There is an obvious combinatorial explosion.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
34 / 40
Implementation
The Mixed Integer Bilevel Solver (MibS) implements the branch and bound
framework described here using software available from the Computational
Infrastructure for Operations Research (COIN-OR) repository.
COIN-OR Components Used
The COIN High Performance Parallel Search (CHiPPS) framework to
perform the branch and bound.
The COIN Branch and Cut (CBC) framework for solving the MILPs.
The COIN LP Solver (CLP) framework for solving the LPs arising in the
branch and cut.
The Cut Generation Library (CGL) for generating cutting planes within
CBC.
The Open Solver Interface (OSI) for interfacing with CBC and CLP.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
35 / 40
What Is Implemented
MibS is still in its infancy and is not fully general. Currently, we have:
Bilevel feasibility cuts (pure integer case).
Specialized methods (primarily cuts) for pure binary at the upper level.
Specialized methods for interdiction problems.
Disjunctive cuts based on the value function for lower-level problems with a
single constraint.
Several primal heuristics.
Simple preprocessing.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
36 / 40
Preliminary Results from Knapsack Interdiction
2n
20
22
24
26
28
30
Maximum Infeasibility
Avg Nodes
Avg Depth
Avg CPU (s)
359.30
8.65
9.32
658.40
9.85
18.50
1414.80
10.85
46.03
2725.00
12.05
97.55
5326.40
12.90
214.97
10625.00
14.05
482.70
Avg Nodes
358.30
658.20
1410.80
2723.50
5328.60
10638.00
Strong Branching
Avg Depth
Avg CPU (s)
8.65
11.07
9.85
18.92
10.75
46.46
12.05
100.17
12.95
220.26
14.10
538.32
Interdiction problems in which the lower-level problems are binary knapsack
problems with a single constraint.
Data was taken from the Multiple Criteria Decision Making library and modified
to suit our setting.
Results for each problem size reflect the average of 20 instances.
These instances were running using the interdiction customization.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
37 / 40
Preliminary Results from Assignment Interdiction
Instance
2AP05-1
2AP05-2
2AP05-3
2AP05-4
2AP05-5
2AP05-6
2AP05-7
2AP05-8
2AP05-9
2AP05-10
2AP05-11
2AP05-12
2AP05-13
2AP05-14
2AP05-15
2AP05-16
2AP05-17
2AP05-18
2AP05-19
2AP05-20
2AP05-21
2AP05-22
2AP05-23
2AP05-24
2AP05-25
Nodes
6203
3881
3909
2441
3505
2031
2957
3549
2271
3299
707
407
391
3173
2509
1699
5417
5785
2259
2585
6039
2479
1519
15
3857
Depth
33
32
32
36
33
35
29
32
33
31
33
18
18
28
32
29
29
32
32
31
33
29
25
5
31
CPU (s)
290.25
384.97
205.93
102.66
119.18
80.31
153.02
224.77
111.13
211.07
35.13
29.51
23.80
261.08
127.05
44.61
201.34
176.67
79.70
77.35
161.44
48.06
49.40
1.32
115.97
Here, the lower-level problems are binary assignment problems.
Data also taken from Multiple Criteria Decision Making library.
Problems have 50 variables and 45 constraints.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
38 / 40
Conclusions and Future Work
Preliminary testing to date has revealed that these problems can be extremely
difficult to solve in practice.
What we have implemented so far has only scratched the surface.
Currently, we are focusing on special cases where we can get traction.
Interdiction problems
Stochastic integer programs
Much work remains to be done.
Please join us!
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
39 / 40
References I
Balas, E. 1979. Disjunctive programming. Annals of Discrete Mathematics 5, 3–51.
Moore, J. and J. Bard 1990. The mixed integer linear bilevel programming problem.
Operations Research 38(5), 911–921.
Ralphs, et al. (COR@L Lab)
BILP
Aussois, January 2009
40 / 40