• Keine Ergebnisse gefunden

Construction of a maximum abstract flow over time and a minimum abstract cut over time

The number of paths created by applying the time expansion is linear inT and can thus be exponential in the size of the input. Hence, even encoding a solution in the straight-forward way may result in an exponentially sized output. Ford and Fulkerson [FF58b]

resolved this problem for the classic (non-abstract) flow over time problem by introducing a so-called temporally repeated flow, i.e., a flow over time constructed by temporally repeating a static flow pattern. In this section, we will translate the concept of temporally repeated flows to the abstract setting and show how to construct a maximum temporally repeated abstract flow by solving a static weighted abstract flow problem.

Temporally repeated flows

A temporally repeated abstract flow is an abstract flow over timexT that is constructed from a static abstract flow xby settingxT(Pt) :=x(P)for everyP ∈ P and everyt∈ T with 0≤t < T −P

ePτ(e). In other words, the static flow on each path is repeatedly sent as long as possible before the time horizon is reached. It is easy to check that feasibility of the underlying static flow implies feasibility of the temporally repeated flow.

Lemma 2.8 A temporally repeated abstract flowxT derived from a feasible abstract flow x is a feasible abstract flow over time.

Proof. We only need to verify that xT obeys the capacity restrictions for every e∈E and every θ∈ T. Observe that (e, θ) ∈Pt if and only if e∈ P and θ=t+P

pPτ(p). As the second summand on the right hand side is constant for a fixedP ∈ P, there is at most one value of t∈ T for which(e, θ)∈Pt. Thus

X

Pt∈PT: (e,θ)Pt

xT(Pt) ≤ X

P∈P:eP

x(P)≤u(e) for all (e, θ)∈ET.

In order to construct a maximum temporally repeated abstract flow, we first observe that flow can be sent along pathP ∈ P up to time r(P) :=T−P

eP τ(e), i.e., the flow valuex(P) is repeatedr(P) times. Thus, the total flow value of the temporally repeated flow xT resulting from the static flow x is P

P∈Pr(P)x(P) and a maximum temporally repeated flow corresponds to a static abstract flow that is maximum with respect to the weights r(P). It is not hard to observe that the weight function defined in this way is supermodular.

Lemma 2.9 The weight function r(P) :=T−P

e∈Pτ(e) is supermodular.

Proof. By definition of r we have r(P×eQ) +r(Q×eP) =T−X

e∈P×eQ

τ(e) +T−X

e∈Q×eP

τ(e)

≥2T −

 X

e∈[P,e]

τ(e) +X

e∈(e,Q)

τ(e)

−

 X

e∈[Q,e]

τ(e) +X

e∈(e,P)

τ(e)

= 2T −X

e∈P

τ(e)−X

e∈Q

τ(e)

=r(P) +r(Q).

Letx be a (static) abstract flow of maximum weight with respect to r, and let xT be the corresponding temporally repeated flow—at the end of this section, we will argue how to compute x using the oracle Opath and the algorithm from [McC96]. We will show that the value ofxT is not only maximum among the temporally repeated abstract flows but also among all abstract flows over time, i.e., it is an optimal solution to the maximum abstract flow over time problem. To this end, we construct an abstract cut over time whose capacity matches the flow value of xT.

2.3 Construction of a maximum abstract flow over time 27

Constructing an abstract cut over time

Letybe an optimal solution to the dual of the static weighted abstract flow problem with the weightsr(P) used to construct the temporally repeated flow. Note that by [Hof74]

andLemma 2.9, we can assume y to be integral. We will interpret the valuesy as the number of time steps for which elementeis contained in the cut. We define the time at whiche∈E enters the cut by setting

α(e) := min

P∈P

X

p(P,e)

(τ(p) +y(p)) and define

C :={(e, θ)∈ET : α(e)≤θ < α(e) +y(e)}. Theorem 2.10 C is an abstract cut over time.

The proof of Theorem 2.10 involves some additional results on the structure of ab-stract networks, which we will elaborate on in the following sections. Using LP duality, Theorem 2.10immediately leads to the following corollary, which in turn implies Theo-rem 2.4.

Corollary 2.11 The temporally repeated abstract flow xT is a maximum abstract flow over time, andC is a minimum abstract cut over time whose capacity is equal to the flow value.

Proof. We observe that by LP duality, X

(e,θ)C

u(e) =X

e∈E

u(e)y(e) = X

P∈P

r(P)x(P) =X

Pt∈PT

xT(Pt)

and thus the capacity ofC equals the flow value of xT.

Remark 2.12 Our proof of Theorem 2.10 will make use of the fact that our definition of C is based on the “shortest path labels” α. Unfortunately, in the case of abstract networks these labels need not satisfy the triangle inequality, i.e., there might be el-ements e, f ∈E such that f is the immediate successor of e in an abstract path P, but α(e) +τ(e) +y(e)< α(f); see Example 2.13. This makes the proof considerably more involved than the corresponding proof for classic networks.

Example 2.13 Consider the abstract network with ground set E = {a, b, c, d, z} and path set P = {(a, c, z),(b, c, d, z),(a, z),(b, z)}. Suppose T = 2, τ(b) = 1, y(z) = 2, and τ(e) = 0 for all e∈E\ {b} and y(e) = 0for all e∈E\ {z}. Observe that in this caseα(d) = 1> α(c) +τ(c) +y(c).

Note that for the static abstract flow problem, the first two paths in the above example would be redundant, as an optimal solution can always restrict to the latter two. However, it is not immediately clear that this is true for abstract flows over time; additional elements on a path can delay flow, which in principle could help to avoid bottlenecks and achieve larger flow values. Yet we will show later that this is not the case and delaying flow is never beneficial.

Complexity of constructing xT and C

We close this section by arguing how to compute the maximum weighted abstract flow x, the corresponding dual solutiony and the values α(e) for elements occurring in the cut while only accessing the abstract network using the oracle Opath. This suffices to implicitly construct xT and C and thus proves Theorem 2.5.

Lemma 2.14 The values ofxT,y, andαrestricted to the support ofycan be computed in time φ(|E|,hui,log(T))·TIME(Opath,P), where φis a polynomial,hui is the encoding size of u, and TIME(Opath,P) denotes the time needed by a call of the oracle Opath for the abstract network P.

Proof. First observe that for any u0 ∈ QE+, the corresponding unweighted abstract cut problem can be solved using the algorithm of McCormick [McC96] with a polynomial number of oracle calls. By the equivalence of optimization and separation [GLS88], we can thus decide whether a given y ∈ QE+ fulfills P

ePy(e) ≥ 1 for all P ∈ P, or find a violated path P ∈ P with P

e∈Py(e) < 1. Because P

e∈P y(e) ≥ r(P) if and only if P

eP(y(e) +τ(e))/T ≥1, we can solve the separation problem of the minimum weighted abstract cut problem with respect to r as well. As a result, we can computex and y with a polynomial number of oracle calls, either by once more applying the equivalence of optimization and separation and LP duality, or by using the combinatorial algorithm of Martens and McCormick [MM08].

For any P ∈ P withx(P)>0 and anye∈P define αP(e) := X

p∈(P,e)

(τ(p) +y(p)).

We will show that y(e) > 0 implies α(e) = αP(e) for all paths P ∈ P with e ∈ P and x(P) > 0. Therefore, α can be computed by only considering the support of x. Let e∈E withy(e)>0. By complementary slackness,P

P∈P:ePx(P) =u(e). Thus there is a P ∈ P with e ∈ P and x(P) > 0 (unless u(e) = 0, in which case we can ignore e). Again by complementary slackness, P

pPy(p) = r(P). By contradiction assume there is a path Q∈ P withαQ(e)< αP(e). Let S:=Q×eP. Then

X

s∈S

(τ(s) +y(s))≤αQ(e) + X

p[e,P]

(τ(p) +y(p))<X

p∈P

(τ(p) +y(p)) =T contradicting the feasibility of y.

Remark 2.15 The usage of the equivalence of optimization and separation in the above proof can be omitted if the oracle for accessing the abstract network is slightly more powerful:

Oracle Osep: Given y ∈ QE+, return (P, <P) for some P ∈ P with P

e∈P y(e) < 1, or verify that P

eP y(e)≥1 for allp∈ P.

Note that Opath is equivalent to the restriction of Osep to integral y. Although Osep is not a separation oracle for arbitrary supermodular weight functions, using the argument in the proof of Lemma 2.14 it works as separation oracle for all weight functions of the type r(P) =T −P

ePτ(e) for some T ∈ Z+ and τ ∈ ZE+. Therefore, we can directly apply the combinatorial algorithm from [MM08] for computingx and y.

2.4 Storage at intermediate elements and the structure of abstract networks 29

2.4 Storage at intermediate elements and the