parallel scenario decomposition of risk averse 0-1

57
Parallel Scenario Decomposition of Risk Averse 0-1 Stochastic Programs Shabbir Ahmed ISyE, Georgia Tech joint work with Yan Deng, Siqian Shen (IOE, U of Michigan) 2016 ICSP 1 / 27

Upload: others

Post on 04-Jun-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Parallel Scenario Decomposition of Risk Averse 0-1

Parallel Scenario Decomposition ofRisk Averse 0-1 Stochastic Programs

Shabbir AhmedISyE, Georgia Tech

joint work withYan Deng, Siqian Shen (IOE, U of Michigan)

2016 ICSP

1 / 27

Page 2: Parallel Scenario Decomposition of Risk Averse 0-1

Outline

I Risk-Averse Stochastic 0-1 ProgramI Dual representation of coherent risk measureI Dual decompositionI Distributionally robust counterpart

I Parallelization of Decomposition MethodI MotivationI Parallel Schemes

2 / 27

Page 3: Parallel Scenario Decomposition of Risk Averse 0-1

Risk Averse 0-1 Program

min ρ(f(x, ξ))

s.t. x ∈ X ⊆ {0, 1}d

I ξ: a random vector with finite support {ξ1, . . . , ξK} and probabilitiesp1, . . . , pK .

p ∈ A =

{(p1, . . . , pK) :

K∑k=1

pk = 1, pk ≥ 0, ∀k = 1, . . . ,K

}I f(x, ξ): cost function, e.g.,

f(x, ξ) = c>x+miny{θ(y) : y ∈ Y (x, ξ)}

I ρ(·): coherent risk measure.

3 / 27

Page 4: Parallel Scenario Decomposition of Risk Averse 0-1

Coherent Risk Measure

min ρ(f(x, ξ))

s.t. x ∈ X ⊆ {0, 1}d

I Positive homogeneity:

ρ(0) = 0, and ρ(εw) = ερ(w) for any ε > 0

I Sub-additivity:

ρ(w1 + w2) ≤ ρ(w1) + ρ(w2)

I Monotonicity:

ρ(w1 ≥ w2), if w1 ≥ w2 in all scenarios

I Translation invariance:

ρ(w + C) = ρ(w) + C, for any constant C.

4 / 27

Page 5: Parallel Scenario Decomposition of Risk Averse 0-1

Coherent Risk Measure

min ρ(f(x, ξ))

s.t. x ∈ X ⊆ {0, 1}d

I Artzner et al. (1999), Shapiro and Ahmed (2004), Shapiro (2013):For some uncertainty set Q(p) ⊆ A,

ρ(f(x, ξ)) = maxq∈Q(p)

{Eq [f(x, ξ)] =

K∑k=1

qkf(x, ξk)

}.

See, e.g., CVaR1−ε(f(x, ξ))

ϵ

ϵVaR

CVaR

max

5 / 27

Page 6: Parallel Scenario Decomposition of Risk Averse 0-1

Coherent Risk Measure

min ρ(f(x, ξ))

s.t. x ∈ X ⊆ {0, 1}d

I Artzner et al. (1999), Shapiro and Ahmed (2004), Shapiro (2013):For some uncertainty set Q(p) ⊆ A,

ρ(f(x, ξ)) = maxq∈Q(p)

{Eq [f(x, ξ)] =

K∑k=1

qkf(x, ξk)

}.

See, e.g., CVaR1−ε(f(x, ξ))

ϵ

ϵVaR

CVaR

max

5 / 27

Page 7: Parallel Scenario Decomposition of Risk Averse 0-1

Coherent Risk Measure

min ρ(f(x, ξ))

s.t. x ∈ X ⊆ {0, 1}d

I Artzner et al. (1999), Shapiro and Ahmed (2004), Shapiro (2013):For some uncertainty set Q(p) ⊆ A,

ρ(f(x, ξ)) = maxq∈Q(p)

{Eq [f(x, ξ)] =

K∑k=1

qkf(x, ξk)

}.

See, e.g., CVaR1−ε(f(x, ξ))

= max

{K∑k=1

qkf(x, ξk) :

K∑k=1

qk = 1, 0 ≤ qk≤ pk/ε, ∀k = 1, . . . ,K

}

6 / 27

Page 8: Parallel Scenario Decomposition of Risk Averse 0-1

Coherent Risk Measure

min ρ(f(x, ξ))

s.t. x ∈ X ⊆ {0, 1}d

I Artzner et al. (1999), Shapiro and Ahmed (2004), Shapiro (2013):For some uncertainty set Q(p) ⊆ A,

ρ(f(x, ξ)) = maxq∈Q(p)

{Eq [f(x, ξ)] =

K∑k=1

qkf(x, ξk)

}.

I Minimax Reformulation

minx∈X

maxq∈Q(p)

{K∑k=1

qkf(x, ξk)

}I Collado et. al. (2012): risk averse multistage stochastic linear programI Ahmed (2013): 0-1 stochastic programI Ahmed et. al. (2015): 0-1 chance constrained program

7 / 27

Page 9: Parallel Scenario Decomposition of Risk Averse 0-1

Dual Decomposition

minx∈X

maxq∈Q(p)

{K∑k=1

qkf(x, ξk)

}

I Clone x for each scenario⇒ x1, . . . , xK .I Force x1 = · · · = xK by non-anticipativity constraint:

K∑k=1

αkxk = x1 (NAC)

where α1, . . . , αK are positive constants that sum to 1.

8 / 27

Page 10: Parallel Scenario Decomposition of Risk Averse 0-1

Dual Decomposition

minx∈X

maxq∈Q(p)

{K∑k=1

qkf(x, ξk)

}

I Clone x for each scenario⇒ x1, . . . , xK .I Force x1 = · · · = xK by non-anticipativity constraint:

K∑k=1

αkxk = x1 (NAC)

where α1, . . . , αK are positive constants that sum to 1.

8 / 27

Page 11: Parallel Scenario Decomposition of Risk Averse 0-1

Dual Decomposition

minx1,...,xK∈X

maxq∈Q(p)

K∑k=1

qkf(xk, ξk)

s.t.K∑k=1

αkxk = x1 (NAC)

I Relax (NAC) and punish violation by λ ∈ Rd.

g(λ) = minx1,...,xK∈X

maxq∈Q(p)

{λ>

(K∑k=1

αkxk − x1

)+

K∑k=1

qkf(xk, ξk)

}

= minx1,...,xK∈X

maxq∈Q(p)

{K∑k=1

((αk − δk)λ>xk + qkf(xk, ξk)

)}llllllllllllllllllllll

where δ1 = 1 and δk = 0 for k = 2, . . . ,K.

9 / 27

Page 12: Parallel Scenario Decomposition of Risk Averse 0-1

Dual Decomposition

minx1,...,xK∈X

maxq∈Q(p)

K∑k=1

qkf(xk, ξk)

s.t.K∑k=1

αkxk = x1 (NAC)

I Relax (NAC) and punish violation by λ ∈ Rd.

g(λ) = minx1,...,xK∈X

maxq∈Q(p)

{λ>

(K∑k=1

αkxk − x1

)+

K∑k=1

qkf(xk, ξk)

}

= minx1,...,xK∈X

maxq∈Q(p)

{K∑k=1

((αk − δk)λ>xk + qkf(xk, ξk)

)}llllllllllllllllllllll

where δ1 = 1 and δk = 0 for k = 2, . . . ,K.

9 / 27

Page 13: Parallel Scenario Decomposition of Risk Averse 0-1

Dual Decomposition

minx1,...,xK∈X

maxq∈Q(p)

K∑k=1

qkf(xk, ξk)

s.t.K∑k=1

αkxk = x1 (NAC)

I Relax (NAC) and punish violation by λ ∈ Rd.

g(λ) = minx1,...,xK∈X

maxq∈Q(p)

{λ>

(K∑k=1

αkxk − x1

)+

K∑k=1

qkf(xk, ξk)

}

= minx1,...,xK∈X

maxq∈Q(p)

{K∑k=1

((αk − δk)λ>xk + qkf(xk, ξk)

)}

≥ maxq∈Q(p)

minx1,...,xK∈X

{K∑k=1

((αk − δk)λ>xk + qkf(xk, ξk)

)}

= maxq∈Q(p)

{K∑k=1

minxk∈X

{(αk − δk)λ>xk + qkf(xk, ξk)

}}= g(λ)llllllllllllllllllll

10 / 27

Page 14: Parallel Scenario Decomposition of Risk Averse 0-1

Dual Decomposition

minx1,...,xK∈X

maxq∈Q(p)

K∑k=1

qkf(xk, ξk)

s.t.K∑k=1

αkxk = x1 (NAC)

I Relax (NAC) and punish violation by λ ∈ Rd.

g(λ) = minx1,...,xK∈X

maxq∈Q(p)

{λ>

(K∑k=1

αkxk − x1

)+

K∑k=1

qkf(xk, ξk)

}

= minx1,...,xK∈X

maxq∈Q(p)

{K∑k=1

((αk − δk)λ>xk + qkf(xk, ξk)

)}

≥ maxq∈Q(p)

minx1,...,xK∈X

{K∑k=1

((αk − δk)λ>xk + qkf(xk, ξk)

)}

= maxq∈Q(p)

{K∑k=1

minxk∈X

{(αk − δk)λ>xk + qkf(xk, ξk)

}}= g(λ) (LB, ∀λ)

11 / 27

Page 15: Parallel Scenario Decomposition of Risk Averse 0-1

LB Computation

g(λ) = maxq∈Q(p)

{K∑k=1

minxk∈X

{(αk − δk)λ>xk + qkf(x

k, ξk)}}

12 / 27

Page 16: Parallel Scenario Decomposition of Risk Averse 0-1

LB Computation

g(λ) = maxq∈Q(p)

{K∑k=1

minxk∈X

{(αk − δk)λ>xk + qkf(x

k, ξk)}}

I Approach 1: LB← g(0).

g(0) = maxq∈Q(p)

{∑Kk=1 qkminx∈X f(x, ξ

k)}

1: for k = 1, . . . ,K do2: βk ← min{f(x, ξk) : x ∈ X}3: end for4: `← max

{∑Kk=1 βkqk : q ∈ Q(p)

}

13 / 27

Page 17: Parallel Scenario Decomposition of Risk Averse 0-1

LB Computation

g(λ) = maxq∈Q(p)

{K∑k=1

minxk∈X

{(αk − δk)λ>xk + qkf(x

k, ξk)}}

I Approach 2: LB← maxλ g(λ).

MP: maxq∈Q(p),λ,φ

{φ : φ ≤

∑K

k=1minx∈X

{(αk − δk)λ>x+ qkf(x, ξ

k)}}

1: repeat2: (φ, λ, q)← MP3: for k = 1, . . . ,K do4: βk ← min

{(αk − δk)λ>x+ qkf(x, ξk) : x ∈ X

}5: end for6: add cut φ ≤

∑Kk=1

((αk − δk)λ>xk + qkf(xk, ξk)

)to MP

7: until φ ≤∑Kk=1 βk

Slow convergence: stop after some iterations and return the best-found∑Kk=1 βk.

14 / 27

Page 18: Parallel Scenario Decomposition of Risk Averse 0-1

LB Computation

g(λ) = maxq∈Q(p)

{K∑k=1

minxk∈X

{(αk − δk)λ>xk + qkf(x

k, ξk)}}

I Approach 1 & 2:

minx1,...,xK∈X

maxq∈Q(p)

K∑k=1

qkf(xk, ξk)

s.t.K∑k=1

αkxk = x1, ∀i = 1, . . . ,K ∼ λ ∈ Rd

I Approach 3:

minx1,...,xK∈X

maxq∈Q(p)

K∑k=1

qkf(xk, ξk)

s.t.K∑k=1

αkxk = xi, ∀i = 1, . . . ,K ∼ qiλi ∈ Rd

15 / 27

Page 19: Parallel Scenario Decomposition of Risk Averse 0-1

LB Computation

g(λ) = maxq∈Q(p)

minx1,...,xK∈X

{∑K

k=1qk(f(xk, ξk)− (λk)>xk

)+(∑K

k=1αkx

k)>(∑K

k=1qkλ

k)}

16 / 27

Page 20: Parallel Scenario Decomposition of Risk Averse 0-1

LB Computation

g(λ) = maxq∈Q(p)

minx1,...,xK∈X

{∑K

k=1qk(f(xk, ξk)− (λk)>xk

)+(∑K

k=1αkx

k)>(∑K

k=1qkλ

k)}

g(λ) = maxq∈Q(p)

⋂Q(λ)

{∑K

k=1qkmin

x∈X

{f(x, ξk)− (λk)>x

}},

where Q(λ) ={q :∑K

k=1qkλ

k = 0}

I Approach 3: LB← maxλ g(λ).

1: initialize λ1, . . . , λK2: repeat3: for k = 1, . . . ,K do4: βk ← min

{f(x, ξk)− (λk)>x : x ∈ X

}5: end for6: `← max

{∑Kk=1 βkqk : q ∈ Q(p)

⋂Q(λ)

}7: update λ1, . . . , λK8: until ` converges

Slow convergence: stop after some iterations and return the best-found `.17 / 27

Page 21: Parallel Scenario Decomposition of Risk Averse 0-1

Serial Algorithm

I LB:Subproblem of Scenario k

Approach 1 minx∈X{f(x, ξk)}

Approach 2 minx∈X

{(αk − δk)λ>x+ qkf(x, ξk)

}Approach 3 min

x∈X

{f(x, ξk)− (λk)>x

}I UB: evaluate subproblem solutions.I Algorithm overview:

1: initialize LB ` and UB u2: repeat3: compute ` and collect subproblem solutions in S, by Approach 1/2/34: for x ∈ S do5: u← min{u, ρ(f(x, ξ))}6: end for7: X ← X \ S8: until u− ` ≤ ε

I No-good Cut to exclude evaluated x:∑j:xj=1(1− xj) +

∑j:xj=0 xj ≥ 1.

18 / 27

Page 22: Parallel Scenario Decomposition of Risk Averse 0-1

Distributionally Robust Risk-Averse 0-1 Program

I Known probability distribution p,

minx∈X

ρ(f(x, ξ)) = minx∈X

maxq∈Qρ(p)

Eq[f(x, ξ)]

I If p is not known exactly, but an uncertainty set U is given,

minx∈X

maxp∈U

ρ(f(x, ξ))

=minx∈X

maxp∈U

maxq∈Qρ(p)

Eq[f(x, ξ)]

=minx∈X

maxq∈{q:q∈Qρ(p), p∈P}

Eq[f(x, ξ)]

I All the proposed dual decomposition methods are still applicable.

19 / 27

Page 23: Parallel Scenario Decomposition of Risk Averse 0-1

Distributionally Robust Risk-Averse 0-1 Program

I Known probability distribution p,

minx∈X

ρ(f(x, ξ)) = minx∈X

maxq∈Qρ(p)

Eq[f(x, ξ)]

I If p is not known exactly, but an uncertainty set U is given,

minx∈X

maxp∈U

ρ(f(x, ξ))

=minx∈X

maxp∈U

maxq∈Qρ(p)

Eq[f(x, ξ)]

=minx∈X

maxq∈{q:q∈Qρ(p), p∈P}

Eq[f(x, ξ)]

I All the proposed dual decomposition methods are still applicable.

19 / 27

Page 24: Parallel Scenario Decomposition of Risk Averse 0-1

Parallelization

I Parallel jobs, e.g., Sub(k), Eva(x).

I Synchronization and communication in betweeniterations

I Similarly-structured methods:I Dual decomposition [Carøe and Schultz (1999), ...]I Benders decomposition [Benders (1962), ...]I Progressive hedging [Rockafellar and Roger (1991), ...]I Multi-stage decomposition [Slyke and Wets (1969), ...]I Scenario decomposition [Higle and Sen (1991), ...]

20 / 27

Page 25: Parallel Scenario Decomposition of Risk Averse 0-1

Parallelization

I Parallel jobs, e.g., Sub(k), Eva(x).I Synchronization and communication in between

iterations

I Similarly-structured methods:I Dual decomposition [Carøe and Schultz (1999), ...]I Benders decomposition [Benders (1962), ...]I Progressive hedging [Rockafellar and Roger (1991), ...]I Multi-stage decomposition [Slyke and Wets (1969), ...]I Scenario decomposition [Higle and Sen (1991), ...]

20 / 27

Page 26: Parallel Scenario Decomposition of Risk Averse 0-1

Parallelization

I Parallel jobs, e.g., Sub(k), Eva(x).I Synchronization and communication in between

iterations

I Similarly-structured methods:I Dual decomposition [Carøe and Schultz (1999), ...]I Benders decomposition [Benders (1962), ...]I Progressive hedging [Rockafellar and Roger (1991), ...]I Multi-stage decomposition [Slyke and Wets (1969), ...]I Scenario decomposition [Higle and Sen (1991), ...]

20 / 27

Page 27: Parallel Scenario Decomposition of Risk Averse 0-1

Parallelization

I Parallel jobs, e.g., Sub(k), Eva(x).I Synchronization and communication in between

iterations

I Similarly-structured methods:I Dual decomposition [Carøe and Schultz (1999), ...]I Benders decomposition [Benders (1962), ...]I Progressive hedging [Rockafellar and Roger (1991), ...]I Multi-stage decomposition [Slyke and Wets (1969), ...]I Scenario decomposition [Higle and Sen (1991), ...]

20 / 27

Page 28: Parallel Scenario Decomposition of Risk Averse 0-1

Parallelization

I Parallel jobs, e.g., Sub(k), Eva(x).I Synchronization and communication in between

iterationsI Similarly-structured methods:

I Dual decomposition [Carøe and Schultz (1999), ...]I Benders decomposition [Benders (1962), ...]I Progressive hedging [Rockafellar and Roger (1991), ...]I Multi-stage decomposition [Slyke and Wets (1969), ...]I Scenario decomposition [Higle and Sen (1991), ...]

20 / 27

Page 29: Parallel Scenario Decomposition of Risk Averse 0-1

Existing Work

I Synchronous: barriers after job solving and beforereiteration.e.g., Nielsen and Zenios (1997), Ahmed (2013), Lubin et al. (2013), ...

I Master-Worker: dedicate one processor to collect andcompile distributed information.e.g., Ruszczynski (1993), Birge et al. (1996), Ryan, et al. (2015), ...

I Dynamic assignment: jobs queue for availableprocessors.

I Force reiteration:e.g., Linderoth and Wright (2003), ...

21 / 27

Page 30: Parallel Scenario Decomposition of Risk Averse 0-1

Existing Work

I Synchronous: barriers after job solving and beforereiteration.e.g., Nielsen and Zenios (1997), Ahmed (2013), Lubin et al. (2013), ...

I Master-Worker: dedicate one processor to collect andcompile distributed information.e.g., Ruszczynski (1993), Birge et al. (1996), Ryan, et al. (2015), ...

I Dynamic assignment: jobs queue for availableprocessors.

I Force reiteration:e.g., Linderoth and Wright (2003), ...

barriers

21 / 27

Page 31: Parallel Scenario Decomposition of Risk Averse 0-1

Existing Work

I Synchronous: barriers after job solving and beforereiteration.e.g., Nielsen and Zenios (1997), Ahmed (2013), Lubin et al. (2013), ...

I Master-Worker: dedicate one processor to collect andcompile distributed information.e.g., Ruszczynski (1993), Birge et al. (1996), Ryan, et al. (2015), ...

I Dynamic assignment: jobs queue for availableprocessors.

I Force reiteration:e.g., Linderoth and Wright (2003), ...

barriers

21 / 27

Page 32: Parallel Scenario Decomposition of Risk Averse 0-1

Existing Work

I Synchronous: barriers after job solving and beforereiteration.e.g., Nielsen and Zenios (1997), Ahmed (2013), Lubin et al. (2013), ...

I Master-Worker: dedicate one processor to collect andcompile distributed information.e.g., Ruszczynski (1993), Birge et al. (1996), Ryan, et al. (2015), ...

I Dynamic assignment: jobs queue for availableprocessors.

I Force reiteration:e.g., Linderoth and Wright (2003), ...

barriers

21 / 27

Page 33: Parallel Scenario Decomposition of Risk Averse 0-1

Existing Work

I Synchronous: barriers after job solving and beforereiteration.e.g., Nielsen and Zenios (1997), Ahmed (2013), Lubin et al. (2013), ...

I Master-Worker: dedicate one processor to collect andcompile distributed information.e.g., Ruszczynski (1993), Birge et al. (1996), Ryan, et al. (2015), ...

I Dynamic assignment: jobs queue for availableprocessors.

I Force reiteration:e.g., Linderoth and Wright (2003), ...

barriers

21 / 27

Page 34: Parallel Scenario Decomposition of Risk Averse 0-1

Existing Work

I Synchronous: barriers after job solving and beforereiteration.e.g., Nielsen and Zenios (1997), Ahmed (2013), Lubin et al. (2013), ...

I Master-Worker: dedicate one processor to collect andcompile distributed information.e.g., Ruszczynski (1993), Birge et al. (1996), Ryan, et al. (2015), ...

I Dynamic assignment: jobs queue for availableprocessors.

I Force reiteration:e.g., Linderoth and Wright (2003), ...

reiterate

21 / 27

Page 35: Parallel Scenario Decomposition of Risk Averse 0-1

Our Approaches

I Basic Parallel (BP): synchronous.scenario subproblem evaluation exchange result

I Duplicate efforts on evaluation, e.g.,

I Master-Worker with Barriers (MWB): master keepsolutions.

I Master-Worker without Barriers (MWN): master createsjobs and updates every worker individually with resultsfrom the others.

barriers

22 / 27

Page 36: Parallel Scenario Decomposition of Risk Averse 0-1

Our Approaches

I Basic Parallel (BP): synchronous.scenario subproblem evaluation exchange result

I Duplicate efforts on evaluation, e.g.,

I Master-Worker with Barriers (MWB): master keepsolutions.

I Master-Worker without Barriers (MWN): master createsjobs and updates every worker individually with resultsfrom the others.

barriers

22 / 27

Page 37: Parallel Scenario Decomposition of Risk Averse 0-1

Our Approaches

I Basic Parallel (BP): synchronous.scenario subproblem evaluation exchange result

I Duplicate efforts on evaluation, e.g.,

I Master-Worker with Barriers (MWB): master keepsolutions.

I Master-Worker without Barriers (MWN): master createsjobs and updates every worker individually with resultsfrom the others.

barriers

22 / 27

Page 38: Parallel Scenario Decomposition of Risk Averse 0-1

Our Approaches

I Basic Parallel (BP): synchronous.scenario subproblem evaluation exchange result

I Duplicate efforts on evaluation, e.g.,

I Master-Worker with Barriers (MWB): master keepsolutions.

I Master-Worker without Barriers (MWN): master createsjobs and updates every worker individually with resultsfrom the others.

barriers

22 / 27

Page 39: Parallel Scenario Decomposition of Risk Averse 0-1

Our Approaches

I Basic Parallel (BP): synchronous.scenario subproblem evaluation exchange result

I Duplicate efforts on evaluation, e.g.,

I Master-Worker with Barriers (MWB): master keepsolutions.

I Master-Worker without Barriers (MWN): master createsjobs and updates every worker individually with resultsfrom the others.

barriers

22 / 27

Page 40: Parallel Scenario Decomposition of Risk Averse 0-1

Our Approaches

I Basic Parallel (BP): synchronous.scenario subproblem evaluation exchange result

I Duplicate efforts on evaluation, e.g.,

I Master-Worker with Barriers (MWB): master keepsolutions.

scenario subproblem evaluationWorker:

remove duplicatesMaster:

I Master-Worker without Barriers (MWN): master createsjobs and updates every worker individually with resultsfrom the others.

barriers

22 / 27

Page 41: Parallel Scenario Decomposition of Risk Averse 0-1

Our Approaches

I Basic Parallel (BP): synchronous.scenario subproblem evaluation exchange result

I Duplicate efforts on evaluation, e.g.,

I Master-Worker with Barriers (MWB): master keepsolutions.

scenario subproblem evaluationWorker:

remove duplicatesMaster:

I Master-Worker without Barriers (MWN): master createsjobs and updates every worker individually with resultsfrom the others.

barriers

22 / 27

Page 42: Parallel Scenario Decomposition of Risk Averse 0-1

Our Approaches

I Basic Parallel (BP): synchronous.scenario subproblem evaluation exchange result

I Duplicate efforts on evaluation, e.g.,

I Master-Worker with Barriers (MWB): master keepsolutions.

scenario subproblem evaluationWorker:

remove duplicatesMaster:

I Master-Worker without Barriers (MWN): master createsjobs and updates every worker individually with resultsfrom the others.

Eva((0,1,1))Sub(2) Eva((1,1,1))Sub(3)Sub(1) Sub(4)

barriers

22 / 27

Page 43: Parallel Scenario Decomposition of Risk Averse 0-1

Our Approaches

I Basic Parallel (BP): synchronous.scenario subproblem evaluation exchange result

I Duplicate efforts on evaluation, e.g.,

I Master-Worker with Barriers (MWB): master keepsolutions.

scenario subproblem evaluationWorker:

remove duplicatesMaster:

I Master-Worker without Barriers (MWN): master createsjobs and updates every worker individually with resultsfrom the others.

Eva((0,1,1))Sub(2) Eva((1,1,1))Sub(3)Sub(1) Sub(4)

22 / 27

Page 44: Parallel Scenario Decomposition of Risk Averse 0-1

Computational Results

I CPLEX 12.6 & C++ on a Linux workstation with four 3.4GHzprocessors and 16GB memory.

I Parallel: OpenMPI, Flux HPC ClusterI Test risk measure ρ: CVaR1−0.1I Instances from SIPLIB†

SSLP SMKP

stochastic server location problem multi 0-1 knapsack problem

Stage 110 binary var 240 binary var

1 constr 50 constr

Stage 2 500 binary var, 10 continuous var 120 binary var

(per scenario) 60 constr 5 constr

SSLP Instances SMKP Instances

_50 _100 _500 _1000 _1 _2 _3 _4

# scen 50 100 50 1000 20 40 80 160

†: S. Ahmed, R. Garcia, N. Kong, L. Ntaimo, G. Parija, F. Qiu, S. Sen. SIPLIB: A Stochastic IntegerProgramming Test Problem Library. http://www.isye.gatech.edu/~sahmed/siplib, 2015.

23 / 27

Page 45: Parallel Scenario Decomposition of Risk Averse 0-1

Computational EfficiencyI MIP: call solver to solve the LP reformulation of CVaR (Rockafellar et

al., 2002):

minx∈X

CVaRα(f(x, ξ)) = minx∈X,η

{η +

1

1− α

K∑k=1

pk

[f(x, ξk)− η

]+: η ∈ R

}.

I DD-i: dual decomposition using different methods for computingbounds.

I For modest and large instances, the computational efficacy:DD-1 > DD-2S > DD-2C > MIP

(1-loop) (2-loop, subgradient) (2-loop, cutting-plane)

24 / 27

Page 46: Parallel Scenario Decomposition of Risk Averse 0-1

Computational EfficiencyI MIP: call solver to solve the LP reformulation of CVaR (Rockafellar et

al., 2002):

minx∈X

CVaRα(f(x, ξ)) = minx∈X,η

{η +

1

1− α

K∑k=1

pk

[f(x, ξk)− η

]+: η ∈ R

}.

I DD-i: dual decomposition using different methods for computingbounds.

Table : Solution time in seconds (optimality gap if not solved in 6hrs)SSLP SMKP

_50 _100 _500 _1000 _20 _40 _80 _160MIP 195 201 (100%) (100%) 299 (0.09%) (0.11%) (0.16%)

DD-2S 415 602 7231 (9%) 3496 9080 (0.01%) (0.01%)DD-2C 1276 2570 (10%) (16%) (0.02%) (0.01%) (0.02%) (0.02%)DD-1 248 502 4663 12750 2692 9866 11249 18774

#: fastest among the comparison groups.

I For modest and large instances, the computational efficacy:DD-1 > DD-2S > DD-2C > MIP

(1-loop) (2-loop, subgradient) (2-loop, cutting-plane)

24 / 27

Page 47: Parallel Scenario Decomposition of Risk Averse 0-1

Computational EfficiencyI MIP: call solver to solve the LP reformulation of CVaR (Rockafellar et

al., 2002):

minx∈X

CVaRα(f(x, ξ)) = minx∈X,η

{η +

1

1− α

K∑k=1

pk

[f(x, ξk)− η

]+: η ∈ R

}.

I DD-i: dual decomposition using different methods for computingbounds.

Table : Solution time in seconds (optimality gap if not solved in 6hrs)SSLP SMKP

_50 _100 _500 _1000 _20 _40 _80 _160MIP 195 201 (100%) (100%) 299 (0.09%) (0.11%) (0.16%)

DD-2S 415 602 7231 (9%) 3496 9080 (0.01%) (0.01%)DD-2C 1276 2570 (10%) (16%) (0.02%) (0.01%) (0.02%) (0.02%)DD-1 248 502 4663 12750 2692 9866 11249 18774

#: fastest among the comparison groups.

I For modest and large instances, the computational efficacy:DD-1 > DD-2S > DD-2C > MIP

(1-loop) (2-loop, subgradient) (2-loop, cutting-plane)

24 / 27

Page 48: Parallel Scenario Decomposition of Risk Averse 0-1

Parallel DD-1Speedup = Serial Time / Parallel Time (= # processors, in perfect parallelism)

Figure : Speedup vs. Num of Processeshahahahaha

048

121620242832

0 4 8 12 16 20 24 28 32048

121620242832

0 4 8 12 16 20 24 28 32048

121620242832

0 4 8 12 16 20 24 28 32048

121620242832

0 4 8 12 16 20 24 28 32

perfect speedup BP MWB MWN

048

121620242832

0 4 8 12 16 20 24 28 32048

121620242832

0 4 8 12 16 20 24 28 32048

121620242832

0 4 8 12 16 20 24 28 32048

121620242832

0 4 8 12 16 20 24 28 32

SSLP_50 SSLP_100 SSLP_500 SSLP_1000

SMKP_20 SMKP_40 SMKP_80 SMKP_160

0

2

4

6

8

10

0 2 4 6 8 10

RAS1_1

0

2

4

6

8

10

0 2 4 6 8 10

RAS1_2

0

2

4

6

8

10

0 2 4 6 8 10

RAS1_3

0

2

4

6

8

10

0 2 4 6 8 10

RAS3_1

0

2

4

6

8

10

0 2 4 6 8 10

RAS3_2

Perfect speedupBasic ParallelMaster-Worker Parallel

0

2

4

6

8

10

0 2 4 6 8 10

RAS3_3

PerfectBPMWB

048

121620242832

0 4 8 12 16 20 24 28 32048

121620242832

0 4 8 12 16 20 24 28 32048

121620242832

0 4 8 12 16 20 24 28 32048

121620242832

0 4 8 12 16 20 24 28 32

perfect speedup BP MWB MWN

048

121620242832

0 4 8 12 16 20 24 28 32048

121620242832

0 4 8 12 16 20 24 28 32048

121620242832

0 4 8 12 16 20 24 28 32048

121620242832

0 4 8 12 16 20 24 28 32

SSLP_50 SSLP_100 SSLP_500 SSLP_1000

SMKP_20 SMKP_40 SMKP_80 SMKP_160

MWN

I MWB and BP crossover.I MWN (MWB) scales better under a smaller (larger) num of scenarios.I Super-linear speedup: smaller total workload in parallel than in serial.

25 / 27

Page 49: Parallel Scenario Decomposition of Risk Averse 0-1

Communication Time TradeoffI Communication

I Collective vs. Point-to-point

I BP: collective; MWB: mixed; MWN: point-to-point.

I Time tradeoffI Computation time:

BP > MWB ≈ MWNI Collective communication time:

BP > MWB� MWN = 0

I Point-to-point communication time:

MWN > MWB� BP = 0

26 / 27

Page 50: Parallel Scenario Decomposition of Risk Averse 0-1

Communication Time TradeoffI Communication

I Collective vs. Point-to-point

I BP: collective; MWB: mixed; MWN: point-to-point.

I Time tradeoffI Computation time:

BP > MWB ≈ MWNI Collective communication time:

BP > MWB� MWN = 0

I Point-to-point communication time:

MWN > MWB� BP = 0

26 / 27

Page 51: Parallel Scenario Decomposition of Risk Averse 0-1

Communication Time TradeoffI Communication

I Collective vs. Point-to-point

Collective

: computation jobs: collective communication

I BP: collective; MWB: mixed; MWN: point-to-point.

I Time tradeoffI Computation time:

BP > MWB ≈ MWNI Collective communication time:

BP > MWB� MWN = 0

I Point-to-point communication time:

MWN > MWB� BP = 0

26 / 27

Page 52: Parallel Scenario Decomposition of Risk Averse 0-1

Communication Time TradeoffI Communication

I Collective vs. Point-to-point

Collective

: computation jobs: collective communication

I BP: collective; MWB: mixed; MWN: point-to-point.

I Time tradeoffI Computation time:

BP > MWB ≈ MWNI Collective communication time:

BP > MWB� MWN = 0

I Point-to-point communication time:

MWN > MWB� BP = 0

26 / 27

Page 53: Parallel Scenario Decomposition of Risk Averse 0-1

Communication Time TradeoffI Communication

I Collective vs. Point-to-point

Collective Point-to-point

: computation jobs: collective communication: point-to-point communication

I BP: collective; MWB: mixed; MWN: point-to-point.

I Time tradeoffI Computation time:

BP > MWB ≈ MWNI Collective communication time:

BP > MWB� MWN = 0

I Point-to-point communication time:

MWN > MWB� BP = 0

26 / 27

Page 54: Parallel Scenario Decomposition of Risk Averse 0-1

Communication Time TradeoffI Communication

I Collective vs. Point-to-point

Collective Point-to-point

: computation jobs: collective communication: point-to-point communication

I BP: collective; MWB: mixed; MWN: point-to-point.

I Time tradeoffI Computation time:

BP > MWB ≈ MWNI Collective communication time:

BP > MWB� MWN = 0

I Point-to-point communication time:

MWN > MWB� BP = 0

26 / 27

Page 55: Parallel Scenario Decomposition of Risk Averse 0-1

Communication Time TradeoffI Communication

I Collective vs. Point-to-point

Collective Point-to-point

: computation jobs: collective communication: point-to-point communication

I BP: collective; MWB: mixed; MWN: point-to-point.

I Time tradeoffI Computation time:

BP > MWB ≈ MWNI Collective communication time: ↗ with num of processors

BP > MWB� MWN = 0

I Point-to-point communication time:

MWN > MWB� BP = 0

26 / 27

Page 56: Parallel Scenario Decomposition of Risk Averse 0-1

Communication Time TradeoffI Communication

I Collective vs. Point-to-point

Collective Point-to-point

: computation jobs: collective communication: point-to-point communication

I BP: collective; MWB: mixed; MWN: point-to-point.

I Time tradeoffI Computation time:

BP > MWB ≈ MWNI Collective communication time: ↗ with num of processors

BP > MWB� MWN = 0

I Point-to-point communication time: ↗ with num of scenarios

MWN > MWB� BP = 0

26 / 27

Page 57: Parallel Scenario Decomposition of Risk Averse 0-1

Conclusion

Thank you!Questions?

27 / 27