Bilevel Knapsack with interdiction constraints Alberto Caprara 1 - - PowerPoint PPT Presentation

bilevel knapsack with interdiction constraints
SMART_READER_LITE
LIVE PREVIEW

Bilevel Knapsack with interdiction constraints Alberto Caprara 1 - - PowerPoint PPT Presentation

Bilevel Programming Bilevel Knapsack Algorithms Conclusions Bilevel Knapsack with interdiction constraints Alberto Caprara 1 Margarida Carvalho 2 Andrea Lodi 1 Gerhard Woeginger 3 1 DEI, University of Bologna, Italy 2 Faculdade de Ci encias


slide-1
SLIDE 1

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Bilevel Knapsack with interdiction constraints

Alberto Caprara 1 Margarida Carvalho 2 Andrea Lodi 1 Gerhard Woeginger 3

1DEI, University of Bologna, Italy 2Faculdade de Ciˆ

encias da Universidade do Porto, Portugal

3TU Eindhoven, Netherlands 17th Combinatorial Optimization Workshop, Aussois, France January, 2013 Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-2
SLIDE 2

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

1 Bilevel Programming

Motivation Definition Challenges

2 Bilevel Knapsack

Bilevel knapsack with interdiction constraints DN Bilevel knapsack DR Bilevel knapsack MACH Computational complexity

3 Algorithms

Upper Bound Basic Scheme ImproveA CCLW Method Computational Results

4 Conclusions

Generalizations

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-3
SLIDE 3

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Motivation

1952 Stackelberg Game: a player, called the leader, takes his decision before decisions of other players, called the followers;

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-4
SLIDE 4

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Motivation

1952 Stackelberg Game: a player, called the leader, takes his decision before decisions of other players, called the followers; 80’s Development policy (e.g. determination of pricing policies); Generalization: multilevel programming - Hierarchical structures; Computational complexity theory;

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-5
SLIDE 5

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Motivation

90’s Algorithms to linear bilevel programming problems; Algorithms to integer linear bilevel programming problems;

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-6
SLIDE 6

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Motivation

90’s Algorithms to linear bilevel programming problems; Algorithms to integer linear bilevel programming problems; Recently Bilevel problem specific algorithms/heuristics; Defence-planning problems (e.g. Transmission networks); Worst-case analyses; Interdiction problems (e.g. sensitivity analysis);

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-7
SLIDE 7

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Definition

Minimizex,y L (x, y) (1a) subject to (x, y) ∈ X (1b) where y solves the follower’s problem Minimizey F (x, y) s.t. (x, y) ∈ Y (1c)

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-8
SLIDE 8

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Challenges - Example from Moore and Bard (1990)

min

x,y

− x − 10y s.t. x ∈ PU

where y is

  • ptimal to

min

y

y s.t 5x − 4y ≥ −6 −x − 2y ≥ −10 −2x + y ≥ −15 2x + 10y ≥ 15 y ∈ PL 1 2 3 4 5 6 7 8 1 2 3 4

PU = R+ and PL = R+

1 2 3 4 5 6 7 8 1 2 3 4

PU = Z+ and PL = Z+ Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-9
SLIDE 9

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Challenges - Example from Moore and Bard (1990)

min

x,y

− x − 10y s.t. x ∈ PU

where y is

  • ptimal to

min

y

y s.t 5x − 4y ≥ −6 −x − 2y ≥ −10 −2x + y ≥ −15 2x + 10y ≥ 15 y ∈ PL 1 2 3 4 5 6 7 8 1 2 3 4

PU = R+ and PL = R+

1 2 3 4 5 6 7 8 1 2 3 4

PU = Z+ and PL = Z+ Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-10
SLIDE 10

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Challenges - Example from Moore and Bard (1990)

min

x,y

− x − 10y s.t. x ∈ PU

where y is

  • ptimal to

min

y

y s.t 5x − 4y ≥ −6 −x − 2y ≥ −10 −2x + y ≥ −15 2x + 10y ≥ 15 y ∈ PL 1 2 3 4 5 6 7 8 1 2 3 4

OP T PU = R+ and PL = R+ OP T = −18

1 2 3 4 5 6 7 8 1 2 3 4

PU = Z+ and PL = Z+ Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-11
SLIDE 11

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Challenges - Example from Moore and Bard (1990)

min

x,y

− x − 10y s.t. x ∈ PU

where y is

  • ptimal to

min

y

y s.t 5x − 4y ≥ −6 −x − 2y ≥ −10 −2x + y ≥ −15 2x + 10y ≥ 15 y ∈ PL 1 2 3 4 5 6 7 8 1 2 3 4

OP T PU = R+ and PL = R+ OP T = −18

1 2 3 4 5 6 7 8 1 2 3 4

PU = Z+ and PL = Z+ Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-12
SLIDE 12

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Challenges - Example from Moore and Bard (1990)

min

x,y

− x − 10y s.t. x ∈ PU

where y is

  • ptimal to

min

y

y s.t 5x − 4y ≥ −6 −x − 2y ≥ −10 −2x + y ≥ −15 2x + 10y ≥ 15 y ∈ PL 1 2 3 4 5 6 7 8 1 2 3 4

OP T PU = R+ and PL = R+ OP T = −18

1 2 3 4 5 6 7 8 1 2 3 4

PU = Z+ and PL = Z+ Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-13
SLIDE 13

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Challenges - Example from Moore and Bard (1990)

min

x,y

− x − 10y s.t. x ∈ PU

where y is

  • ptimal to

min

y

y s.t 5x − 4y ≥ −6 −x − 2y ≥ −10 −2x + y ≥ −15 2x + 10y ≥ 15 y ∈ PL 1 2 3 4 5 6 7 8 1 2 3 4

OP T PU = R+ and PL = R+ OP T = −18

1 2 3 4 5 6 7 8 1 2 3 4

OP T PU = Z+ and PL = Z+ OP T = −22 Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-14
SLIDE 14

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Bilevel knapsack with interdiction constraints DN

max

y∈Bn n

X

i=1

piyi (3c) s.t.

n

X

i=1

wiyi ≤ Cl and (3d)

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-15
SLIDE 15

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Bilevel knapsack with interdiction constraints DN

min

(x,y)∈Bn×Bn n

X

i=1

piyi (3a)

  • s. t.

n

X

i=1

vixi ≤ Cu (3b)

where y1, . . . , yn solves the follower’s problem

max

y∈Bn n

X

i=1

piyi (3c) s.t.

n

X

i=1

wiyi ≤ Cl and (3d) yi ≤ 1 − xi for 1 ≤ i ≤ n (3e)

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-16
SLIDE 16

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Bilevel knapsack with interdiction constraints DN

min

(x,y)∈Bn×Bn n

X

i=1

piyi (3a)

  • s. t.

n

X

i=1

vixi ≤ Cu (3b)

where y1, . . . , yn solves the follower’s problem

max

y∈Bn n

X

i=1

piyi (3c) s.t.

n

X

i=1

wiyi ≤ Cl and (3d) yi ≤ 1 − xi for 1 ≤ i ≤ n (3e)

Applications:

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-17
SLIDE 17

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Bilevel knapsack with interdiction constraints DN

min

(x,y)∈Bn×Bn n

X

i=1

piyi (3a)

  • s. t.

n

X

i=1

vixi ≤ Cu (3b)

where y1, . . . , yn solves the follower’s problem

max

y∈Bn n

X

i=1

piyi (3c) s.t.

n

X

i=1

wiyi ≤ Cl and (3d) yi ≤ 1 − xi for 1 ≤ i ≤ n (3e)

Applications: Corporate Strategy;

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-18
SLIDE 18

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Bilevel knapsack with interdiction constraints DN

min

(x,y)∈Bn×Bn n

X

i=1

piyi (3a)

  • s. t.

n

X

i=1

vixi ≤ Cu (3b)

where y1, . . . , yn solves the follower’s problem

max

y∈Bn n

X

i=1

piyi (3c) s.t.

n

X

i=1

wiyi ≤ Cl and (3d) yi ≤ 1 − xi for 1 ≤ i ≤ n (3e)

Applications: Corporate Strategy; Government control for reducing tax evasion.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-19
SLIDE 19

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Bilevel knapsack with interdiction constraints DN

min

(x,y)∈Bn×Bn n

X

i=1

piyi (3a)

  • s. t.

n

X

i=1

vixi ≤ Cu (3b)

where y1, . . . , yn solves the follower’s problem

max

y∈Bn n

X

i=1

piyi (3c) s.t.

n

X

i=1

wiyi ≤ Cl and (3d) yi ≤ 1 − xi for 1 ≤ i ≤ n (3e)

Applications: Corporate Strategy; Government control for reducing tax evasion. However, the natural motivation for looking at these problems is methodological: knapsack has been a fundamental ”playground” for understanding single-level programming and it is likely that the same turns out to be true in the bilevel case.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-20
SLIDE 20

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Bilevel knapsack DR

The Dempe-Richter variant max tx +

n

  • i=1

aiyi (4a) subject to C ≤ x ≤ C′ (4b) where y1, . . . , yn solves the follower’s problem max

n

  • i=1

biyi s.t.

n

  • i=1

biyi ≤ x (4c) yi ∈ {0, 1} for 1 ≤ i ≤ n (4d)

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-21
SLIDE 21

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Bilevel knapsack MACH

The Mansi-Alves-de-Carvalho-Hanafi variant max

m

  • j=1

ajxj +

n

  • i=1

a′

iyi

(5a) subject to xj ∈ {0, 1} for 1 ≤ j ≤ m (5b) where y1, . . . , yn solves the follower’s problem max

n

  • i=1

b′

iyi

s.t.

n

  • i=1

c′

iyi ≤ C − m

  • j=1

cjxj (5c) yi ∈ {0, 1} for 1 ≤ i ≤ n (5d)

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-22
SLIDE 22

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Hardness results

Theorem The decision versions of DN, DR and MACH in binary encoding are Σp

2 − comlete.

Proof. By reduction from the SUBSET-SUM-INTERVAL.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-23
SLIDE 23

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Unary encodings

Under unary encoding

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-24
SLIDE 24

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Unary encodings

Under unary encoding the DR and MACH variants become polynomially solvable

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-25
SLIDE 25

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Unary encodings

Under unary encoding the DR and MACH variants become polynomially solvable the DN variant is NP-complete.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-26
SLIDE 26

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Approximability and inapproximability

Corollary Problems DR and MACH do not possess a polynomial time approximation algorithm with finite worst case guarantee, unless P = Σp

2 and therefore P = NP.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-27
SLIDE 27

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Approximability and inapproximability

Corollary Problems DR and MACH do not possess a polynomial time approximation algorithm with finite worst case guarantee, unless P = Σp

2 and therefore P = NP.

Theorem In problem DN, consider wi = pi for 1 ≤ i ≤ n. This case possess a polynomial time approximation scheme.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-28
SLIDE 28

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Knapsack Problem: relaxed optimal solution

Items sorted according to:

p1 w1 ≥ p2 w2 ≥ . . . pn wn

y∗

i = 1

i = 1, . . . , c−1 y∗

c =

Cl −

c−1

X

i=1

wi wc y∗

i = 0

i = c+1, . . . , n where c = min{j :

j

X

i=1

wi > Cl}.

. . . Cl . . . 1 2 3 w1 w2 w3

c − 1

c

c + 1

n

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-29
SLIDE 29

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Knapsack Problem: relaxed optimal solution

Items sorted according to:

p1 w1 ≥ p2 w2 ≥ . . . pn wn

y∗

i = 1

i = 1, . . . , c−1 y∗

c =

Cl −

c−1

X

i=1

wi wc y∗

i = 0

i = c+1, . . . , n where c = min{j :

j

X

i=1

wi > Cl}.

. . . Cl . . . 1 2 3 w1 w2 w3

c − 1

c

c + 1

n

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-30
SLIDE 30

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Classic approach - lower bound

Bilevel Knapsack with interdiction min

(x,y)∈Bn×Bn n

X

i=1

piyi

  • s. t.

n

X

i=1

vixi ≤ Cu

where y1, . . . , yn solves the follower’s problem

max

y∈Bn n

X

i=1

piyi s.t.

n

X

i=1

wiyi ≤ Cl and yi ≤ 1 − xi for 1 ≤ i ≤ n

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-31
SLIDE 31

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Classic approach - lower bound

Relax integrality min

(x,y)✭✭✭

∈Bn×Bn n

X

i=1

piyi

  • s. t.

n

X

i=1

vixi ≤ Cu 0 ≤ xi ≤ 1 for 1 ≤ i ≤ n

where y1, . . . , yn solves the follower’s problem

max

y✘

∈Bn n

X

i=1

piyi s.t.

n

X

i=1

wiyi ≤ Cl and yi ≤ 1 − xi for 1 ≤ i ≤ n yi ≥ 0 for 1 ≤ i ≤ n

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-32
SLIDE 32

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Classic approach - lower bound

High-point problem min

(x,y)✭✭✭

∈Bn×Bn n

X

i=1

piyi

  • s. t.

n

X

i=1

vixi ≤ Cu 0 ≤ xi ≤ 1 for 1 ≤ i ≤ n

where y1, . . . , yn solves the follower’s problem

✟✟✟✟✟ ✟

max

y∈Bn n

X

i=1

piyi s.t.

n

X

i=1

wiyi ≤ Cl yi ≤ 1 − xi for 1 ≤ i ≤ n yi ≥ 0 for 1 ≤ i ≤ n

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-33
SLIDE 33

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Upper Bound

Theorem

The optimal solution value of the bilevel formulation (MIP 1) min

(x,y)∈Bn×[0,1]n n

X

i=1

piyi subject to

n

X

i=1

vixi ≤ Cu where y1, . . . , yn solves max

y∈[0,1]n n

X

i=1

piyi s.t.

n

X

i=1

wiyi ≤ Cl yi ≤ 1 − xi for 1 ≤ i ≤ n provides an upper bound.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-34
SLIDE 34

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computing upper bound

Theorem

The bilevel problem MIP 1 is equivalent to the following: (MIP 1) min

x∈Bn,z∈[0,∞)n+1,u∈[0,∞)n

z0Cl +

n

X

i=1

ui subject to

n

X

i=1

vixi ≤ Cu ui ≥ 0 for 1 ≤ i ≤ n ui ≥ zi − pixi for 1 ≤ i ≤ n wiz1 + zi ≥ pi for 1 ≤ i ≤ n.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-35
SLIDE 35

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computing upper bound

Proof.

(KP) maxy≥0

n

X

i=1

yipi subject to Pn

i=1 yiwi ≤ Cl

yi ≤ 1 − xk

i

for 1 ≤ i ≤ n

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-36
SLIDE 36

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computing upper bound

Proof.

(KP) maxy≥0

n

X

i=1

yipi subject to Pn

i=1 yiwi ≤ Cl

yi ≤ 1 − xk

i

for 1 ≤ i ≤ n (DDN) min

z∈[0,∞)n+1

z0Cl +

n

X

i=1

(1 − xi) zi subject to wiz0 + zi ≥ pi for 1 ≤ i ≤ n.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-37
SLIDE 37

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computing upper bound

Proof.

min

x∈Bn,z∈[0,∞)n+1,y∈[0,1]n n

X

i=1

piyi subject to

n

X

i=1

vixi ≤ Cu z0Cl +

n

X

i=1

(1 − xi) zi =

n

X

i=1

piyi

n

X

i=1

wiyi ≤ Cl xi + yi ≤ 1 for 1 ≤ i ≤ n wiz0 + zi ≥ pi for 1 ≤ i ≤ n.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-38
SLIDE 38

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computing upper bound

Proof.

min

x∈Bn,z∈[0,∞)n+1

z0Cl +

n

X

i=1

(1 − xi) zi subject to

n

X

i=1

vixi ≤ Cu wiz0 + zi ≥ pi for 1 ≤ i ≤ n

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-39
SLIDE 39

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computing upper bound

Proof.

McCormick convex relaxation ui = (1 − xi) zi for 1 ≤ i ≤ n.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-40
SLIDE 40

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computing upper bound

Proof.

McCormick convex relaxation ui = (1 − xi) zi for 1 ≤ i ≤ n. Bounds

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-41
SLIDE 41

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computing upper bound

Proof.

McCormick convex relaxation ui = (1 − xi) zi for 1 ≤ i ≤ n. Bounds 0 ≤ xi ≤ 1

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-42
SLIDE 42

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computing upper bound

Proof.

McCormick convex relaxation ui = (1 − xi) zi for 1 ≤ i ≤ n. Bounds 0 ≤ xi ≤ 1 0 ≤ zi ≤ pi

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-43
SLIDE 43

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computing upper bound

Proof.

McCormick convex relaxation ui = (1 − xi) zi for 1 ≤ i ≤ n. Bounds 0 ≤ xi ≤ 1 0 ≤ zi ≤ pi Replace (1 − xi) zi by ui and add the constraints: ui ≥ 0 for 1 ≤ i ≤ n ui ≥ zi − pixi for 1 ≤ i ≤ n ui ≤ zi for 1 ≤ i ≤ n ui ≤ pi − pixi for 1 ≤ i ≤ n.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-44
SLIDE 44

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computing upper bound

Proof.

McCormick convex relaxation ui = (1 − xi) zi for 1 ≤ i ≤ n. Bounds 0 ≤ xi ≤ 1 0 ≤ zi ≤ pi Replace (1 − xi) zi by ui and add the constraints: ui ≥ 0 for 1 ≤ i ≤ n ui ≥ zi − pixi for 1 ≤ i ≤ n

✘✘✘ ✘

ui ≤ zi for 1 ≤ i ≤ n

✭✭✭✭✭ ✭

ui ≤ pi − pixi for 1 ≤ i ≤ n.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-45
SLIDE 45

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Basic scheme

follower’s profit

n

  • i=1

piy∗

i

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-46
SLIDE 46

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Basic scheme

follower’s profit

n

  • i=1

piy1

i n

  • i=1

piy∗

i

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-47
SLIDE 47

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Basic scheme

follower’s profit

n

  • i=1

piy1

i n

  • i=1

piyi

  • x1

n

  • i=1

piy∗

i

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-48
SLIDE 48

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Basic scheme

Add nogood constraint

  • i:x1

i =1

(1 − xi) +

  • i:x1

i =0

xi ≥ 1 follower’s profit

n

  • i=1

piy1

i n

  • i=1

piyi

  • x1

n

  • i=1

piy∗

i

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-49
SLIDE 49

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Basic scheme

Add nogood constraint

  • i:x1

i =1

(1 − xi) +

  • i:x1

i =0

xi ≥ 1 follower’s profit

n

X

i=1

piy1

i n

X

i=1

piyi “ x1”

n

  • i=1

piy∗

i n

  • i=1

piy2

i

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-50
SLIDE 50

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Basic scheme

Add nogood constraint

  • i:x1

i =1

(1 − xi) +

  • i:x1

i =0

xi ≥ 1 follower’s profit

n

X

i=1

piy1

i n

X

i=1

piyi “ x1”

n

  • i=1

piy∗

i n

  • i=1

piy2

i

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-51
SLIDE 51

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Basic scheme

Add nogood constraint

  • i:x1

i =1

(1 − xi) +

  • i:x1

i =0

xi ≥ 1 follower’s profit

n

X

i=1

piy1

i n

X

i=1

piyi “ x1”

n

  • i=1

piy∗

i n

  • i=1

piy2

i

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-52
SLIDE 52

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Basic scheme

Add nogood constraint

  • i:x1

i =1

(1 − xi) +

  • i:x1

i =0

xi ≥ 1

  • i:x2

i =1

(1 − xi) +

  • i:x2

i =0

xi ≥ 1 follower’s profit

n

X

i=1

piy1

i n

X

i=1

piyi “ x1”

n

  • i=1

piy∗

i n

  • i=1

piy2

i

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-53
SLIDE 53

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Basic scheme

Add nogood constraint

  • i:x1

i =1

(1 − xi) +

  • i:x1

i =0

xi ≥ 1

  • i:x2

i =1

(1 − xi) +

  • i:x2

i =0

xi ≥ 1 . . . follower’s profit

n

X

i=1

piy1

i n

X

i=1

piyi “ x1”

n

  • i=1

piy∗

i n

  • i=1

piy2

i

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-54
SLIDE 54

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Basic scheme

Add nogood constraint Add strong maximal constraint

  • i:x1

i =1

(1 − xi) +

  • i:x1

i =0

xi ≥ 1

  • i:x1

i =0

xi ≥ 1

  • i:x2

i =1

(1 − xi) +

  • i:x2

i =0

xi ≥ 1 . . . follower’s profit

n

X

i=1

piy1

i n

X

i=1

piyi “ x1”

n

  • i=1

piy∗

i n

  • i=1

piy2

i

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-55
SLIDE 55

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Basic scheme

Add nogood constraint Add strong maximal constraint

  • i:x1

i =1

(1 − xi) +

  • i:x1

i =0

xi ≥ 1

  • i:x1

i =0

xi ≥ 1

  • i:x2

i =1

(1 − xi) +

  • i:x2

i =0

xi ≥ 1

  • i:x2

i =0

xi ≥ 1 . . . follower’s profit

n

X

i=1

piy1

i n

X

i=1

piyi “ x1”

n

  • i=1

piy∗

i n

  • i=1

piy2

i

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-56
SLIDE 56

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Basic scheme

Add nogood constraint Add strong maximal constraint

  • i:x1

i =1

(1 − xi) +

  • i:x1

i =0

xi ≥ 1

  • i:x1

i =0

xi ≥ 1

  • i:x2

i =1

(1 − xi) +

  • i:x2

i =0

xi ≥ 1

  • i:x2

i =0

xi ≥ 1 . . . . . . follower’s profit

n

X

i=1

piy1

i n

X

i=1

piyi “ x1”

n

  • i=1

piy∗

i n

  • i=1

piy2

i

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-57
SLIDE 57

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

ImproveA

Definition If xk is a leader’s maximal strategy, then

i:yi(xk)=1 xi ≥ 1 is

called a follower’s nogood constraint.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-58
SLIDE 58

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

ImproveA

Definition If xk is a leader’s maximal strategy, then

i:yi(xk)=1 xi ≥ 1 is

called a follower’s nogood constraint. It is easy to see that given a maximal leader’s strategy xk the corresponding strong maximal constraint is dominated by the associated follower’s nogood constraint:

  • i:xk

i =0

xi ≥ 1

yi(xk)=1 implies xk

i =0

− − − − − − − − − − − − − − →

  • i:yi(xk)=1

xi ≥ 1

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-59
SLIDE 59

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

ImproveA

Proposition At any iteration k of ImproveA, the current best solution

  • xOPT , yOPT

cannot be improved if

n

  • i=1

piyOPT

i

+ max

i=1,...,n pi ≤ n

  • i=1

piyk

i .

follower’s profit

OP T

n

X

i=1

piy∗

i

| {z }

=

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-60
SLIDE 60

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

ImproveA

Proposition At any iteration k of ImproveA, the current best solution

  • xOPT , yOPT

cannot be improved if

n

  • i=1

piyOPT

i

+ max

i=1,...,n pi ≤ n

  • i=1

piyk

i .

follower’s profit

OP T n

X

i=1

piym

i

n

X

i=1

piy∗

i

| {z }

= n

X

i=1

piyi ` xm´ Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-61
SLIDE 61

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

ImproveA

Proposition At any iteration k of ImproveA, the current best solution

  • xOPT , yOPT

cannot be improved if

n

  • i=1

piyOPT

i

+ max

i=1,...,n pi ≤ n

  • i=1

piyk

i .

≤ pcm ≤ max

i=1,...,n pi

follower’s profit

OP T n

X

i=1

piym

i

n

X

i=1

piy∗

i

| {z }

= n

X

i=1

piyi ` xm´ Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-62
SLIDE 62

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

ImproveA

Proposition At any iteration k of ImproveA, the current best solution

  • xOPT , yOPT

cannot be improved if

n

  • i=1

piyOPT

i

+ max

i=1,...,n pi ≤ n

  • i=1

piyk

i .

≤ pcm ≤ max

i=1,...,n pi

follower’s profit

OP T + max

i=1,...,n pi

OP T n

X

i=1

piym

i

n

X

i=1

piy∗

i

| {z }

= n

X

i=1

piyi ` xm´ Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-63
SLIDE 63

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

ImproveA

Proposition At any iteration k of ImproveA, the current best solution

  • xOPT , yOPT

cannot be improved if

n

  • i=1

piyOPT

i

+ max

i=1,...,n pi ≤ n

  • i=1

piyk

i .

≤ pcm ≤ max

i=1,...,n pi

follower’s profit

OP T + max

i=1,...,n pi

OP T n

X

i=1

piym

i

n

X

i=1

piy∗

i

| {z }

= n

X

i=1

piyi ` xm´ n

X

i=1

piyk

i Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-64
SLIDE 64

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

ImproveA

1: ratio = items sorted by non increasing order of the ratio

pi wi for i = 1 : n;

2: Build MIP 1; k = 1; OP T = +∞; pmax = maxi=1,...,n pi; 3: while MIP k is feasible do 4:

xk = arg min{MIP k}

5:

if OP T + pmax ≤ Optimal value of MIP k “ = Pn

i=1 piyk i

” then

6:

STOP while;

7:

else

8:

Residual = Cu − Pn

i=1 vixk i

9:

xk, c, yc = MakeMaximal “ xk, ratio, Residual ”

10:

y “ xk” = BestReaction “ xk” // solve the follower’s knapsack problem given xk

11:

if Pn

i=1 piyi

“ xk” < OP T then

12:

OP T = Pn

i=1 piyi

“ xk” ;

13:

“ xOP T , yOP T ” = “ xk, y “ xk””

14:

end if

15:

MIP k+1 ← add follower’s nogood constraint to the MIP k: X

i:yi “ xk ” =1

xi ≥ 1

16:

end if

17:

k = k + 1

18: end while 19: return OPT,

“ xOP T , yOP T ” Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-65
SLIDE 65

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

CCLW Method

Goal: avoid the computation of leader’s interdictions that do not lead to improvements in the current OPT follower’s profit

OP T n

X

i=1

piyk

i Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-66
SLIDE 66

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

CCLW Method

Goal: avoid the computation of leader’s interdictions that do not lead to improvements in the current OPT follower’s profit

OP T n

X

i=1

piyk

i − pk ckyck n

X

i=1

piyk

i Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-67
SLIDE 67

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

CCLW Method

Goal: avoid the computation of leader’s interdictions that do not lead to improvements in the current OPT follower’s profit

n

X

i=1

piyi “ xk” OP T n

X

i=1

piyk

i − pk ckyck n

X

i=1

piyk

i Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-68
SLIDE 68

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

CCLW Method

Goal: avoid the computation of leader’s interdictions that do not lead to improvements in the current OPT follower’s profit

OP T n

X

i=1

piyk

i Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-69
SLIDE 69

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

CCLW Method

Goal: avoid the computation of leader’s interdictions that do not lead to improvements in the current OPT follower’s profit

OP T n

X

i=1

piyk

i

n

X

i=1

piyi “ xk” Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-70
SLIDE 70

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

CCLW Method

Goal: avoid the computation of leader’s interdictions that do not lead to improvements in the current OPT follower’s profit

OP T n

X

i=1

piyk

i

n

X

i=1

piyi “ xk” Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-71
SLIDE 71

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

CCLW Method

Goal: avoid the computation of leader’s interdictions that do not lead to improvements in the current OPT

≤ pck ≤ zk max

i=1,...,n wi

follower’s profit

OP T n

X

i=1

piyk

i

n

X

i=1

piyi “ xk” Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-72
SLIDE 72

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

CCLW Method

Theorem Let xk be a leader’s interdiction. Then, there is a dual solution of the corresponding follower’s relaxed rational reaction to xk satisfying: zk

0 max i=1,...,n wi ≥ n

  • i=1

piyk

i − n

  • i=1

piyi

  • xk

.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-73
SLIDE 73

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

CCLW Method

Proof.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-74
SLIDE 74

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

CCLW Method

Proof. Consider an interdiction xk. At most one entry of yk is not binary in the relaxed rational reaction to xk. If a follower’s variable is not binary then it is yk

ck and thus, by strong duality,

there is a corresponding optimal dual solution such that zk

ck = 0

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-75
SLIDE 75

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

CCLW Method

Proof. Consider an interdiction xk. At most one entry of yk is not binary in the relaxed rational reaction to xk. If a follower’s variable is not binary then it is yk

ck and thus, by strong duality,

there is a corresponding optimal dual solution such that zk

ck = 0

which implies - remember dual constraint z0wi + zi ≥ pi

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-76
SLIDE 76

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

CCLW Method

Proof. Consider an interdiction xk. At most one entry of yk is not binary in the relaxed rational reaction to xk. If a follower’s variable is not binary then it is yk

ck and thus, by strong duality,

there is a corresponding optimal dual solution such that zk

ck = 0

which implies - remember dual constraint z0wi + zi ≥ pi zk

0wck ≥ pck ⇒ zk 0 max i=1,...,n wi ≥ zk 0wck ≥ pck > n

  • i=1

piyk−

n

  • i=1

piyi

  • xk

.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-77
SLIDE 77

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

CCLW Method

Proof. Consider an interdiction xk. At most one entry of yk is not binary in the relaxed rational reaction to xk. If a follower’s variable is not binary then it is yk

ck and thus, by strong duality,

there is a corresponding optimal dual solution such that zk

ck = 0

which implies - remember dual constraint z0wi + zi ≥ pi zk

0wck ≥ pck ⇒ zk 0 max i=1,...,n wi ≥ zk 0wck ≥ pck > n

  • i=1

piyk−

n

  • i=1

piyi

  • xk

. If all follower’s variables are binary

n

  • i=1

piyk −

n

  • i=1

piyi

  • xk

= 0 ≤ zk

0 max i=1,...,n wi

since zk

0 ≥ 0.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-78
SLIDE 78

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

CCLW Method

1:

ratio = items sorted by non increasing order of the ratio pi/wi for i = 1 : n;

2:

pmax = maxi=1,...,n pi; wmax = maxi=1,...,n wi

3:

Build MIP 1; k = 1; OP T = +∞;

4:

while MIP k is feasible do

5:

xk = arg min{MIP k}

6:

if OP T + pmax ≤ Optimal value of MIP k “ = Pn

i=1 piyk i

” then

7:

STOP while;

8:

else

9:

Residual = Cu − Pn

i=1 vixk i

10:

xk, c, yc = MakeMaximal “ xk, ratio, Residual ”

11:

y “ xk” = BestReaction “ xk” // solve knapsack problem

12:

if Pn

i=1 piyi

“ xk” < OP T then

13:

OP T = Pn

i=1 piyi

“ xk” ; “ xOP T , yOP T ” = “ xk, y “ xk””

14:

MIP k+1 ← if k = 1 add strong cut z0Cl +

n

X

i=1

ui − z0wmax ≤ OP T − 1,

  • therwise update the right hand side of the strong cut with OPT-1.

15:

end if

16:

MIP k+1 ← add follower’s nogood constraint to the MIP k : P

i:yi “ xk ” =1 xi ≥ 1

17:

end if

18:

k = k + 1

19:

end while

20:

return OPT, “ xOP T , yOP T ” Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-79
SLIDE 79

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computational Results - Improvements comparison

n INS ObjF OPT # MIP OPTiter CPU (s) WMIP (s) WMIP Nodes 25 1 205.56 192 ImproveA 8 1 0.09 0.01 11 CCLW 8 1 0.10 0.01 12 2 273.08 258 ImproveA 35 1 0.82 0.03 70 CCLW 31 1 0.74 0.03 61 3 345.90 339 ImproveA 101 1 3.72 0.05 263 CCLW 79 1 2.93 0.06 271 4 460.60 447 ImproveA 318 2 38.74 0.79 2042 CCLW 154 2 13.69 0.20 609 5 249.00 249 ImproveA 1710 1 2953.88 6.19 6903 CCLW 2 1 0.05 0.03 9 6 92.00 92 ImproveA 829 1 148.37 0.59 3057 CCLW 2 1 0.02 0.01 7 180.00 180 ImproveA 686 1 142.76 1.10 3513 CCLW 2 1 0.03 0.01 8 86.00 86 ImproveA 522 1 71.19 0.41 2976 CCLW 2 1 0.02 0.00 9 126.00 126 ImproveA 1336 1 764.06 1.91 4812 CCLW 2 1 0.02 0.00 10 25.00 25 ImproveA 195 1 7.13 0.06 395 CCLW 2 1 0.01 0.00 Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-80
SLIDE 80

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computational Results - Improvements comparison

n INS ObjF OPT # MIP OPTiter CPU (s) WMIP (s) WMIP Nodes 30 1 282.80 272 ImproveA 15 2 0.26 0.02 9 CCLW 15 2 0.28 0.02 5 2 423.29 410 ImproveA 52 1 1.73 0.04 218 CCLW 52 1 1.86 0.05 163 3 513.63 502 ImproveA 295 1 42.92 0.27 1100 CCLW 195 1 21.95 0.27 857 4 600.63 592 ImproveA 1410 1 3604.91 12.66 8178 CCLW 845 1 1049.82 4.17 7296 5 220.00 220 ImproveA 1559 1 3603.33 6.83 8050 CCLW 2 1 0.03 0.01 6 382.00 382 ImproveA 1457 1 3606.36 7.63 11319 CCLW 2 1 0.04 0.02 7 303.00 303 ImproveA 1464 1 3600.10 8.04 7897 CCLW 2 1 0.03 0.01 8 190.00 190 ImproveA 1521 1 3602.94 8.87 10663 CCLW 2 1 0.03 0.01 9 49.00 49 ImproveA 379 1 42.38 0.36 1683 CCLW 2 1 0.02 0.00 10 50.00 50 ImproveA 513 1 61.96 0.41 2225 CCLW 2 1 0.02 0.00 Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-81
SLIDE 81

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computational Results

CCLW Maximum Infeasibility Strong Branching Size - n Avg CPU (s) Avg CPU (s) Avg CPU (s) 10 0.009 3.17 4.69 11 0.009 6.63 9.13 12 0.009 13.27 17.50 13 0.011 27.54 35.84 14 0.011 60.08 71.90 15 0.013 124.84 145.99 16 0.014 249.19 296.16 17 0.016 516.65

  • Table: Summary results from DeNegre’s instances.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-82
SLIDE 82

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computational Results

CCLW n INS ObjF OPT # MIP OPTiter CPU (s) WMIP (s) WMIP Nodes 35 1 288.07 279 23 2 0.67 0.03 18 2 474.00 469 87 1 5.66 0.16 368 3 455.88 448 637 1 228.57 1.71 3572 4 374.56 370 11 1 0.85 0.13 365 5 472.00 467 5 2 0.55 0.18 586 6 268.00 268 2 1 0.03 0.01 7 207.00 207 2 1 0.03 0.01 8 41.00 41 2 1 0.02 0.00 9 80.00 80 2 1 0.02 0.00 10 31.00 31 2 1 0.02 0.00 40 1 326.12 314 42 1 1.59 0.05 83 2 483.78 472 312 2 59.77 0.51 1000 3 644.78 637 1225 1 3831.51 9.53 10459 4 396.56 388 3 1 0.23 0.12 171 5 466.18 461 2 1 0.19 0.13 93 6 399.00 399 2 1 0.06 0.03 7 150.00 150 2 1 0.03 0.01 8 71.00 71 2 1 0.02 0.00 9 179.00 179 2 1 0.04 0.01 13 10 0.00 2 1 0.02 0.00 Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-83
SLIDE 83

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computational Results

CCLW n INS ObjF OPT # MIP OPTiter CPU (s) WMIP (s) WMIP Nodes 45 1 434.60 427 69 1 3.47 0.06 271 2 642.36 633 208 1 35.95 0.44 1097 3 558.69 548 1761 1 5839.13 11.68 11427 4 624.84 611 156 1 58.04 1.18 9786 5 630.00 629 15 7 2.37 0.30 1276 6 398.00 398 2 1 0.05 0.02 7 225.00 225 2 1 0.03 0.00 8 157.00 157 2 1 0.03 0.01 9 53.00 53 2 1 0.03 0.01 10 110.00 110 2 1 0.03 0.00 50 1 514.12 502 97 1 7.46 0.16 274 2 798.00 788 3115 2 43064.91 40.83 14624 3 638.47 631 774 1 1268.18 6.28 15299 4 621.04 612 20 1 2.66 0.33 1014 5 768.88 764 3 1 0.56 0.25 365 6 303.00 303 2 1 0.03 0.00 7 310.00 310 2 1 0.05 0.01 8 63.00 63 2 1 0.03 0.00 9 234.00 234 2 1 0.05 0.01 10 15.00 15 2 1 0.03 0.01 Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-84
SLIDE 84

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computational Results - hard instances

Pre-Processing ratio

1 w1 w2 2 . . . wc c . . . wn n Cl

ratio

1 w1 w2 2 . . . wc c . . . t wt . . . t′ wt′ . . . wn n Cl + Pc

i=1 wixi

Cl + Cu

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-85
SLIDE 85

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computational Results - hard instances

Pre-Processing with sensitive intervals φ : Z+ − → Z+ c

i=1 wixi

− → maxi=t,...,t′ pi where t = min{j : c

i=1 wixi + Cl ≤ j i=1 wi} and

t′ = min{j : Cu + Cl ≤ j

i=1 wi}. For that purpose, a

preprocessing step computes the constants: s1 = 0 sl = min c

  • i=1

wixi : φ c

  • i=1

wixi

  • < φ
  • sl−1

for l = 2, . . . , p sp =

c

  • i=1

wi

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-86
SLIDE 86

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computational Results - hard instances

Size 40, instance 3

# MIP ObjF ObjL OPT It∗ CPU(s) MIP(s) KP(s) MIP1(s) Nodes1 WMIP(s) Nodesw CCLW 1225 644.78 736.0 637.0 1 3831.51 3798.03 4.41 0.02 135 9.53 10459 CCLW with the preprocessing 986 644.78 724.0 637.0 1 2135.91 2118.93 2.54 0.09 135 5.69 8534 Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-87
SLIDE 87

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computational Results - hard instances

Size 45, instance 3

# MIP ObjF ObjL OPT It∗ CPU(s) MIP(s) KP(s) MIP1(s) Nodes1 WMIP(s) Nodesw CCLW 1761 558.69 637.0 548.0 1 5839.13 5808.66 3.71 0.04 426 11.68 11427 CCLW with the preprocessing 1757 558.69 635.37 548.0 1 5803.24 5773.06 3.61 0.04 426 9.42 12333 CCLW with sensitive intervals 1289 558.69 632.71 548.0 1 2822.63 2806.43 2.60 0.04 423.0 7.68 17004.0 CCLW with sensitive intervals and changes in Gurobi parameters 1289 558.69 632.71 548.0 1 2749.90 2734.08 2.58 0.06 423.0 7.95 15015.0 Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-88
SLIDE 88

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Computational Results - hard instances

Size 50, instance 2

# MIP ObjF ObjL OPT It∗ CPU(s) MIP(s) KP(s) MIP1(s) Nodes1 WMIP(s) Nodesw CCLW 3115 798.0 881.68 788.0 2 43064.91 42962.82 12.29 0.04 213 40.83 14624 CCLW with sensitive intervals 1343 798.0 864.0 788.0 2 5307.20 5286.94 5.15 0.04 113.0 14.15 18024.0 CCLW with sensitive intervals and changes in Gurobi parameters 1343 798.0 864.0 788.0 2 4957.68 4937.25 5.21 0.04 113.0 10.99 11354.0 Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-89
SLIDE 89

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Conclusions

CCLW is completely new way to generate (enumerate) solutions

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-90
SLIDE 90

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Conclusions

CCLW is completely new way to generate (enumerate) solutions CCLW finds the optimal solution very early and allow us to concentrate in techniques to prove optimality

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-91
SLIDE 91

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Conclusions

CCLW is completely new way to generate (enumerate) solutions CCLW finds the optimal solution very early and allow us to concentrate in techniques to prove optimality ⋆ A cut in the leader’s variables stronger than the one used in the literature was introduced, decreasing significantly the number of solutions generated

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-92
SLIDE 92

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Conclusions

CCLW is completely new way to generate (enumerate) solutions CCLW finds the optimal solution very early and allow us to concentrate in techniques to prove optimality ⋆ A cut in the leader’s variables stronger than the one used in the literature was introduced, decreasing significantly the number of solutions generated ⋆ Cuts limiting the objective function range in which we explore solutions had a big impact in speeding up the method

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-93
SLIDE 93

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Conclusions

CCLW is completely new way to generate (enumerate) solutions CCLW finds the optimal solution very early and allow us to concentrate in techniques to prove optimality ⋆ A cut in the leader’s variables stronger than the one used in the literature was introduced, decreasing significantly the number of solutions generated ⋆ Cuts limiting the objective function range in which we explore solutions had a big impact in speeding up the method We were able to solve instances up to 100 binary variables

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-94
SLIDE 94

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Conclusions

CCLW is completely new way to generate (enumerate) solutions CCLW finds the optimal solution very early and allow us to concentrate in techniques to prove optimality ⋆ A cut in the leader’s variables stronger than the one used in the literature was introduced, decreasing significantly the number of solutions generated ⋆ Cuts limiting the objective function range in which we explore solutions had a big impact in speeding up the method We were able to solve instances up to 100 binary variables We identified the challenging instances.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-95
SLIDE 95

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

Conclusions - generalization

Mixed integer interdiction problem (MIPINT) min

(x,y)∈Bn×Y dy

subject to A1x ≤ b1 where y solves the follower’s problem max

y∈Y dy

s.t. G2y ≤ b2 and y ≤ U (e − x) , y ≥ 0

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints

slide-96
SLIDE 96

Bilevel Programming Bilevel Knapsack Algorithms Conclusions

[L. Brotcorne, S. Hanafi, and R. Mansi, 2011] One-level reformulation of the bilevel knapsack problem using dynamic programming. [A. Caprara and M. Carvalho and A. Lodi, and G.J Woeginger, 2012] A study on the computational complexity of the bilevel knapsack problem. [B. Colson and P. Marcotte and G. Savard, 2005] Bilevel programming: A survey. [S. DeNegre, 2011] Interdiction and discrete bilevel linear programming. [R. Mansi, C. Alves, J.M.V. de Carvalho, and S. Hanafi, 2012] An Exact Algorithm for Bilevel 0-1 Knapsack Problems. [H. V. Stackelberg, 1952] The Theory of the Market Economy.

Margarida Carvalho margarida.carvalho@dcc.fc.up.pt Bilevel Knapsack with interdiction constraints