Lexicographically Maximum Dynamic Flow with Vertex Capacities

Corresponding Author: Shree Ram Khadka Central Department of Mathematics, Tribhuvan University, Kirtipur, Kathmandu, Nepal Email: shreeramkhadka@gmail.com Abstract: We consider an evacuation planning problem in the sense of computing a feasible dynamic flow lexicographically maximizing the amount of flow entering a set of terminals with respect to a given prioritization and given vertex capacities. We propose a polynomial time algorithm for the static version of the problem and a pseudo-polynomial time algorithm for the dynamic case. We show that by neglecting the vertex capacities, the dynamic version can be solved in polynomial time by using temporally repeated flows.


Introduction
Mathematical optimization provides important tools for modeling, preparing and managing evacuation tasks, (Borrmann et al., 2012;Göttlich et al., 2011;Hamacher et al., 2011). The maximum flow evacuation planning problem asks for a flow which sends a maximum number of evacuees from a disastrous zone (source) to a safe zone (sink) within a given time horizon. In practical applications there might be relatively safe places apart from the sink. Hence, sending as many of the remaining evacuees as possible to these prioritized spots is desired. However, these spots might be constrained to some given vertex capacities, which restrict the amount of flow that can enter these vertices within the given time horizon.
Since the introduction of the maximum flow problem by (Ford and Fulkerson, 1956), the problem and its applications have been extensively studied in the literature, (Borradaile et al., 2017;Cherkassky and Goldberg, 1997;Goldberg and Tarjan, 1988). The lexicographically maximum flow problem has been investigated as a variant of the classical maximum flow problem, (Megiddo, 1974;1977;Minieka, 1973). The authors showed that this problem can be solved in polynomial time. Dynamic extensions of these problems often provide important features for modeling real-world applications, e.g., in evacuation scenarios. Many dynamic network flow problems have been investigated in the context of evacuation planning problems, (Dhamala, 2015;Hamacher and Tjandra, 2001;Khadka and Bhandari, 2017;Pyakurel et al., 2017;Rebennack et al., 2010). To solve the maximum dynamic flow problem, a pseudopolynomial time algorithm based on the construction of a time-expanded graph and a polynomial time algorithm based on temporally repeated flows with transit times on the arcs treated as cost coefficients have been investigated by (Ford and Fulkerson, 1958;1962). Hoppe and Tardos (1994;2000) study lexicographically maximum dynamic flows. They developed a polynomial time algorithm based on temporally repeated flows that lexicographically maximizes the flow leaving the terminals of an ordered terminal set consisting of sources and sinks. This is equivalent to lexicographically minimizing the flow entering the sinks in the given order.
In this study, we consider a maximum flow evacuation planning problem with a prioritized terminal set with fixed vertex capacities for each of these vertices. We aim to lexicographically maximize the amount of flow entering the vertices in the terminal set within a given time horizon with respect to the prioritization and the holding capacities. This problem is motivated by the situation encountered in evacuation scenarios: As many evacuees as possible are to be sent to safety. However, if sending evacuees to safety is not possible within a given time horizon, it is desirable to send as many evacuees to shelters of limited capacity, which are located within the evacuation zone. In contrast to the above mentioned models, we assume that the terminals have a fixed vertex capacity delimiting the amount of flow that can enter a vertex within a given time horizon. We provide a 143 polynomial time algorithm for the static version of the problem and a pseudo-polynomial time algorithm for the dynamic case based on the construction of a timeexpanded network. We show how to modify the lexicographically maximum dynamic flow algorithm (Hoppe and Tardos, 1994;2000) to solve our problem in the case of neglecting the vertex capacities. The optimal routes identified by the procedure we propose in this study allows to send more evacuees out from risk zone to relatively safe places, besides maximum evacuees to the safe zone(sink), at least for some time during the period of response in emergency mitigation.
The remainder of this paper is structured as follows. At first, we formally introduce the maximum flow evacuation planning problem. Then we consider the problem in static and dynamic versions one after another, respectively. Finally, we conclude the paper with some further research objectives.

Problem Formulation
Let G = (V, A) denote a directed graph with vertex set V and arc set A. Both, the set of vertices and the set of arcs are assumed to be finite and we set n := |V| and m := |A|. We denote the source and the sink vertex by s and d, respectively. We assume that the graph G does not contain parallel arcs nor loops. Further, we assume that there are no arcs entering s and leaving t, respectively. By   (v) and  + (v) we denote the set of arcs entering and leaving vertex v  V, respectively. We assume a lower and upper arc capacity function l, u: A  0 :=  {0} to be given, which bounds the number of flow units on each arc at each time step from below and from above. Most of the time, we set l(a) = 0 for all a  A. Further, a transit time function t: A  0 specifies the time needed by a flow unit to traverse an arc. We assume a terminal set S  V with S := {v1,…,vk} prioritized from higher to lower priority, i.e., 12 k v v v , to be given, where v1 = d. Further, we define a vertex capacity function k: S  0 delimiting the total number of flow units, which may be held in each of the vertices v  S. We set k(d) =  and k(v) to be finite for all v  S \{d}. In the following, we assume a time horizon T  to be given and treat time in a discrete manner, i.e., T := {0, 1,…,T}. Summing it up, we denote by N = (G, l, u,, T, k) a dynamic network. If we aim to refer to a static network without transit times, we just write N = (G, l, u, k).
To this end, nonnegative flow variables f: A  T  0 specify the flow over time in the network N . More precisely, f(a, t) equals the number of flow units entering arc a at time step t. Further, flow that enters arc a at time t, reaches the end of arc a at time t + (a). The number of flow units entering arc a at time step t are assumed to be bounded by the capacity of an arc, i.e., 0  f (a, t)  u(a) for all a  A and for all t T . Moreover, f (a, t) has to be equal to zero for all t > T-(a) and for all a  A. The excess of a vertex v  V at time t T is defined as: The objective function of the maximum flow evacuation planning problem asks to lexicographically maximize the vector (exf (v1,  Fig. 1. Algorithm 1 works as follows. Since v1 = d is the vertex with the highest priority, a maximum flow from source s to sink d is computed by applying a maximum flow algorithm in the transformed network  N . Next, lower and upper capacities are updated in the following manner: The lower capacities are set to zero, whereas the upper capacities remain the same; only the arc (d, d) gets a lower and upper capacity equal to the value of the previously computed maximum flow from s to d. Next, we aim to maximize the flow from s to the vertex i v with the next highest priority.

8:
Compute maximum s-d-flow in N and let f * be the optimal value 9: Let f *  

Time-Expanded Network
Let N = (G, l, u, , T, k) be a dynamic network.
Again, let S = {v1,…,vk} with 1 k vv be prioritized from higher to lower priority and l(a) = 0 for all a  A. Further, without loss of generality we assume that vertices in S have no outgoing arcs. We transform the dynamic network N into a timeexpanded network T N = (V T , A T , l, u) in the following way:  u(vt, wt) = u(v, w) for all (v, w)  A and u(vt, vt+1) =  for all v  V.
, l(vT, v)  0 5: Compute a static maximum s0-d-flow and let f * be the optimal value 6: l(dT, d)  f * and u(dT, d)  f * 7: for i = 2,…,k do 8:  Obviously, a static maximum s0-dflow, i.e., a s0-1 v -flow, in the time-expanded network corresponds to a discrete dynamic s-d-flow in N . After computing the static maximum s0-d-flow, we set l(dT, d) as well as u (dT, d) to the value of the maximum s0-d-flow. Afterwards, we introduce an arc from i v to d of infinite capacity, where vi is the vertex with the next highest priority. Then, we compute again a static maximum s0-d-flow in the time-expanded network. This procedure is iteratively repeated (similar to Algorithm 1) such that we obtain a discrete dynamic lexicographically maximum flow, see Algorithm 2.

Proof
The correctness follows from Theorem 2.1. The pseudo-polynomial running time follows from the fact that the size of the time-expanded graph is pseudopolynomial in the input size.

Temporally Repeated Flows
An optimal solution to minimum cost circulation, flow problem obtained by interpreting transit times as cost coefficients for each arc a  A, can be transformed into a maximal discrete dynamic flow for single-sourcesingle-sink case using the notion of Temporally Repeated Flows (TRFs) (Ford and Fulkerson, 1958). This technique computes feasible optimal flow for v1 = d as sink for the problem. However, while considering remaining vertices vi  S as the sink, flow computed by TRFs may exceed fixed vertex capacities. Moreover, TRFs may not induce optimal flows for these vertices as sinks due to non-uniqueness of path decomposition carried out for TRFs. These hurdles occur due to the fixed vertex capacities at intermediate vertices. In the following we consider the problem on network without vertex capacities.
Let N = (G, l, u,, T) be a dynamic network without vertex capacities. Let S = {v1,…,vk} be a terminal set with 1 k vv prioritized from higher to lower priority and l(a) = 0 for all a  A. We aim to solve our problem in polynomial time without vertex capacities by using the lexicographically maximum dynamic flow algorithm proposed in (Hoppe and Tardos, 2000). Their algorithm is summarized in Algorithm 3. Note that 1 i i g  N refers to the residual dynamic network with respect to flow g i+1 with vertex set V and arc set A i .
Algorithm 3 lexicographically maximizes the amount of flow leaving the terminals in S in the given order, i.e., the algorithm lexicographically maximizes the vector (-exf (v1, T), …, -exf (vk, T) ⊤ . However, we aim at lexicographically maximizing (exf (v1, T), …, exf (vk, T) ⊤ . Therefore, we adapt our problem in the following way such that we can use Algorithm 3 to solve it:  This procedure yields a dynamic flow in inv N lexicographically maximizing the amount of flow leaving the terminals in S in the given order. By translating the obtained dynamic flow back to the network N , we obtain the desired dynamic flow lexicographically maximizing the amount of flow entering the terminals in the given order. The correctness of the procedure follows immediately from the correctness of the lexicographically maximum dynamic flow algorithm, see Hoppe and Tardos (2000). Since the overhead of this procedure is determined by the computation of the k minimum cost flows, the polynomial runtime follows.

Conclusion
In this article, we have introduced a maximum flow evacuation planning problem, where one aims to lexicographically maximize the amount of flow entering the vertices of a given prioritized terminal set with respect to vertex capacities. We showed how to solve this problem in polynomial time for the static case and in pseudo-polynomial time for the dynamic case in the time-expanded network. By neglecting the vertex capacities, we provided a procedure to solve that problem in polynomial time in a dynamic network. This work identifies optimal routes to the prioritized vertices besides the safe zone (sink). This allows to send more evacuees out from the disastrous zone (source) to the relatively safe places at least for some time during the period of response in emergency mitigation.
The main shortcoming of this work is one cannot repeatedly send the evacuees at those vertices where vertex capacity is fixed. In the future, it would be interesting to see how to solve that problem in the dynamic case by using temporally repeated flows and satisfying given vertex capacities.

Acknowledgment
First author would like to thank University Grants Commission, Nepal for PhD Fellowship Award 2016. First and second authors are also grateful to GraThO project between TU Kaiserslautern, Germany; TU, Nepal and MSU, Philippines supported by DAAD for providing a suitable atmosphere to conduct this research work. This work was partially supported by the Bundesministerium fur Bildung und Forschung (BMBF) under Grant No. 13N14561. Authors are grateful to anonymous referees for their insightful comments that significantly improved the paper.

Author's Contributions
Phanindra Prasad Bhandari: Prepared the initial manuscript with solution in static and dynamic over the time expanded graph. Shree Ram Khadka: Initiated the problem, developed the model and polished.
Stefan Ruzika: Improved the model and solution procedure and polished.
Luca E. Schäfer: Contributed in dynamic case with temporally repeated approach and improved the manuscript.

Ethics
There is no non-ethical issues involved in the article. It is original and contains unpublished materials.