Robust Flows over Time: Models and Complexity Results Corinna Gottschalk 1 , Arie Koster 1 , Frauke Liers 2 , Britta Peis 1 , Daniel Schmand 1 , Andreas Wierz 1 1 RWTH Aachen University, 2 Universität Erlangen-Nürnberg January 2016, Aussois
Maximum Flow over Time. • Graph G = ( V , E ) , capacities u : E → Z + , traveltimes τ : E → Z + , time horizon T . • Maximize total flow shipped within the time horizon. t = 1 T = 7 τ = 2 u ≡ 1 2 τ = = τ 1 1 = τ s d τ 1 = = 2 τ τ = 1
Maximum Flow over Time. • Graph G = ( V , E ) , capacities u : E → Z + , traveltimes τ : E → Z + , time horizon T . • Maximize total flow shipped within the time horizon. • Select paths and dispatch intervals. [ 0 , T ) , f = 1 T = 7 τ = 2 u ≡ 1 2 τ = = τ 1 1 = 1 = τ f s d τ , ) 1 = 1 = 2 , τ 0 [ τ = 1 [ 1 , T ) , f = 1
Maximum Flow over Time. • Graph G = ( V , E ) , capacities u : E → Z + , traveltimes τ : E → Z + , time horizon T . • Maximize total flow shipped within the time horizon. • Select paths and dispatch intervals. t = 2 T = 7 τ = 2 u ≡ 1 2 τ = = τ 1 1 = τ s d τ 1 = = 2 τ τ = 1
Maximum Flow over Time. • Graph G = ( V , E ) , capacities u : E → Z + , traveltimes τ : E → Z + , time horizon T . • Maximize total flow shipped within the time horizon. • Select paths and dispatch intervals. t = 3 T = 7 τ = 2 u ≡ 1 2 τ = = τ 1 1 = τ s d τ 1 = = 2 τ τ = 1
Maximum Flow over Time. • Graph G = ( V , E ) , capacities u : E → Z + , traveltimes τ : E → Z + , time horizon T . • Maximize total flow shipped within the time horizon. • Select paths and dispatch intervals. t = 4 T = 7 τ = 2 u ≡ 1 2 τ = = τ 1 1 = τ s d τ 1 = = 2 τ τ = 1
Maximum Flow over Time. • Graph G = ( V , E ) , capacities u : E → Z + , traveltimes τ : E → Z + , time horizon T . • Maximize total flow shipped within the time horizon. • Select paths and dispatch intervals. t = 5 T = 7 τ = 2 u ≡ 1 2 τ = = τ 1 1 = τ s d τ 1 = = 2 τ τ = 1
Maximum Flow over Time. • Graph G = ( V , E ) , capacities u : E → Z + , traveltimes τ : E → Z + , time horizon T . • Maximize total flow shipped within the time horizon. • Select paths and dispatch intervals. t = 6 T = 7 τ = 2 u ≡ 1 2 τ = = 1 τ 1 = τ s d τ 1 = = 2 τ τ = 1
Maximum Flow over Time. • Graph G = ( V , E ) , capacities u : E → Z + , traveltimes τ : E → Z + , time horizon T . • Maximize total flow shipped within the time horizon. • Select paths and dispatch intervals. t = 7 T = 7 τ = 2 u ≡ 1 2 τ = = 1 τ 1 = τ s d τ 1 = = 2 τ τ = 1
• Natural time-indexed LP formulation.
• Natural time-indexed LP formulation. • How to solve it?
• Natural time-indexed LP formulation. • How to solve it? Use temporally repeated flows. � max ( T − τ ( P )) x P s.t. x ≥ 0 P ∈P � x P ≤ u e ∀ e ∈ E P ∈P : e ∈ P • Well known to be optimal (c.f. Ford & Fulkerson ’62).
Robust Maximum Flow over Time. [ 0 , 2 ) , f = 2 / 3 T = 7 τ = 2 u ≡ 1 2 τ = = τ 1 1 3 = / 1 τ = s f d τ 1 = , ) = 2 3 τ , 0 [ τ = 1 [ 0 , 3 ) , f = 2 / 3
Robust Maximum Flow over Time. [ 0 , 2 ) , f = 2 / 3 T = 7 τ = 2 u ≡ 1 2 τ = = τ 1 1 3 = / 1 τ = s f d τ 1 = , ) = 2 3 τ , 0 [ τ = 1 [ 0 , 3 ) , f = 2 / 3 • What happens if some edges fail?
Robust Maximum Flow over Time. [ 0 , 2 ) , f = 2 / 3 T = 7 τ = 2 u ≡ 1 2 τ = = τ 1 1 3 = / 1 τ = s f d τ 1 = , ) = 2 3 τ , 0 [ τ = 1 [ 0 , 3 ) , f = 2 / 3 • What happens if some edges fail? • At most Γ ∈ Z + edges fail simultaneously. → Scenarios S ≔ { X ⊆ E : | X | ≤ Γ } .
Robust Maximum Flow over Time. [ 0 , 2 ) , f = 2 / 3 T = 7 τ = 2 u ≡ 1 2 τ = = τ 1 1 3 = / 1 τ = s f d τ 1 = , ) = 2 3 τ , 0 [ τ = 1 [ 0 , 3 ) , f = 2 / 3 • What happens if some edges fail? • At most Γ ∈ Z + edges fail simultaneously. → Scenarios S ≔ { X ⊆ E : | X | ≤ Γ } . • Goal: Maximize the total throughput in the worst case.
Robust Maximum Flow over Time. • How to compute optimal robust flows?
Robust Maximum Flow over Time. • How to compute optimal robust flows? • Tractability?
Robust Maximum Flow over Time. • How to compute optimal robust flows? • Tractability? • Are optimal robust flows nominal optimal?
Robust Maximum Flow over Time. • How to compute optimal robust flows? • Tractability? • Are optimal robust flows nominal optimal? • Are temporally repeated flows still optimal for the general robust model?
Are Temporally Repeated Flows still optimal?
Are Temporally Repeated Flows still optimal? NO! τ = 0 T = 3 , Γ = 2 τ = 2 τ = 1 τ = 0 τ = 1 v 1 v 2 s d τ = 2 τ = 0 Figure: Only solid edges are attackable. Unit capacity.
Are Temporally Repeated Flows still optimal? NO! τ = 0 T = 3 , Γ = 2 τ = 2 τ = 1 τ = 0 τ = 1 v 1 v 2 s d τ = 2 τ = 0 Figure: Only solid edges are attackable. Unit capacity. • Opt sends one unit into each path of length 2 simultaneously.
Are Temporally Repeated Flows still optimal? NO! τ = 0 T = 3 , Γ = 2 τ = 2 τ = 1 τ = 0 τ = 1 v 1 v 2 s d τ = 2 τ = 0 Figure: Only solid edges are attackable. Unit capacity. • Opt sends one unit into each path of length 2 simultaneously. • Temporally repeated flow sends only 1/3 into each path. ⇒ Gap of T .
Are Temporally Repeated Flows still optimal? NO! τ = 0 T = 3 , Γ = 2 τ = 2 τ = 1 τ = 0 τ = 1 v 1 v 2 s d τ = 2 τ = 0 Figure: Only solid edges are attackable. Unit capacity. • Opt sends one unit into each path of length 2 simultaneously. • Temporally repeated flow sends only 1/3 into each path. ⇒ Gap of T . • Are there natural upper bounds?
Upper bound on the Optimality Gap. • Introduce interdictor choice into the models. � max ( T − τ ( P )) x P − λ s.t. x ≥ 0 P ∈P � x P ≤ u e ∀ e ∈ E P ∈P : e ∈ P � x P ≤ λ ∀ z ∈ S P ∩ z � ∅ (Similar for the general model).
Upper bound on the Optimality Gap. • Introduce interdictor choice into the models. � max ( T − τ ( P )) x P − λ s.t. x ≥ 0 P ∈P � x P ≤ u e ∀ e ∈ E P ∈P : e ∈ P � x P ≤ λ ∀ z ∈ S P ∩ z � ∅ (Similar for the general model). • Upper bound on the gap between the models?
Upper bound on the Optimality Gap. • Introduce interdictor choice into the models. � max ( T − τ ( P )) x P − λ s.t. x ≥ 0 P ∈P � x P ≤ u e ∀ e ∈ E P ∈P : e ∈ P � x P ≤ λ ∀ z ∈ S P ∩ z � ∅ (Similar for the general model). • Upper bound on the gap between the models? Theorem: For a k -coverable instance of robust maximum flow over time, an optimal temporally repeated flow is an O ( k · log T ) -approximation.
k -Coverability (example). • Consider e ∈ E and all paths P 0 , P 1 , . . . traversing e . τ = 0 0 τ = 4 τ = 4 = τ τ s d = τ = 0 τ = 0 0 τ = 0 e 0 1 2 3 4 5 6
k -Coverability (example). • Consider e ∈ E and all paths P 0 , P 1 , . . . traversing e . • P i may utilize e during time interval I e , P ≔ [ τ < e ( P i ) , T − τ ≥ e ( P i )] . τ = 0 0 τ = 4 τ = 4 = τ τ s = d τ = 0 τ = 0 0 τ = 0 e 0 1 2 3 4 5 6
k -Coverability (example). • Consider e ∈ E and all paths P 0 , P 1 , . . . traversing e . • P i may utilize e during time interval I e , P ≔ [ τ < e ( P i ) , T − τ ≥ e ( P i )] . τ = 0 0 τ = 4 τ = 4 = τ τ s = d τ = 0 τ = 0 0 τ = 0 e 0 1 2 3 4 5 6
k -Coverability (example). • Consider e ∈ E and all paths P 0 , P 1 , . . . traversing e . • P i may utilize e during time interval I e , P ≔ [ τ < e ( P i ) , T − τ ≥ e ( P i )] . τ = 0 0 τ = 4 τ = 4 = τ τ s = d τ = 0 τ = 0 0 τ = 0 e 0 1 2 3 4 5 6
k -Coverability (example). • Consider e ∈ E and all paths P 0 , P 1 , . . . traversing e . • P i may utilize e during time interval I e , P ≔ [ τ < e ( P i ) , T − τ ≥ e ( P i )] . • “ e is k-coverable if all intervals can be observed from at most k points”. τ = 0 0 τ = 4 τ = 4 = τ τ s = d τ = 0 τ = 0 0 τ = 0 e 0 1 2 3 4 5 6
k -Coverability (example). • Consider e ∈ E and all paths P 0 , P 1 , . . . traversing e . • P i may utilize e during time interval I e , P ≔ [ τ < e ( P i ) , T − τ ≥ e ( P i )] . • e is k-coverable if the I e , P -induced interval graph can be covered by not more than k cliques. τ = 0 0 τ = 4 τ = 4 = τ τ s = d τ = 0 τ = 0 0 τ = 0 e 0 1 2 3 4 5 6
k -Coverability (example). • Consider e ∈ E and all paths P 0 , P 1 , . . . traversing e . • P i may utilize e during time interval I e , P ≔ [ τ < e ( P i ) , T − τ ≥ e ( P i )] . • e is k-coverable if the I e , P -induced interval graph can be covered by not more than k cliques. 0 1 2 3 4 5 6 Examples: • Every instance with time horizon T is at most T -coverable. • Directed acyclic graphs with max P τ ( P ) ≤ T are 1-coverable.
Recommend
More recommend