Combinatorial Algorithms to Solve Network Interdiction and - - PowerPoint PPT Presentation

combinatorial algorithms to solve network interdiction
SMART_READER_LITE
LIVE PREVIEW

Combinatorial Algorithms to Solve Network Interdiction and - - PowerPoint PPT Presentation

Combinatorial Algorithms to Solve Network Interdiction and Scheduling Problems with Multiple Parameters S.T. McCormick; GP Oriolo; B. Peis Sauder School of Business, UBC; U. Rome; TU Berlin CanaDAM 2013 McCormick et al (UBC-Rome-Berlin)


slide-1
SLIDE 1

Combinatorial Algorithms to Solve Network Interdiction and Scheduling Problems with Multiple Parameters

S.T. McCormick; GP Oriolo; B. Peis

Sauder School of Business, UBC; U. Rome; TU Berlin

CanaDAM 2013

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 1 / 32

slide-2
SLIDE 2

Combinatorial Algorithms to Solve Network Interdiction and Scheduling Problems with Multiple Parameters

S.T. McCormick; GP Oriolo; B. Peis

Sauder School of Business, UBC; U. Rome; TU Berlin

CanaDAM 2013

  • S. Thomas McCormick

Sauder School of Business University of British Columbia

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 1 / 32

slide-3
SLIDE 3

Combinatorial Algorithms to Solve Network Interdiction and Scheduling Problems with Multiple Parameters

S.T. McCormick; GP Oriolo; B. Peis

Sauder School of Business, UBC; U. Rome; TU Berlin

CanaDAM 2013

  • S. Thomas McCormick

Sauder School of Business The best research b-school in Canada! University of British Columbia

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 1 / 32

slide-4
SLIDE 4

Outline

1

Network Interdiction What is it? Interdiction curves

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 2 / 32

slide-5
SLIDE 5

Outline

1

Network Interdiction What is it? Interdiction curves

2

LP Duality Dual of interdiction

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 2 / 32

slide-6
SLIDE 6

Outline

1

Network Interdiction What is it? Interdiction curves

2

LP Duality Dual of interdiction

3

Parametric Min Cut Parametric curves

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 2 / 32

slide-7
SLIDE 7

Outline

1

Network Interdiction What is it? Interdiction curves

2

LP Duality Dual of interdiction

3

Parametric Min Cut Parametric curves

4

The Breakpoint Subproblem What is it? Algorithms Discrete Newton

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 2 / 32

slide-8
SLIDE 8

Outline

1

Network Interdiction What is it? Interdiction curves

2

LP Duality Dual of interdiction

3

Parametric Min Cut Parametric curves

4

The Breakpoint Subproblem What is it? Algorithms Discrete Newton

5

Multiple Parameters What is it? Scheduling problem Multi-GGT

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 2 / 32

slide-9
SLIDE 9

Network Interdiction What is it?

Outline

1

Network Interdiction What is it? Interdiction curves

2

LP Duality Dual of interdiction

3

Parametric Min Cut Parametric curves

4

The Breakpoint Subproblem What is it? Algorithms Discrete Newton

5

Multiple Parameters What is it? Scheduling problem Multi-GGT

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 3 / 32

slide-10
SLIDE 10

Network Interdiction What is it?

What is Network Interdiction?

We start with an ordinary max flow min cut network with source s, sink t, and capacities c. The capacity of cut S is capc(S).

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 4 / 32

slide-11
SLIDE 11

Network Interdiction What is it?

What is Network Interdiction?

We start with an ordinary max flow min cut network with source s, sink t, and capacities c. The capacity of cut S is capc(S). We have a second non-negative datum on each arc: rij is the removal cost of destroying arc i ! j; we could spend, e.g., rij/2 to reduce the capacity of i ! j to cij/2.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 4 / 32

slide-12
SLIDE 12

Network Interdiction What is it?

What is Network Interdiction?

We start with an ordinary max flow min cut network with source s, sink t, and capacities c. The capacity of cut S is capc(S). We have a second non-negative datum on each arc: rij is the removal cost of destroying arc i ! j; we could spend, e.g., rij/2 to reduce the capacity of i ! j to cij/2. Finally, we have a budget B 0 to spend on destroying arcs. Our

  • bjective is to spend at most B (maybe fractionally) in a way that

minimizes the value of the residual flow.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 4 / 32

slide-13
SLIDE 13

Network Interdiction What is it?

What is Network Interdiction?

We start with an ordinary max flow min cut network with source s, sink t, and capacities c. The capacity of cut S is capc(S). We have a second non-negative datum on each arc: rij is the removal cost of destroying arc i ! j; we could spend, e.g., rij/2 to reduce the capacity of i ! j to cij/2. Finally, we have a budget B 0 to spend on destroying arcs. Our

  • bjective is to spend at most B (maybe fractionally) in a way that

minimizes the value of the residual flow. Thus if B = 0, then the interdiction value is cap⇤

c, the ordinary min

cut value; for B cap⇤

r, the interdiction value is 0.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 4 / 32

slide-14
SLIDE 14

Network Interdiction What is it?

What is Network Interdiction?

We start with an ordinary max flow min cut network with source s, sink t, and capacities c. The capacity of cut S is capc(S). We have a second non-negative datum on each arc: rij is the removal cost of destroying arc i ! j; we could spend, e.g., rij/2 to reduce the capacity of i ! j to cij/2. Finally, we have a budget B 0 to spend on destroying arcs. Our

  • bjective is to spend at most B (maybe fractionally) in a way that

minimizes the value of the residual flow. Thus if B = 0, then the interdiction value is cap⇤

c, the ordinary min

cut value; for B cap⇤

r, the interdiction value is 0.

Some thought shows that it is always optimal to destroy arcs belonging to some cut S (that may depend on B).

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 4 / 32

slide-15
SLIDE 15

Network Interdiction What is it?

What is Network Interdiction?

We start with an ordinary max flow min cut network with source s, sink t, and capacities c. The capacity of cut S is capc(S). We have a second non-negative datum on each arc: rij is the removal cost of destroying arc i ! j; we could spend, e.g., rij/2 to reduce the capacity of i ! j to cij/2. Finally, we have a budget B 0 to spend on destroying arcs. Our

  • bjective is to spend at most B (maybe fractionally) in a way that

minimizes the value of the residual flow. Thus if B = 0, then the interdiction value is cap⇤

c, the ordinary min

cut value; for B cap⇤

r, the interdiction value is 0.

Some thought shows that it is always optimal to destroy arcs belonging to some cut S (that may depend on B). Further thought reveals that we should destroy arcs of S greedily, from the max value of ⇢e = ce/re down to the minimum value: “bang for the buck”.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 4 / 32

slide-16
SLIDE 16

Network Interdiction Interdiction curves

The interdiction curve for a fixed cut S

Assume that we concentrate all our destruction on arcs of S.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 5 / 32

slide-17
SLIDE 17

Network Interdiction Interdiction curves

The interdiction curve for a fixed cut S

Assume that we concentrate all our destruction on arcs of S.

B1

B ! " residual capacity

capc(S) capc(S) c1 r1 slope ρ1

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 5 / 32

slide-18
SLIDE 18

Network Interdiction Interdiction curves

The interdiction curve for a fixed cut S

Assume that we concentrate all our destruction on arcs of S.

B1

B ! " residual capacity

capc(S) capc(S) c1 capc(S) c1 c2 r1 r1 + r2 slope ρ1 slope ρ2 B2

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 5 / 32

slide-19
SLIDE 19

Network Interdiction Interdiction curves

The interdiction curve for a fixed cut S

Assume that we concentrate all our destruction on arcs of S.

B1

B ! " residual capacity

capc(S) capc(S) c1 capc(S) c1 c2 r1 r1 + r2 r(S) slope ρ1 slope ρ2 slope ρ3 B2 B3

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 5 / 32

slide-20
SLIDE 20

Network Interdiction Interdiction curves

The interdiction curve for a fixed cut S

This curve is piecewise linear convex.

B1

B ! " residual capacity

capc(S) capc(S) c1 capc(S) c1 c2 r1 r1 + r2 r(S) slope ρ1 slope ρ2 slope ρ3 B2 B3

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 5 / 32

slide-21
SLIDE 21

Network Interdiction Interdiction curves

The overall interdiction curve

We overlay the cut-wise interdiction curves to get the overall curve.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 6 / 32

slide-22
SLIDE 22

Network Interdiction Interdiction curves

The overall interdiction curve

We overlay the cut-wise interdiction curves to get the overall curve.

capc(S)

B ! " residual capacity

capc(S) c1 capc(S) c1 c2 r1 r1 + r2 r(S) S

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 6 / 32

slide-23
SLIDE 23

Network Interdiction Interdiction curves

The overall interdiction curve

We overlay the cut-wise interdiction curves to get the overall curve.

capc(S) r(T)

B ! " residual capacity

capc(S) c1 capc(S) c1 c2 r1 r1 + r2 r(S) S T capc(T)

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 6 / 32

slide-24
SLIDE 24

Network Interdiction Interdiction curves

The overall interdiction curve

We overlay the cut-wise interdiction curves to get the overall curve.

r(U) capc(U) r(T)

B ! " residual capacity

capc(S) c1 capc(S) c1 c2 r1 r1 + r2 r(S) S T U capc(S) capc(T)

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 6 / 32

slide-25
SLIDE 25

Network Interdiction Interdiction curves

The overall interdiction curve

For a given value of B, we just select which S gives the minimum value at B, so the overall curve is the minimum of all the cut-wise curves.

r(U) capc(U) r(T)

B ! " residual capacity

capc(S) c1 capc(S) c1 c2 r1 r1 + r2 r(S) S T U capc(S) capc(T)

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 6 / 32

slide-26
SLIDE 26

Network Interdiction Interdiction curves

The overall interdiction curve

Unfortunately, the minimum of a bunch of convex curves is not in general convex.

r(U) capc(U) r(T)

B ! " residual capacity

capc(S) c1 capc(S) c1 c2 r1 r1 + r2 r(S) S T U capc(S) capc(T)

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 6 / 32

slide-27
SLIDE 27

Network Interdiction Interdiction curves

The overall interdiction curve

This is why Network Interdiction is NP Hard (Phillips ’93; Wood ’93).

r(U) capc(U) r(T)

B ! " residual capacity

capc(S) c1 capc(S) c1 c2 r1 r1 + r2 r(S) S T U capc(S) capc(T)

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 6 / 32

slide-28
SLIDE 28

Network Interdiction Interdiction curves

Linearizing the overall curve: the B-profile

If we take the lower envelope, or convex hull, of the overall interdiction curve, we get something tractable, the B-profile.

capc(S) capc(T)

B ! " residual capacity

capc(S) c1 capc(S) c1 c2 r1 r1 + r2 r(S) S T U capc(U) feasible values B on U curve infeasible values B r(T) r(U)

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 7 / 32

slide-29
SLIDE 29

Network Interdiction Interdiction curves

Linearizing the overall curve: the B-profile

Now budget B corresponds to a convex combination of points coming from the interdiction curves of (one or) two cuts, S1 and S2.

S2 S1

B ! " residual capacity

capc(S) c1 capc(S) c1 c2 r1 r1 + r2 r(S) S T U capc(U) r(T) r(U) capc(T) capc(S) B

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 7 / 32

slide-30
SLIDE 30

Network Interdiction Interdiction curves

Linearizing the overall curve: the B-profile

Burch et al ’02 show that we can use S1 and S2 to get a pseudo-approximation algorithm for Network Interdiction: Given some ✏ > 0, it will find either

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 8 / 32

slide-31
SLIDE 31

Network Interdiction Interdiction curves

Linearizing the overall curve: the B-profile

Burch et al ’02 show that we can use S1 and S2 to get a pseudo-approximation algorithm for Network Interdiction: Given some ✏ > 0, it will find either

A feasible set of arcs to destroy whose residual capacity is within a factor of 1 + ✏ of optimal, or

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 8 / 32

slide-32
SLIDE 32

Network Interdiction Interdiction curves

Linearizing the overall curve: the B-profile

Burch et al ’02 show that we can use S1 and S2 to get a pseudo-approximation algorithm for Network Interdiction: Given some ✏ > 0, it will find either

A feasible set of arcs to destroy whose residual capacity is within a factor of 1 + ✏ of optimal, or A set of arcs to destroy which costs at most (1 + ✏)B whose residual capacity is less than optimal.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 8 / 32

slide-33
SLIDE 33

Network Interdiction Interdiction curves

Linearizing the overall curve: the B-profile

Burch et al ’02 show that we can use S1 and S2 to get a pseudo-approximation algorithm for Network Interdiction: Given some ✏ > 0, it will find either

A feasible set of arcs to destroy whose residual capacity is within a factor of 1 + ✏ of optimal, or A set of arcs to destroy which costs at most (1 + ✏)B whose residual capacity is less than optimal.

The algorithmic question is then: Given B, how do we find S1 and S2?

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 8 / 32

slide-34
SLIDE 34

Network Interdiction Interdiction curves

Linearizing the overall curve: the B-profile

Burch et al ’02 show that we can use S1 and S2 to get a pseudo-approximation algorithm for Network Interdiction: Given some ✏ > 0, it will find either

A feasible set of arcs to destroy whose residual capacity is within a factor of 1 + ✏ of optimal, or A set of arcs to destroy which costs at most (1 + ✏)B whose residual capacity is less than optimal.

The algorithmic question is then: Given B, how do we find S1 and S2? Burch et al write a linear program that can do it, but here we want a combinatorial algorithm to do it.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 8 / 32

slide-35
SLIDE 35

LP Duality Dual of interdiction

Outline

1

Network Interdiction What is it? Interdiction curves

2

LP Duality Dual of interdiction

3

Parametric Min Cut Parametric curves

4

The Breakpoint Subproblem What is it? Algorithms Discrete Newton

5

Multiple Parameters What is it? Scheduling problem Multi-GGT

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 9 / 32

slide-36
SLIDE 36

LP Duality Dual of interdiction

The linear program and its dual

The normal min cut dual LP is min P

u!v cuvyuv

s.t. du dv + yuv

  • for u ! v 6= t ! s,

dt ds + yts

  • 1

yuv

  • all u ! v.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 10 / 32

slide-37
SLIDE 37

LP Duality Dual of interdiction

The linear program and its dual

The normal min cut dual LP is min P

u!v cuvyuv

s.t. du dv + yuv

  • for u ! v 6= t ! s,

dt ds + yts

  • 1

yuv

  • all u ! v.

To get an interdiction version, put a second dual variable zuv on each u ! v that represents what fraction of u ! v we are going to destroy.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 10 / 32

slide-38
SLIDE 38

LP Duality Dual of interdiction

The linear program and its dual

The normal min cut dual LP is min P

u!v cuvyuv

s.t. du dv + yuv

  • for u ! v 6= t ! s,

dt ds + yts

  • 1

yuv

  • all u ! v.

To get an interdiction version, put a second dual variable zuv on each u ! v that represents what fraction of u ! v we are going to destroy. The new LP is then min P

u!v cuvyuv

s.t. du dv + yuv + zuv

  • for u ! v 6= t ! s,

dt ds + yts

  • 1

P

u!v ruvzuv

 B yuv, zuv

  • all u ! v.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 10 / 32

slide-39
SLIDE 39

LP Duality Dual of interdiction

The linear program and its dual

Repeat the new LP with dual variables: min P

u!v cuvyuv

xuv : s.t. du dv + yuv + zuv

  • for u ! v 6= t ! s,

xts: : dt ds + yts

  • 1

: P

u!v ruvzuv

 B yuv, zuv

  • all u ! v.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 11 / 32

slide-40
SLIDE 40

LP Duality Dual of interdiction

The linear program and its dual

Repeat the new LP with dual variables: min P

u!v cuvyuv

xuv : s.t. du dv + yuv + zuv

  • for u ! v 6= t ! s,

xts: : dt ds + yts

  • 1

: P

u!v ruvzuv

 B yuv, zuv

  • all u ! v.

When we “primalize” this interdiction dual LP we get new primal variable corresponding to the dual constraint P

u!v ruvzuv  B,

and the zuv’s give us a second set of capacities.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 11 / 32

slide-41
SLIDE 41

LP Duality Dual of interdiction

The linear program and its dual

Repeat the new LP with dual variables: min P

u!v cuvyuv

xuv : s.t. du dv + yuv + zuv

  • for u ! v 6= t ! s,

xts: : dt ds + yts

  • 1

: P

u!v ruvzuv

 B yuv, zuv

  • all u ! v.

When we “primalize” this interdiction dual LP we get new primal variable corresponding to the dual constraint P

u!v ruvzuv  B,

and the zuv’s give us a second set of capacities. The primal interdiction LP is maxx,λ (xts B) d : s.t. conservation yuv : 0  xuv  cuv zuv : xuv ruv  0.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 11 / 32

slide-42
SLIDE 42

LP Duality Dual of interdiction

The linear program and its dual

Repeat the primal interdiction LP and highlight the two capacities: maxx,λ (xts B) s.t. conservation 0  xuv  cuv xuv ruv  0.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 12 / 32

slide-43
SLIDE 43

LP Duality Dual of interdiction

The linear program and its dual

Repeat the primal interdiction LP and highlight the two capacities: maxx,λ (xts B) s.t. conservation 0  xuv  cuv xuv ruv  0. The two capacity constraints simplify into xuv  min(cuv, ruv), a parametric capacity in the scalar parameter .

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 12 / 32

slide-44
SLIDE 44

LP Duality Dual of interdiction

The linear program and its dual

Repeat the primal interdiction LP and highlight the two capacities: maxx,λ (xts B) s.t. conservation 0  xuv  cuv xuv ruv  0. The two capacity constraints simplify into xuv  min(cuv, ruv), a parametric capacity in the scalar parameter . So let’s investigate the behavior of this parametric min cut problem.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 12 / 32

slide-45
SLIDE 45

Parametric Min Cut Parametric curves

Outline

1

Network Interdiction What is it? Interdiction curves

2

LP Duality Dual of interdiction

3

Parametric Min Cut Parametric curves

4

The Breakpoint Subproblem What is it? Algorithms Discrete Newton

5

Multiple Parameters What is it? Scheduling problem Multi-GGT

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 13 / 32

slide-46
SLIDE 46

Parametric Min Cut Parametric curves

Parametric capacity of fixed cut S

When is small, cap(S, ) = capr(S).

c3 + ρ3(r1 + r2)

λ ! " parametric capacity

slope r(S) = r1 + r2 + r3 ρ3

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 14 / 32

slide-47
SLIDE 47

Parametric Min Cut Parametric curves

Parametric capacity of fixed cut S

This continues as long as ruv  cuv for all u ! v 2 +(S), or  ⇢uv.

c3 + ρ3(r1 + r2)

λ ! " parametric capacity

slope r(S) = r1 + r2 + r3 ρ3

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 14 / 32

slide-48
SLIDE 48

Parametric Min Cut Parametric curves

Parametric capacity of fixed cut S

Thus the first breakpoint is when hits minδ+(S) ⇢uv.

c3 + ρ3(r1 + r2)

λ ! " parametric capacity

slope r(S) = r1 + r2 + r3 ρ3

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 14 / 32

slide-49
SLIDE 49

Parametric Min Cut Parametric curves

Parametric capacity of fixed cut S

Thus the first breakpoint is when hits minδ+(S) ⇢uv.

c3 + c2 + ρ2(r1)

λ ! " parametric capacity

slope r(S) = r1 + r2 + r3 ρ3 ρ2 slope r1 + r2 c3 + ρ3(r1 + r2)

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 14 / 32

slide-50
SLIDE 50

Parametric Min Cut Parametric curves

Parametric capacity of fixed cut S

Thus the first breakpoint is when hits minδ+(S) ⇢uv.

c3 + c2 + ρ2(r1)

λ ! " parametric capacity

capc(S) slope r(S) = r1 + r2 + r3 ρ3 ρ2 ρ1 slope r1 + r2 slope r1 c3 + ρ3(r1 + r2)

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 14 / 32

slide-51
SLIDE 51

Parametric Min Cut Parametric curves

Parametric capacity of fixed cut S

Thus the first breakpoint is when hits minδ+(S) ⇢uv.

slope 0

λ ! " parametric capacity

capc(S) slope r(S) = r1 + r2 + r3 ρ3 ρ2 ρ1 slope r1 + r2 slope r1 c3 + ρ3(r1 + r2) c3 + c2 + ρ2(r1)

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 14 / 32

slide-52
SLIDE 52

Parametric Min Cut Parametric curves

Parametric capacity of fixed cut S

The parametric capacity curve for S is piecewise linear concave.

slope 0

λ ! " parametric capacity

capc(S) slope r(S) = r1 + r2 + r3 ρ3 ρ2 ρ1 slope r1 + r2 slope r1 c3 + ρ3(r1 + r2) c3 + c2 + ρ2(r1)

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 14 / 32

slide-53
SLIDE 53

Parametric Min Cut Parametric curves

Conjugate duality between interdiction and parametric capacity for S

Both curves are piecewise linear; the interdiction curve (residual capacity curve) is convex, the parametric capacity curve is concave.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 15 / 32

slide-54
SLIDE 54

Parametric Min Cut Parametric curves

Conjugate duality between interdiction and parametric capacity for S

Both curves are piecewise linear; the interdiction curve (residual capacity curve) is convex, the parametric capacity curve is concave. Index the arcs of +(S) in descending order of ⇢e. Then the breakpoints of S’s interdiction curve are 0, r1, r1 + r2, r1 + r2 + r3, . . . . The slopes of S’s parametric capacity curve are . . . , r1 + r2 + r3, r1 + r2, r1, 0.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 15 / 32

slide-55
SLIDE 55

Parametric Min Cut Parametric curves

Conjugate duality between interdiction and parametric capacity for S

Both curves are piecewise linear; the interdiction curve (residual capacity curve) is convex, the parametric capacity curve is concave. Index the arcs of +(S) in descending order of ⇢e. Then the breakpoints of S’s interdiction curve are 0, r1, r1 + r2, r1 + r2 + r3, . . . . The slopes of S’s parametric capacity curve are . . . , r1 + r2 + r3, r1 + r2, r1, 0. The slopes of S’s interdiction curve are ⇢1, ⇢2, . . . . The breakpoints of S’s parametric capacity curve are . . . , ⇢3, ⇢2, ⇢1.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 15 / 32

slide-56
SLIDE 56

Parametric Min Cut Parametric curves

Conjugate duality between interdiction and parametric capacity for S

Both curves are piecewise linear; the interdiction curve (residual capacity curve) is convex, the parametric capacity curve is concave. Index the arcs of +(S) in descending order of ⇢e. Then the breakpoints of S’s interdiction curve are 0, r1, r1 + r2, r1 + r2 + r3, . . . . The slopes of S’s parametric capacity curve are . . . , r1 + r2 + r3, r1 + r2, r1, 0. The slopes of S’s interdiction curve are ⇢1, ⇢2, . . . . The breakpoints of S’s parametric capacity curve are . . . , ⇢3, ⇢2, ⇢1. Thus breakpoints and slopes are interchanged between S’s interdiction curve and its parametric capacity curve, though in reverse

  • rder and modulo a minus sign.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 15 / 32

slide-57
SLIDE 57

Parametric Min Cut Parametric curves

Conjugate duality between interdiction and parametric capacity for S

Both curves are piecewise linear; the interdiction curve (residual capacity curve) is convex, the parametric capacity curve is concave. Index the arcs of +(S) in descending order of ⇢e. Then the breakpoints of S’s interdiction curve are 0, r1, r1 + r2, r1 + r2 + r3, . . . . The slopes of S’s parametric capacity curve are . . . , r1 + r2 + r3, r1 + r2, r1, 0. The slopes of S’s interdiction curve are ⇢1, ⇢2, . . . . The breakpoints of S’s parametric capacity curve are . . . , ⇢3, ⇢2, ⇢1. Thus breakpoints and slopes are interchanged between S’s interdiction curve and its parametric capacity curve, though in reverse

  • rder and modulo a minus sign.

In the language of conjugate duality, this is equivalent to saying that the parametric capacity curve cap(S, ) is the negative of the conjugate dual of the interdiction curve for S, evaluated at .

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 15 / 32

slide-58
SLIDE 58

Parametric Min Cut Parametric curves

The overall parametric capacity curve: the λ-profile

Now overlay the parametric capacity curves for all S.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 16 / 32

slide-59
SLIDE 59

Parametric Min Cut Parametric curves

The overall parametric capacity curve: the λ-profile

Now overlay the parametric capacity curves for all S.

slope 0

λ ! " parametric capacity

ρ2 S capc(S) ρ3 ρ1 c3 + ρ3(r1 + r2) c3 + c2 + ρ2(r1) slope r(S)

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 16 / 32

slide-60
SLIDE 60

Parametric Min Cut Parametric curves

The overall parametric capacity curve: the λ-profile

Now overlay the parametric capacity curves for all S.

capc(T) = cap⇤

c

λ ! " parametric capacity

ρ2 S T capc(S) ρ3 ρ1 c3 + ρ3(r1 + r2) c3 + c2 + ρ2(r1) slope r(S) slope 0

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 16 / 32

slide-61
SLIDE 61

Parametric Min Cut Parametric curves

The overall parametric capacity curve: the λ-profile

Now overlay the parametric capacity curves for all S.

capc(T) = cap⇤

c

λ ! " parametric capacity

ρ2 S T U capc(S) ρ3 ρ1 c3 + ρ3(r1 + r2) c3 + c2 + ρ2(r1) capc(U) slope r(S) slope 0

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 16 / 32

slide-62
SLIDE 62

Parametric Min Cut Parametric curves

The overall parametric capacity curve: the λ-profile

For a fixed value of , we want to find the S whose parametric capacity at is minimum, so we just want the pointwise minimum of all these curves.

capc(T) = cap⇤

c

λ ! " parametric capacity

ρ2 S T U capc(S) ρ3 ρ1 c3 + ρ3(r1 + r2) c3 + c2 + ρ2(r1) capc(U) slope r(S) slope 0

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 16 / 32

slide-63
SLIDE 63

Parametric Min Cut Parametric curves

The overall parametric capacity curve: the λ-profile

For a fixed value of , we want to find the S whose parametric capacity at is minimum, so we just want the pointwise minimum of all these curves.

capc(T) = cap⇤

c

λ ! " parametric capacity

ρ2 S T U breakpoint is a breakpoint of S’s curve breakpoint is interesection of S and U’s curves capc(S) ρ3 ρ1 c3 + ρ3(r1 + r2) c3 + c2 + ρ2(r1) capc(U) slope r(S) slope 0

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 16 / 32

slide-64
SLIDE 64

Parametric Min Cut Parametric curves

The overall parametric capacity curve: the λ-profile

Since the minimum of a bunch of concave curves is again concave, this time we do not need to linearize. We call this overall parametric capacity curve the -profile.

capc(T) = cap⇤

c

λ ! " parametric capacity

ρ2 S T U breakpoint is a breakpoint of S’s curve breakpoint is interesection of S and U’s curves capc(S) ρ3 ρ1 c3 + ρ3(r1 + r2) c3 + c2 + ρ2(r1) capc(U) slope r(S) slope 0

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 16 / 32

slide-65
SLIDE 65

Parametric Min Cut Parametric curves

The overall parametric capacity curve: the λ-profile

We can compute things like cap⇤() easily using parametric min cut tech- nology.

capc(T) = cap⇤

c

λ ! " parametric capacity

ρ2 S T U breakpoint is a breakpoint of S’s curve breakpoint is interesection of S and U’s curves capc(S) ρ3 ρ1 c3 + ρ3(r1 + r2) c3 + c2 + ρ2(r1) capc(U) slope r(S) slope 0

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 16 / 32

slide-66
SLIDE 66

Parametric Min Cut Parametric curves

The overall parametric capacity curve: the λ-profile

We can show that the conjugate duality between S’s interdiction and para- metric capacity curves carries over to conjugate duality between the B- profile and the -profile.

capc(T) = cap⇤

c

λ ! " parametric capacity

ρ2 S T U breakpoint is a breakpoint of S’s curve breakpoint is interesection of S and U’s curves capc(S) ρ3 ρ1 c3 + ρ3(r1 + r2) c3 + c2 + ρ2(r1) capc(U) slope r(S) slope 0

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 16 / 32

slide-67
SLIDE 67

Parametric Min Cut Parametric curves

The overall parametric capacity curve: the λ-profile

Recall that to get our pseudo-approximation for a given B, we want to compute the two cuts S1 and S2 bracketing B on the B-profile.

capc(T) = cap⇤

c

λ ! " parametric capacity

ρ2 S T U breakpoint is a breakpoint of S’s curve breakpoint is interesection of S and U’s curves capc(S) ρ3 ρ1 c3 + ρ3(r1 + r2) c3 + c2 + ρ2(r1) capc(U) slope r(S) slope 0

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 16 / 32

slide-68
SLIDE 68

Parametric Min Cut Parametric curves

The overall parametric capacity curve: the λ-profile

Conjugate duality implies that this is equivalent to finding a breakpoint on the -profile whose adjacent slopes bracket B, here S and U.

slope B

λ ! " parametric capacity

ρ2 S T U breakpoint is a breakpoint of S’s curve breakpoint is interesection of S and U’s curves capc(S) ρ3 ρ1 c3 + c2 + ρ2(r1) capc(U) slope r(S) slope 0 capc(T) = cap⇤

c

c3 + ρ3(r1 + r2)

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 16 / 32

slide-69
SLIDE 69

The Breakpoint Subproblem What is it?

Outline

1

Network Interdiction What is it? Interdiction curves

2

LP Duality Dual of interdiction

3

Parametric Min Cut Parametric curves

4

The Breakpoint Subproblem What is it? Algorithms Discrete Newton

5

Multiple Parameters What is it? Scheduling problem Multi-GGT

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 17 / 32

slide-70
SLIDE 70

The Breakpoint Subproblem What is it?

The key breakpoint subproblem

Notice that any breakpoint ˆ

  • f the -profile is defined by the

intersection of a segment to its left coming from cut S(ˆ ) with local slope sl(ˆ ), and a segment to its right coming from cut S+(ˆ ) with local slope sl+(ˆ ), with sl(ˆ ) > sl+(ˆ ) by concavity.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 18 / 32

slide-71
SLIDE 71

The Breakpoint Subproblem What is it?

The key breakpoint subproblem

Notice that any breakpoint ˆ

  • f the -profile is defined by the

intersection of a segment to its left coming from cut S(ˆ ) with local slope sl(ˆ ), and a segment to its right coming from cut S+(ˆ ) with local slope sl+(ˆ ), with sl(ˆ ) > sl+(ˆ ) by concavity. The subproblem we now want to solve combinatorially: Given B, find breakpoint B of the -profile such that sl+(B)  B  sl(B), along with the corresponding S(B) and S+(B).

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 18 / 32

slide-72
SLIDE 72

The Breakpoint Subproblem What is it?

The key breakpoint subproblem

Notice that any breakpoint ˆ

  • f the -profile is defined by the

intersection of a segment to its left coming from cut S(ˆ ) with local slope sl(ˆ ), and a segment to its right coming from cut S+(ˆ ) with local slope sl+(ˆ ), with sl(ˆ ) > sl+(ˆ ) by concavity. The subproblem we now want to solve combinatorially: Given B, find breakpoint B of the -profile such that sl+(B)  B  sl(B), along with the corresponding S(B) and S+(B). A technical detail: Suppose I give you B. Can you then use it to compute S(B) and S+(B)?

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 18 / 32

slide-73
SLIDE 73

The Breakpoint Subproblem What is it?

The key breakpoint subproblem

Notice that any breakpoint ˆ

  • f the -profile is defined by the

intersection of a segment to its left coming from cut S(ˆ ) with local slope sl(ˆ ), and a segment to its right coming from cut S+(ˆ ) with local slope sl+(ˆ ), with sl(ˆ ) > sl+(ˆ ) by concavity. The subproblem we now want to solve combinatorially: Given B, find breakpoint B of the -profile such that sl+(B)  B  sl(B), along with the corresponding S(B) and S+(B). A technical detail: Suppose I give you B. Can you then use it to compute S(B) and S+(B)?

Yes: We can use a combination of Picard-Queyranne decomposition w.r.t. an optimal flow at B, and min flow / max cut in the residual network to find them

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 18 / 32

slide-74
SLIDE 74

The Breakpoint Subproblem What is it?

The key breakpoint subproblem

Notice that any breakpoint ˆ

  • f the -profile is defined by the

intersection of a segment to its left coming from cut S(ˆ ) with local slope sl(ˆ ), and a segment to its right coming from cut S+(ˆ ) with local slope sl+(ˆ ), with sl(ˆ ) > sl+(ˆ ) by concavity. The subproblem we now want to solve combinatorially: Given B, find breakpoint B of the -profile such that sl+(B)  B  sl(B), along with the corresponding S(B) and S+(B). A technical detail: Suppose I give you B. Can you then use it to compute S(B) and S+(B)?

Yes: We can use a combination of Picard-Queyranne decomposition w.r.t. an optimal flow at B, and min flow / max cut in the residual network to find them

So let’s just concentrate on finding B.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 18 / 32

slide-75
SLIDE 75

The Breakpoint Subproblem Algorithms

Binary search solves it

1 Set L = 0 and R = cap⇤

r; then all interesting values of are in

[L, R].

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 19 / 32

slide-76
SLIDE 76

The Breakpoint Subproblem Algorithms

Binary search solves it

1 Set L = 0 and R = cap⇤

r; then all interesting values of are in

[L, R].

2 Compute ˆ

= (L + R)/2, a max flow w.r.t. ˆ , and sl(ˆ ) and sl+(ˆ ).

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 19 / 32

slide-77
SLIDE 77

The Breakpoint Subproblem Algorithms

Binary search solves it

1 Set L = 0 and R = cap⇤

r; then all interesting values of are in

[L, R].

2 Compute ˆ

= (L + R)/2, a max flow w.r.t. ˆ , and sl(ˆ ) and sl+(ˆ ).

3 If B 2 [sl+(ˆ

), sl(ˆ )], then B = ˆ and we can stop.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 19 / 32

slide-78
SLIDE 78

The Breakpoint Subproblem Algorithms

Binary search solves it

1 Set L = 0 and R = cap⇤

r; then all interesting values of are in

[L, R].

2 Compute ˆ

= (L + R)/2, a max flow w.r.t. ˆ , and sl(ˆ ) and sl+(ˆ ).

3 If B 2 [sl+(ˆ

), sl(ˆ )], then B = ˆ and we can stop.

4 Otherwise, if B < sl+(ˆ

) then replace L by ˆ ; else (B > sl(ˆ )) replace R by ˆ and go to 2.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 19 / 32

slide-79
SLIDE 79

The Breakpoint Subproblem Algorithms

Binary search solves it

1 Set L = 0 and R = cap⇤

r; then all interesting values of are in

[L, R].

2 Compute ˆ

= (L + R)/2, a max flow w.r.t. ˆ , and sl(ˆ ) and sl+(ˆ ).

3 If B 2 [sl+(ˆ

), sl(ˆ )], then B = ˆ and we can stop.

4 Otherwise, if B < sl+(ˆ

) then replace L by ˆ ; else (B > sl(ˆ )) replace R by ˆ and go to 2. This runs in something like Θ(log(nD)) time, where D is the size of the data.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 19 / 32

slide-80
SLIDE 80

The Breakpoint Subproblem Algorithms

Binary search solves it

1 Set L = 0 and R = cap⇤

r; then all interesting values of are in

[L, R].

2 Compute ˆ

= (L + R)/2, a max flow w.r.t. ˆ , and sl(ˆ ) and sl+(ˆ ).

3 If B 2 [sl+(ˆ

), sl(ˆ )], then B = ˆ and we can stop.

4 Otherwise, if B < sl+(ˆ

) then replace L by ˆ ; else (B > sl(ˆ )) replace R by ˆ and go to 2. This runs in something like Θ(log(nD)) time, where D is the size of the data. Can we do better?

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 19 / 32

slide-81
SLIDE 81

The Breakpoint Subproblem Discrete Newton

Discrete Newton gives a better algorithm

Set L = 0 and R = cap⇤

r as before. Denote sl+(L) by sl+ L and sl(R)

by sl

R.

S+

1L

capλ1L(S+

1L)

capλ(S) " λ ! λ1L cap⇤(λ) a1Lλ + b1L λ1R

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 20 / 32

slide-82
SLIDE 82

The Breakpoint Subproblem Discrete Newton

Discrete Newton gives a better algorithm

Set L = 0 and R = cap⇤

r as before. Denote sl+(L) by sl+ L and sl(R)

by sl

R.

S+

1L

capλ1L(S+

1L)

capλ(S) " λ ! λ1L cap⇤(λ) a1Lλ + b1L λ1R

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 20 / 32

slide-83
SLIDE 83

The Breakpoint Subproblem Discrete Newton

Discrete Newton gives a better algorithm

Set L = 0 and R = cap⇤

r as before. Denote sl+(L) by sl+ L and sl(R)

by sl

R.

capλ1R(S

1R) = capλ1R(S+ 1R)

capλ1L(S+

1L)

capλ(S) " λ ! λ1L a1Rλ + b1R cap⇤(λ) S+

1L

a1Lλ + b1L λ1R S

1R

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 20 / 32

slide-84
SLIDE 84

The Breakpoint Subproblem Discrete Newton

Discrete Newton gives a better algorithm

Compute ˆ

  • as

the intersection

  • f

the line

  • f

slope sl+

L

through (L, cap⇤(L)), and the line of slope sl

R through (R, cap⇤(R)), a max

flow w.r.t. ˆ , and sl(ˆ ) and sl+(ˆ ).

λ2 = λ2L capλ(S) " λ ! λ1L a1Rλ + b1R cap⇤(λ) S+

1L

a1Lλ + b1L λ1R S

1R

capλ1R(S

1R) = capλ1R(S+ 1R)

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 20 / 32

slide-85
SLIDE 85

The Breakpoint Subproblem Discrete Newton

Discrete Newton gives a better algorithm

If B 2 [sl+(ˆ ), sl(ˆ )], then B = ˆ and we can stop.

λ2 = λ2L capλ(S) " λ ! λ1L a1Rλ + b1R cap⇤(λ) S+

1L

a1Lλ + b1L λ1R S

1R

capλ1R(S

1R) = capλ1R(S+ 1R)

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 20 / 32

slide-86
SLIDE 86

The Breakpoint Subproblem Discrete Newton

Discrete Newton gives a better algorithm

Otherwise, if B < sl+(ˆ ) then replace L by ˆ ; else (B > sl(ˆ )) replace R by ˆ and go to 2.

= capλ2(S+

1L) = capλ2(S 1R)

capλ1L(S+

1L)

capλ(S) " λ ! λ3 λ2 = λ2L λ1R = λ2R λ1L capλ1L(S+

2L)

a1Rλ + b1R S

1R = S 2R

a2Lλ + b2L S+

2L

cap⇤(λ) S+

1L

a1Lλ + b1L λB capλ2L(S+

2L)

capλ1R(S

1R) = capλ1R(S+ 1R) =

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 20 / 32

slide-87
SLIDE 87

The Breakpoint Subproblem Discrete Newton

Defining gaps

How can we analyze the running time of this Newton-B algorithm?

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 21 / 32

slide-88
SLIDE 88

The Breakpoint Subproblem Discrete Newton

Defining gaps

How can we analyze the running time of this Newton-B algorithm? Let’s think in terms of lines of slope B. Let L⇤ denote the line of slope B through the (as-yet unknown) point (B, cap⇤(B)). This L⇤ is the highest possible line of slope B through any point of the

  • profile.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 21 / 32

slide-89
SLIDE 89

The Breakpoint Subproblem Discrete Newton

Defining gaps

How can we analyze the running time of this Newton-B algorithm? Let’s think in terms of lines of slope B. Let L⇤ denote the line of slope B through the (as-yet unknown) point (B, cap⇤(B)). This L⇤ is the highest possible line of slope B through any point of the

  • profile.

Thus the line of slope B through, e.g., (L, cap⇤(L)) lies below L⇤.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 21 / 32

slide-90
SLIDE 90

The Breakpoint Subproblem Discrete Newton

Defining gaps

How can we analyze the running time of this Newton-B algorithm? Let’s think in terms of lines of slope B. Let L⇤ denote the line of slope B through the (as-yet unknown) point (B, cap⇤(B)). This L⇤ is the highest possible line of slope B through any point of the

  • profile.

Thus the line of slope B through, e.g., (L, cap⇤(L)) lies below L⇤. Since the lines defining ˆ are tangents to the -profile, their intersection must lie above L⇤, and so the line of slope B through this intersection point lies above L⇤.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 21 / 32

slide-91
SLIDE 91

The Breakpoint Subproblem Discrete Newton

Defining gaps

How can we analyze the running time of this Newton-B algorithm? Let’s think in terms of lines of slope B. Let L⇤ denote the line of slope B through the (as-yet unknown) point (B, cap⇤(B)). This L⇤ is the highest possible line of slope B through any point of the

  • profile.

Thus the line of slope B through, e.g., (L, cap⇤(L)) lies below L⇤. Since the lines defining ˆ are tangents to the -profile, their intersection must lie above L⇤, and so the line of slope B through this intersection point lies above L⇤. Define vgapL to be the vertical distance between the line of slope B through the intersection point, and the line of slope B through (L, cap⇤(L)), and similarly for vgapR.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 21 / 32

slide-92
SLIDE 92

The Breakpoint Subproblem Discrete Newton

Defining gaps

How can we analyze the running time of this Newton-B algorithm? Let’s think in terms of lines of slope B. Let L⇤ denote the line of slope B through the (as-yet unknown) point (B, cap⇤(B)). This L⇤ is the highest possible line of slope B through any point of the

  • profile.

Thus the line of slope B through, e.g., (L, cap⇤(L)) lies below L⇤. Since the lines defining ˆ are tangents to the -profile, their intersection must lie above L⇤, and so the line of slope B through this intersection point lies above L⇤. Define vgapL to be the vertical distance between the line of slope B through the intersection point, and the line of slope B through (L, cap⇤(L)), and similarly for vgapR. Also define slgapL to be sl+

L B and slgapR to be B sl R.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 21 / 32

slide-93
SLIDE 93

The Breakpoint Subproblem Discrete Newton

vgap illustrated

capλ1L(S+

1L)

capλ(S) " λ ! λ3 λ2 = λ2L λ1R = λ2R λ1L vgap1R vgap2R vgap2L capλ1L(S+

2L)

a1Rλ + b1R S

1R = S 2R

a2Lλ + b2L S+

2L

cap⇤(λ) vgap1L S+

1L

a1Lλ + b1L λB capλ2L(S+

2L)

B(λ1L λ2) + capλ2(S+

1L)

B(λ1L λ3) + capλ3(S+

2L)

capλ1R(S

1R) = capλ1R(S+ 1R) =

= capλ2(S+

1L) = capλ2(S 1R)

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 22 / 32

slide-94
SLIDE 94

The Breakpoint Subproblem Discrete Newton

The key inequality

We use primes to denote new values. When ˆ becomes the new L then the key inequality is vgap0

L

vgapL + slgap0

L

slgapL < 1 (1)

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 23 / 32

slide-95
SLIDE 95

The Breakpoint Subproblem Discrete Newton

The key inequality

We use primes to denote new values. When ˆ becomes the new L then the key inequality is vgap0

L

vgapL + slgap0

L

slgapL < 1 (1) This immediately implies that at each iteration, one of vgapL, vgapR, slgapL, or slgapR is cut down by a factor of at least 2. Thus Newton-B is never worse than Binary Search.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 23 / 32

slide-96
SLIDE 96

The Breakpoint Subproblem Discrete Newton

The key inequality

We use primes to denote new values. When ˆ becomes the new L then the key inequality is vgap0

L

vgapL + slgap0

L

slgapL < 1 (1) This immediately implies that at each iteration, one of vgapL, vgapR, slgapL, or slgapR is cut down by a factor of at least 2. Thus Newton-B is never worse than Binary Search. (1) was originally proved in Mc+Ervolina ’94. Then Rote, and Radzik ’92–’98 showed that Newton-B is sometimes faster than Binary Search, and has a strongly polynomial bound.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 23 / 32

slide-97
SLIDE 97

The Breakpoint Subproblem Discrete Newton

Some implications

We didn’t use much network structure in this analysis.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 24 / 32

slide-98
SLIDE 98

The Breakpoint Subproblem Discrete Newton

Some implications

We didn’t use much network structure in this analysis. Thus we could define an interdiction version of any capacitated problem; primalizing would give a conjugate dual parametric problem that we could then solve via Newton-B. The Burch et al pseudo-approximation framework carries through also.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 24 / 32

slide-99
SLIDE 99

The Breakpoint Subproblem Discrete Newton

Some implications

We didn’t use much network structure in this analysis. Thus we could define an interdiction version of any capacitated problem; primalizing would give a conjugate dual parametric problem that we could then solve via Newton-B. The Burch et al pseudo-approximation framework carries through also. Indeed, this Newton-B algorithm and its analysis works for any concave (or convex) function, even continuous ones.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 24 / 32

slide-100
SLIDE 100

Multiple Parameters What is it?

Outline

1

Network Interdiction What is it? Interdiction curves

2

LP Duality Dual of interdiction

3

Parametric Min Cut Parametric curves

4

The Breakpoint Subproblem What is it? Algorithms Discrete Newton

5

Multiple Parameters What is it? Scheduling problem Multi-GGT

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 25 / 32

slide-101
SLIDE 101

Multiple Parameters What is it?

Multiple budgets equals multiple parameters

A natural generalization is when there are multiple ways to destroy capacity, at different costs.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 26 / 32

slide-102
SLIDE 102

Multiple Parameters What is it?

Multiple budgets equals multiple parameters

A natural generalization is when there are multiple ways to destroy capacity, at different costs. It should be clear via duality that this would turn into a parametric min cut problem with multiple parameters.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 26 / 32

slide-103
SLIDE 103

Multiple Parameters What is it?

Multiple budgets equals multiple parameters

A natural generalization is when there are multiple ways to destroy capacity, at different costs. It should be clear via duality that this would turn into a parametric min cut problem with multiple parameters. Now we’d be trying to find a point on the parametric surface whose local derivatives bracket the given budgets in the coordinate directions.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 26 / 32

slide-104
SLIDE 104

Multiple Parameters What is it?

Multiple budgets equals multiple parameters

A natural generalization is when there are multiple ways to destroy capacity, at different costs. It should be clear via duality that this would turn into a parametric min cut problem with multiple parameters. Now we’d be trying to find a point on the parametric surface whose local derivatives bracket the given budgets in the coordinate directions. As before we could solve this via LP, but we’d prefer a combinatorial algorithm.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 26 / 32

slide-105
SLIDE 105

Multiple Parameters What is it?

Multiple budgets equals multiple parameters

A natural generalization is when there are multiple ways to destroy capacity, at different costs. It should be clear via duality that this would turn into a parametric min cut problem with multiple parameters. Now we’d be trying to find a point on the parametric surface whose local derivatives bracket the given budgets in the coordinate directions. As before we could solve this via LP, but we’d prefer a combinatorial algorithm. Interdiction already gets complicated with two parameters, so let’s consider a simpler multiple parameter scheduling problem instead.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 26 / 32

slide-106
SLIDE 106

Multiple Parameters Scheduling problem

Chen’s ’94 scheduling problem

We again start with a usual max flow network. We think of the nodes j such that s ! j 2 A as jobs, and we denote csj by pj, the processing time of job j.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 27 / 32

slide-107
SLIDE 107

Multiple Parameters Scheduling problem

Chen’s ’94 scheduling problem

We again start with a usual max flow network. We think of the nodes j such that s ! j 2 A as jobs, and we denote csj by pj, the processing time of job j. If a max flow in the network saturates all of these job arcs, then we are happy and the problem goes away.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 27 / 32

slide-108
SLIDE 108

Multiple Parameters Scheduling problem

Chen’s ’94 scheduling problem

We again start with a usual max flow network. We think of the nodes j such that s ! j 2 A as jobs, and we denote csj by pj, the processing time of job j. If a max flow in the network saturates all of these job arcs, then we are happy and the problem goes away. So assume instead that there is some non-trivial min cut. We want to

  • utsource some of the processing of jobs until there exists a max flow

saturating the residual processing time of every job.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 27 / 32

slide-109
SLIDE 109

Multiple Parameters Scheduling problem

Chen’s ’94 scheduling problem

We again start with a usual max flow network. We think of the nodes j such that s ! j 2 A as jobs, and we denote csj by pj, the processing time of job j. If a max flow in the network saturates all of these job arcs, then we are happy and the problem goes away. So assume instead that there is some non-trivial min cut. We want to

  • utsource some of the processing of jobs until there exists a max flow

saturating the residual processing time of every job. Initially assume that if we pay $, we reduce pj to max(0, pj aj) (where aj 0 is given for each j).

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 27 / 32

slide-110
SLIDE 110

Multiple Parameters Scheduling problem

Chen’s ’94 scheduling problem

We again start with a usual max flow network. We think of the nodes j such that s ! j 2 A as jobs, and we denote csj by pj, the processing time of job j. If a max flow in the network saturates all of these job arcs, then we are happy and the problem goes away. So assume instead that there is some non-trivial min cut. We want to

  • utsource some of the processing of jobs until there exists a max flow

saturating the residual processing time of every job. Initially assume that if we pay $, we reduce pj to max(0, pj aj) (where aj 0 is given for each j). Now we want to minimize such that there exists a flow saturating all residual job arcs.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 27 / 32

slide-111
SLIDE 111

Multiple Parameters Scheduling problem

Chen’s scheduling problem: example

This single-parameter version can be solved using Gallo-Grigoriadis-Tarjan (GGT) ’89 parametric min cut in O(1) max flow time.

1 2 3

interval nodes 5 5 2 3 3 2 · 2 = 4 5 · 2 = 10 2 · 2 = 4 3 · 2 = 6 3 · 2 = 6 [12, 15] max(14 λ, 0) job nodes max(4 λ, 0) max(12 λ, 0) 2 job rj dj pj 1 10 4 2 5 12 12 3 3 15 14 [10, 12] [5, 10] [3, 5] [0, 3] 2 2 5 s t

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 28 / 32

slide-112
SLIDE 112

Multiple Parameters Scheduling problem

Two-parameter Chen

Suppose now that there are two ways to outsource, and µ such that if we pay $ + $µ, we reduce pj to max(0, pj aj bjµ). In the (, µ) plane there is a piecewise linear convex curve separating feasible points from infeasible ones.

infeasible region I " λ ! µ

λ0 µ0

(for these values of (λ, µ), there is a flow saturating all arcs at s) feasible region F McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 29 / 32

slide-113
SLIDE 113

Multiple Parameters Scheduling problem

Two-parameter Chen

Suppose now that there are two ways to outsource, and µ such that if we pay $ + $µ, we reduce pj to max(0, pj aj bjµ). We want to find a breakpoint of this curve whose local slopes bracket slope 1.

infeasible region I " λ ! µ

λ0 µ0

(for these values of (λ, µ), there is a flow saturating all arcs at s) feasible region F McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 29 / 32

slide-114
SLIDE 114

Multiple Parameters Scheduling problem

Two-parameter Chen

Suppose now that there are two ways to outsource, and µ such that if we pay $ + $µ, we reduce pj to max(0, pj aj bjµ). We know how to do this: Newton-B.

" λ ! µ

λ0 µ0

(for these values of (λ, µ), there is a flow saturating all arcs at s) feasible region F infeasible region I

λ1 µ1 slope > 1

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 29 / 32

slide-115
SLIDE 115

Multiple Parameters Scheduling problem

Two-parameter Chen

Suppose now that there are two ways to outsource, and µ such that if we pay $ + $µ, we reduce pj to max(0, pj aj bjµ). We know how to do this: Newton-B.

" λ ! µ

λ0 µ0 λ0

(for these values of (λ, µ), there is a flow saturating all arcs at s) feasible region F infeasible region I

λ1 µ1 slope > 1 slope = 1 µ0

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 29 / 32

slide-116
SLIDE 116

Multiple Parameters Scheduling problem

Three-parameter Chen

Suppose now that there are three ways to outsource, , µ, and ⌫ such that if we pay $ + $µ + $⌫, we reduce pj to max(0, pj aj bjµ dj⌫).

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 30 / 32

slide-117
SLIDE 117

Multiple Parameters Scheduling problem

Three-parameter Chen

Suppose now that there are three ways to outsource, , µ, and ⌫ such that if we pay $ + $µ + $⌫, we reduce pj to max(0, pj aj bjµ dj⌫). For any fixed value of ⌫ this is a 2-parameter problem we know how to solve.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 30 / 32

slide-118
SLIDE 118

Multiple Parameters Scheduling problem

Three-parameter Chen

Suppose now that there are three ways to outsource, , µ, and ⌫ such that if we pay $ + $µ + $⌫, we reduce pj to max(0, pj aj bjµ dj⌫). For any fixed value of ⌫ this is a 2-parameter problem we know how to solve. As we vary ⌫, these 2-parameter solutions trace out a piecewise linear curve in the ⌫ direction.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 30 / 32

slide-119
SLIDE 119

Multiple Parameters Scheduling problem

Three-parameter Chen

Suppose now that there are three ways to outsource, , µ, and ⌫ such that if we pay $ + $µ + $⌫, we reduce pj to max(0, pj aj bjµ dj⌫). For any fixed value of ⌫ this is a 2-parameter problem we know how to solve. As we vary ⌫, these 2-parameter solutions trace out a piecewise linear curve in the ⌫ direction. We want to find a breakpoint on this curve whose local slopes bracket 1.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 30 / 32

slide-120
SLIDE 120

Multiple Parameters Scheduling problem

Three-parameter Chen

Suppose now that there are three ways to outsource, , µ, and ⌫ such that if we pay $ + $µ + $⌫, we reduce pj to max(0, pj aj bjµ dj⌫). For any fixed value of ⌫ this is a 2-parameter problem we know how to solve. As we vary ⌫, these 2-parameter solutions trace out a piecewise linear curve in the ⌫ direction. We want to find a breakpoint on this curve whose local slopes bracket 1. Again, we know how to do this via a recursive application of Newton-B.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 30 / 32

slide-121
SLIDE 121

Multiple Parameters Scheduling problem

Three-parameter Chen

Suppose now that there are three ways to outsource, , µ, and ⌫ such that if we pay $ + $µ + $⌫, we reduce pj to max(0, pj aj bjµ dj⌫). For any fixed value of ⌫ this is a 2-parameter problem we know how to solve. As we vary ⌫, these 2-parameter solutions trace out a piecewise linear curve in the ⌫ direction. We want to find a breakpoint on this curve whose local slopes bracket 1. Again, we know how to do this via a recursive application of Newton-B. This generalizes to any fixed number of parameters.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 30 / 32

slide-122
SLIDE 122

Multiple Parameters Scheduling problem

Three-parameter Chen

Suppose now that there are three ways to outsource, , µ, and ⌫ such that if we pay $ + $µ + $⌫, we reduce pj to max(0, pj aj bjµ dj⌫). For any fixed value of ⌫ this is a 2-parameter problem we know how to solve. As we vary ⌫, these 2-parameter solutions trace out a piecewise linear curve in the ⌫ direction. We want to find a breakpoint on this curve whose local slopes bracket 1. Again, we know how to do this via a recursive application of Newton-B. This generalizes to any fixed number of parameters. Open Question: LP is polynomial even when the number of parameters is not fixed. Can we get a combinatorial algorithm then?

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 30 / 32

slide-123
SLIDE 123

Multiple Parameters Multi-GGT

Multi-parameter GGT

Chen with 2 fits into a framework of Topkis ’78 concerning parametric submodular optimization over a(n algebraic) lattice (here the lattice is R2

+ with ):

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 31 / 32

slide-124
SLIDE 124

Multiple Parameters Multi-GGT

Multi-parameter GGT

Chen with 2 fits into a framework of Topkis ’78 concerning parametric submodular optimization over a(n algebraic) lattice (here the lattice is R2

+ with ):

The objective cap(S, , µ) is submodular in S for each fixed (, µ).

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 31 / 32

slide-125
SLIDE 125

Multiple Parameters Multi-GGT

Multi-parameter GGT

Chen with 2 fits into a framework of Topkis ’78 concerning parametric submodular optimization over a(n algebraic) lattice (here the lattice is R2

+ with ):

The objective cap(S, , µ) is submodular in S for each fixed (, µ). It also satisfies Increasing Differences: for all S ✓ T and (0, µ0) (, µ), cap(T, , µ) cap(T, 0, µ0)  cap(S, , µ) cap(S, 0, µ0).

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 31 / 32

slide-126
SLIDE 126

Multiple Parameters Multi-GGT

Multi-parameter GGT

Chen with 2 fits into a framework of Topkis ’78 concerning parametric submodular optimization over a(n algebraic) lattice (here the lattice is R2

+ with ):

The objective cap(S, , µ) is submodular in S for each fixed (, µ). It also satisfies Increasing Differences: for all S ✓ T and (0, µ0) (, µ), cap(T, , µ) cap(T, 0, µ0)  cap(S, , µ) cap(S, 0, µ0).

Thm (Topkis): With these two properties, if (0, µ0) (, µ) then S⇤(, µ) ✓ S⇤(0, µ0).

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 31 / 32

slide-127
SLIDE 127

Multiple Parameters Multi-GGT

Multi-parameter GGT

Chen with 2 fits into a framework of Topkis ’78 concerning parametric submodular optimization over a(n algebraic) lattice (here the lattice is R2

+ with ):

The objective cap(S, , µ) is submodular in S for each fixed (, µ). It also satisfies Increasing Differences: for all S ✓ T and (0, µ0) (, µ), cap(T, , µ) cap(T, 0, µ0)  cap(S, , µ) cap(S, 0, µ0).

Thm (Topkis): With these two properties, if (0, µ0) (, µ) then S⇤(, µ) ✓ S⇤(0, µ0). Corollary: Min cuts are increasing along any non-decreasing curve (chain) in R2

+.

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 31 / 32

slide-128
SLIDE 128

Multiple Parameters Multi-GGT

Multi-parameter GGT

Chen with 2 fits into a framework of Topkis ’78 concerning parametric submodular optimization over a(n algebraic) lattice (here the lattice is R2

+ with ):

The objective cap(S, , µ) is submodular in S for each fixed (, µ). It also satisfies Increasing Differences: for all S ✓ T and (0, µ0) (, µ), cap(T, , µ) cap(T, 0, µ0)  cap(S, , µ) cap(S, 0, µ0).

Thm (Topkis): With these two properties, if (0, µ0) (, µ) then S⇤(, µ) ✓ S⇤(0, µ0). Corollary: Min cuts are increasing along any non-decreasing curve (chain) in R2

+.

Open Question: When capacities are (piecewise) linear, how many different min cuts can we have over all (, µ)?

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 31 / 32

slide-129
SLIDE 129

Multiple Parameters Multi-GGT

Any questions?

Questions? Comments?

McCormick et al (UBC-Rome-Berlin) Parametric Interdiction CanaDAM June 2013 32 / 32