Bilevel Optimization, Pricing Problems and Stackelberg Games
Martine Labbé Computer Science Department Université Libre de Bruxelles INOCS Team, INRIA Lille
CO Workshop - Aussois - January 2017
1
Follower Leader
Bilevel Optimization, Pricing Problems and Stackelberg Games - - PowerPoint PPT Presentation
Bilevel Optimization, Pricing Problems and Stackelberg Games Martine Labb Computer Science Department Universit Libre de Bruxelles INOCS Team, INRIA Lille Follower Leader CO Workshop - Aussois - January 2017 1 PART I: Bilevel
Martine Labbé Computer Science Department Université Libre de Bruxelles INOCS Team, INRIA Lille
CO Workshop - Aussois - January 2017
1
Follower Leader
CO Workshop - Aussois - January 2017
2
CO Workshop - Aussois - January 2017
x,y
y
3
CO Workshop - Aussois - January 2017
4
(1905 - 1946)
CO Workshop - Aussois - January 2017
5
properties, military application.
CO Workshop - Aussois - January 2017
6
CO Workshop - Aussois - January 2017
7
max
x,y
f1x + f2y s.t. max
y
g1x + g2y s.t.(x, y) ∈ Y
Inducible region (IR)
CO Workshop - Aussois - January 2017
8
Y g f x y X
Infeasible BP
The follower sees only the second level constraints
Y g f x y X
CO Workshop - Aussois - January 2017
9
max
x≥0
xy s.t. max
y (1 − x)y
s.t.0 ≤ y ≤ 1
Y x y f
Y x y f
Y x y f
“Optimistic” “Pessimistic”
CO Workshop - Aussois - January 2017
10
x
yk g(x, yk), k = 1, . . . , n
CO Workshop - Aussois - January 2017
11
x
yk g(x, yk, y k), k = 1, . . . , n
CO Workshop - Aussois - January 2017
12
[ ]
x
y
CO Workshop - Aussois - January 2017
13
x ∈ {0, 1} ⇔ v = 0 and v = argmax
w
{w : w ≤ x, w ≤ 1 − x, w ≥ 0}
CO Workshop - Aussois - January 2017
14
solution which is a vertex of S∩T. (Bialas & Karwan(1982), Bard(1983)). K-th best algorithm
CO Workshop - Aussois - January 2017
15
max
x
c1x + d1y s.t. A1x + B1y ≤ b1 max
y
d2y, s.t. B2y ≤ b2 − A2x (λ)
max
x
c1x + d1y s.t. A1x + B1y ≤ b1 B2y ≤ b2 − A2x λB2 = d2 λ(B2y − b2 + A2x) = 0 λ ≥ 0
CO Workshop - Aussois - January 2017
16
CO Workshop - Aussois - January 2017
17
2016)
PP
2
CO Workshop - Aussois - January 2017
18
bibiliography review, J. Global Optim. 5, 291-306.
and its applications, volume 61. Kluwer Academic Publishers, 2002.
KluwerAcademic Publishers, 1998
4 OR, 3:87-107, 2005.
4OR, 11:1-30, 2013.
CO Workshop - Aussois - January 2017
19
CO Workshop - Aussois - January 2017
20
CO Workshop - Aussois - January 2017
21
CO Workshop - Aussois - January 2017
22
max
T,x,y
Tx s.t. TC ≥ f min
x,y
(c + T)x + dy s.t. Ax + By ≥ b
CO Workshop - Aussois - January 2017
23
T,x,y
x,y
CO Workshop - Aussois - January 2017
24
CO Workshop - Aussois - January 2017
25
CO Workshop - Aussois - January 2017
26
CO Workshop - Aussois - January 2017
1 2 3 4 5 10 9 2 2 2 12
27
CO Workshop - Aussois - January 2017
28
6 2 2 1 2 3
T12 = 4 T23 = −2 T34 = 4
4
(Labbé et al., 1998, Roch at al., 2005)
CO Workshop - Aussois - January 2017
29
– one commodity if lower level path is known – one commodity if toll arcs with positive flows are known – one single toll arc.
CO Workshop - Aussois - January 2017
max
T ≥0
X
a∈A1
Ta X
k∈K
nkxk
a
min
x,y
X
k∈K
( X
a∈A1
(ca + Ta)xk
a +
X
a∈A2
caya) s.t. X
a∈i+
(xk
a + yk a) −
X
a∈i−
(xk
a + yk a) = bk i
∀k, i xk
a, yk a ≥ 0,
∀k, a
30
CO Workshop - Aussois - January 2017
31
31
max
T,x,y,λ
X
k∈K
nk X
a∈Ak
Taxk
a
s.t. X
a∈i+
(xk
a + yk a) −
X
a∈i−
(xk
a + yk a) = bk i
∀k, i λk
i − λk j ≤ ca + Ta
∀k, a ∈ A1, i, j λk
i − λk j ≤ ca
∀k, a ∈ A2, i, j X
a∈A1
(ca + Ta)xk
a +
X
a∈A2
caya = λk
dk
∀k xk
a, yk a ≥ 0
∀k, a Ta ≥ 0 ∀a ∈ A1
CO Workshop - Aussois - January 2017
32
very effective
CO Workshop - Aussois - January 2017
33
Seller Consumers pi nk Rk
i
Rk
i is the reservation price of consumer k for product i
CO Workshop - Aussois - January 2017
34
independent of product (Briest 2006)
CO Workshop - Aussois - January 2017
35
max
p≥0
X
k∈K
nk X
i∈I
pixk
i
s.t. max
xk
X
i∈I
(Rk
i − pi)xk i ,
k ∈ K s.t. X
i∈I
xk
i ≤ 1
xk
i ≥ 0
CO Workshop - Aussois - January 2017
36
max
p≥0
X
k∈K
nk X
i∈I
pixk
i
s.t. X
i∈I
(Rk
i − pi)xk i ≥ Rk j − pj,
j ∈ I, k ∈ K X
i∈I
(Rk
i − pi)xk i ≥ 0,
k ∈ K X
i∈I
xk
i ≤ 1
xk
i ≥ 0
CO Workshop - Aussois - January 2017
37
CO Workshop - Aussois - January 2017
38
CO Workshop - Aussois - January 2017
39
Leader Follower
(2,1) (1,0) (4,0) (3,2) A B C D
0.5
A Stackelberg solution to the game (B,D) yielding a payoff of (3.5,1)
0.5 Follower Pure Strategy Leader Mixed Strategy
CO Workshop - Aussois - January 2017
40 Player 2 - A Player 2 - B Player 1 - A (2,2) (4,1) Player 1 - B (1,0) (3,1)
Nash equilibrium: Player 1-A and Player 2-A => (2,2) Stackelberg solution: Player 1-B and Player 2-B => (3,1) Nash equilibrium may not exist There is always an (optimistic) Stackelberg solution
CO Workshop - Aussois - January 2017
41
Leader Follower
(R,C)
Stackelberg Game p-Followers Stackelberg Game
(Conitzer & Sandblom, 2006)
Leader Type 1
Objective of the Game
Follower Type 2 Type 3 Type p
…
CO Workshop - Aussois - January 2017
42
CO Workshop - Aussois - January 2017
43
CO Workshop - Aussois - January 2017
44
that leader chooses strategy i by solving the LP:
max X
i∈I
Rijxi s.t. X
i∈I
xi = 1 xi ≥ 0 X
i∈I
Cijxi ≥ X
i∈I
Cilxi, ∀l ∈ J
CO Workshop - Aussois - January 2017
45
Follower type k ∈ K and π ∈ [0, 1] xi = probability with which the Leader plays pure strategy i
x ∈ S|I| := {x ∈ [0, 1]|I| : X
i∈I
xi = 1}
qk ∈ S|J| := {q ∈ [0, 1]|J| : X
j∈J
qj = 1}, ∀k ∈ K
qk
j = probability with which type k Follower plays pure strategy j
Rk, Ck ∈ R|I|×|J|, ∀k ∈ K
CO Workshop - Aussois - January 2017
46
(BIL-p-G) Maxx,q X
i∈I
X
j∈J
X
k∈K
πkRk
ijxiqk j
s.t. X
i∈I
xi = 1, xi ∈ [0, 1] ∀i ∈ I, qk = arg maxrk 8 < : X
i∈I
X
j∈J
Ck
ijxirk j
9 = ; ∀k ∈ K, rk
j ∈ [0, 1]
∀j ∈ J, ∀k ∈ K, X
j∈J
rk
j = 1
∀k ∈ K.
CO Workshop - Aussois - January 2017
47
(QUAD) max
x,q,a
X
i∈I
X
j∈J
X
k∈K
πkRk
ijxiqk j
s.t. X
i∈I
xi = 1, X
j∈J
qk
j = 1
∀k ∈ K, 0 ≤ (ak − X
i∈I
Ck
ijxi) ≤ (1 − qk j )M
∀j ∈ J, ∀k ∈ K, xi ∈ [0, 1] ∀i ∈ I, qk
j ∈ {0, 1}
∀j ∈ J, ∀k ∈ K, ak ∈ R ∀k ∈ K.
CO Workshop - Aussois - January 2017
48
xiqk
j = zk ij, ∀i ∈ I, j ∈ J, k ∈ K
ij ∈ [0, 1], ∀i ∈ I, j ∈ J, k ∈ K
j∈J
zk
ij, ∀i ∈ I, k ∈ K
j = P i∈I
zk
ij, ∀j ∈ J
12
CO Workshop - Aussois - January 2017
49
(MIP-p-G) max
x,q
X
i∈I
X
j∈J
X
k∈K
⇡kRk
ijzk ij
s.t. X
i∈I
X
j∈J
zk
ij = 1,
∀k ∈ K X
i∈I
(Ck
ij − Ck i`)zk ij ≥ 0
∀j, ` ∈ J, ∀k ∈ K, zk
ij ≥ 0
∀i ∈ I, ∀j ∈ J, ∀k ∈ K, X
i∈I
zk
ij ∈ {0, 1}
∀j ∈ J, ∀k ∈ K, X
j∈J
zk
ij =
X
j∈J
z1
ij
∀i ∈ I, ∀k ∈ K.
CO Workshop - Aussois - January 2017
50
0.01 0.1 1 10 100 1000 10 20 30 40 50 60 70 80 90 100
Time vs. % of problems solved
Ln(Time)0.01 0.1 1 10 20 30 40 50 60 70 80 90 100
LP TIme vs. % of problems solved
Ln(LPTime) % of problems solved1 10 100 1000 10000 100000 1000000 10 20 30 40 50 60 70 80 90 100
Nodes vs. % of problems solved
Ln(Nodes) % of problems solved0.01 0.1 1 10 100 1000 10 20 30 40 50 60 70 80 90 100
%Gap vs. % of problems solved
Ln(%Gap) % of problems solvedD2 FMD2 DOBSS FMDOBSS MIPpG
2: GSGs: I={10,20,30}, J={10,20,30}, K={2,4,6}–with variability.
(D2) (FMD2) (DOBSS) (FMDOBSS) (MIP-p-G) Mean Gap % 110.56 110.56 31.88 30.64 7.56
CO Workshop - Aussois - January 2017
51
Uncovered Defender Dk(j|c) Dk(j|u) Attacker Ak(j|c) Ak(j|u)
CO Workshop - Aussois - January 2017
52
if m ressources and n targets then n
m
“extended formulation”
CO Workshop - Aussois - January 2017
53
(QUAD) max
x,q,a
X
k∈K
πk X
j∈J
qk
j (Dk(j|c)
X
i∈I:j∈i
xi + Dk(j|u) X
i∈I:j / ∈i
xi) s.t. X
i∈I
xi = 1, X
j∈J
qk
j = 1
∀k ∈ K, 0 ≤ ak − (Ak(j|c) X
i∈I:j∈i
xi + Ak(j|u) X
i∈I:j / ∈i
xi) ≤ (1 − qk
j )M
∀j ∈ J, ∀k ∈ K, xi ∈ [0, 1] ∀i ∈ I, qk
j ∈ {0, 1}
∀j ∈ J, ∀k ∈ K, ak ∈ R ∀k ∈ K.
“extended formulation”
CO Workshop - Aussois - January 2017
54
cj 1 - cj
(QUAD) max
x,q,a
X
k∈K
πk X
j∈J
qk
j (Dk(j|c)
X
i∈I:j∈i
xi + Dk(j|u) X
i∈I:j / ∈i
xi) s.t. X
i∈I
xi = 1, X
j∈J
qk
j = 1
∀k ∈ K, 0 ≤ ak − (Ak(j|c) X
i∈I:j∈i
xi + Ak(j|u) X
i∈I:j / ∈i
xi) ≤ (1 − qk
j )M
∀j ∈ J, ∀k ∈ K, xi ∈ [0, 1] ∀i ∈ I, qk
j ∈ {0, 1}
∀j ∈ J, ∀k ∈ K, ak ∈ R ∀k ∈ K.
compact formulation
CO Workshop - Aussois - January 2017
55
(QUAD) max
x,q,a
X
k∈K
πk X
j∈J
qk
j (Dk(j|c)cj + Dk(j|u)(1 − cj))
s.t. X
i∈I
xi = 1, X
i:j∈i
xi = cj ∀j ∈ J, xi ∈ [0, 1] ∀i ∈ I, X
j∈J
qk
j = 1
∀k ∈ K, 0 ≤ ak − (Ak(j|c)cj + Ak(j|u)(1 − cj) ≤ (1 − qk
j )M
∀j ∈ J, ∀k ∈ K, qk
j ∈ {0, 1}
∀j ∈ J, ∀k ∈ K, ak ∈ R ∀k ∈ K.
compact formulation
CO Workshop - Aussois - January 2017
56
(SECU-K-Quad) Maxc X
k∈K
X
j∈J
pk(qk
j (cjDk(j|c) + (1 − cj)Dk(j|u)))
s.t. cj ∈ [0, 1] ∀j ∈ J X
j∈J
cj ≤ m, qk
j (cjAk(j|c) − (1 − cj)Ak(j|u)) ≥ qk j (ctAk(t|c) − (1 − ct)Ak(t|u))
∀k ∈ K, qk
j ∈ {0, 1}
∀j ∈ J, ∀k ∈ K X
j∈J
qk
j = 1
∀k ∈ K.
CO Workshop - Aussois - January 2017
57
(SECU-p-MIP) Maxy X
k∈K
X
j∈J
pk(Dk(j|c)yk
jj + Dk(j|u)(qk j − yk jj))
s.t. X
l∈J
yk
lj ≤ mqk j
∀k, j, 0 ≤ yk
lj ≤ qk j ,
∀k, j X
j∈J
qk
j = 1,
∀k, Ak(j|c)yk
jj + Ak(j|u)(qk j − yk jj) − A(l|c)yk lj
− A(l|u)(qk
l − yk lj) ≥ 0
∀j, l, k, X
l∈J
yk
lj ∈ {0, 1}
∀l, k, X
j∈J
yk
lj =
X
j∈J
y1
lj
∀l, k.
CO Workshop - Aussois - January 2017
58
hj = P i∈I:h∈i zk ij
CO Workshop - Aussois - January 2017
59
0.1 1 10 100 1000 10000 10 20 30 40 50 60 70 80 90 100
Time vs. % of problems solved
Ln(Time)
0.01 0.1 1 10 100 10 20 30 40 50 60 70 80 90 100
LP time vs. % of problems solved
Ln(LPTime) % of problems solved
1 10 100 1000 10000 100000 1000000 10000000 10 20 30 40 50 60 70 80 90 100
Nodes vs. % of problems solved
Ln(Nodes)
0.1 1 10 100 1000 10 20 30 40 50 60 70 80 90 100
Gap% vs. % of problems solved
Ln(Gap%) % of problems solved
ERASER SDOBSS MIPpS
(ERASER) (SDBOSS) (MIP-p-S) Mean Gap % 204.82 28.76 1.72
SSGs: |K| ∈ {4, 6, 8, 12}, |J| ∈ {30, 40, 50, 60, 70}, m ∈ {0.25|J|, 0.50|J|, 0.75|J|}
CO Workshop - Aussois - January 2017
60
Pricing problems Second level: LP Second level: shortest path Second level: “One out of N” Bilevel bilinear optimization Stackelberg games
CO Workshop - Aussois - January 2017
61
61
Pricing problems Second level: LP Second level: shortest path Second level: “One out of N” Bilevel optimization Stackelberg games
Single level nonlinear reformulation
CO Workshop - Aussois - January 2017
62
62 62
Pricing problems Second level: LP Second level: shortest path Second level: “One out of N” Bilevel optimization Stackelberg games
Single level nonlinear reformulation
MIP
CO Workshop - Aussois - January 2017
63
2nd IWOBIP - International Workshop in Bilevel Programming Lille, June 18-22, 2018