A Survey on Facility Location Problems in Dynamic Flow Networks

This paper surveys the facility location problems in dynamic flow networks that have been actively studied in recent years. These problems have been motivated by evacuation planning which has become increasingly important in Japan. The evacuation planning problem is formulated using a dynamic flow network consisting of a graph in which a capacity as well as a transit time is associated with each edge. The goal of the problem is to find a way to send evacuees originally existing at vertices to facilities (evacuation centers) as quickly as possible. The problem can be viewed as a generalization of the classical k-center and k-median problems. In this paper we show recent results about the difficulty and approximability of a single facility location for general networks and polynomial time algorithms for k-facility location problems in path and tree networks. We also mention the minimax regret version of these problems.


Introduction
It has become increasingly important to establish effective evacuation planning systems against large-scale disasters, e.g., earthquakes, tsunamis, and hurricanes, for example. For this purpose, several theoretical issues have to be considered. In particular, we focus on where evacuation buildings should be located in cities. Since the Tohoku-Pacific Ocean Earthquake occurred in Japan on March 11, 2011, 1 3 construction of tsunami evacuation buildings in large Japanese cities near the coast has become an urgent issue.
Dynamic Network To formulate the evacuation planning, we model a road network of a city as a graph in which a vertex represents an intersection associated with the number of habitants (evacuees) living close to the intersection and an edge represents a road that connects intersections associated with a transit time and a capacity which limits the flow rate entering the edge. The capacity of an edge is determined by the width and the speed limit of the corresponding road. In the graph, we are given a set of evacuation buildings (safe places) to which people evacuate when a large disaster occurs. Such a graph is called a dynamic flow network which was first introduced by Ford and Fulkerson [23]. From the viewpoint of evacuation planning, all evacuees must be sent to evacuation centers as quickly as possible. As will be mentioned later in this section, the concept of dynamic flow was first introduced to model the quickest transshipment problem: given a set of sources with available supplies and a set of sinks with required demands, the problem asks whether it is possible to send supplies to sinks in given time T to satisfy all the demands of the sinks. A sink is the point where a facility is located. This problem is very similar to the evacuation problem except for the existence of demands, and thus all the results of the quickest transshipment problems can be applied to evacuation problems. Therefore, in this paper, the number of evacuees existing at a vertex is called a supply. Notice that unlike in static flow networks, the time required to move supply from one vertex to another can be increased due to congestion caused by the capacity constraints, which requires supplies to wait at a vertex until supplies preceding it leave. Given a dynamic flow network, we are asked to transport supplies to sinks as quickly as possible.
Recently, to decrease the loss of human lives, many cities along the coast of the Pacific Ocean are planning to increase tsunami evacuation buildings. This motivates us to study the facility location problems in dynamic flow networks.
Integral Flow vs Fractional Flow Dynamic networks can be considered in integral and fractional flow models. In the integral flow model, each input value is given as an integer and each supply is regarded as a set of substantial units. In other words, a supply can be regarded as a set of evacuees, and then the edge capacity is defined as the maximum number of evacuees who can enter an edge per unit time. On the other hand, in the fractional flow model, each input value is given as a real number. Then each supply can be regarded as fluid, and edge capacity is defined as the maximum amount of supply which can enter an edge per unit time.
Optimal Facility Location Problem In this survey, we consider the facility location problems in dynamic flow networks. The problem is called the optimal facility location problem, in particular, if it requires finding a location of facilities in a given network so that all supplies are sent to the facilities as quickly as possible. For the optimality of location, the following two criteria can be naturally considered: the minimization of maximum cost and total cost (in a facility location in static flow networks, these criteria correspond to the center problem and the median problem, respectively). We explain these criteria in the integral flow model. Letting x denote a location of facilities in a dynamic flow network, assume that every evacuee goes to one of the facilities of x . Then, an evacuee follows a path from a vertex where he/she has been originally located to a facility, and each vertex v on the path stores two values which represent the time he/she arrives at v and the time he/she leaves v, respectively (assume that arriving time at the origin vertex is zero and leaving time at the facility is infinity). We call such a path with arriving times and leaving times an evacuation path.
Given a location of facilities x , an evacuation to x is defined as a set of evacuation paths to x for all evacuees. An evacuation to x is called feasible if it satisfies the capacity constraint which limits the number of evacuees entering each edge per unit time. Given a location of facilities x and a feasible evacuation to x , say E , the cost of (x, E) for an evacuee is defined as the time required to send him/her to a facility of x along an evacuation path determined by E . Then max(x, E) and sum(x, E) are defined as the maximum of the cost of (x, E) for all evacuees and the sum of the cost of (x, E) for all evacuees, respectively. Note that these correspond to the completion time and the average time (times the number of evacuees) by E . The maximum cost of x and the total cost of x are defined as (x) = min E∈ x max(x, E) and (x) = min E∈ x sum(x, E) , respectively, where x is the set of all feasible evacuations to x . In the fractional flow model, we define the unit as an infinitesimally small portion of supply, and the cost is defined on each infinitesimal unit. Then two criteria are defined in the same way as in the integral flow model. The minimax facility location problem and the minisum facility location problem are defined as problems that require finding a location of facilities x that minimizes (x) and (x) , respectively (Tables 1, 2).
At this point, we need to mention the relationship with well-known classical facility location problems (see [20]): k-center and k-median problems which, respectively, try to find a location of k facilities that minimizes the maximum (resp. the sum) of the distance from each user located at a vertex to the nearest facility. Facility location problems treated in this paper coincide with k-center and k-median problems if the number of facilities is fixed to k, a supply corresponds to a user, and the edge capacity is infinite (i.e., no congestion occurs). In this sense, our problems generalize the conventional facility location problems. Path O(n log n) [28,32,34] O(n log n + k 2 log 4 n) and O(n log 3 n) [8] (Theorem 9) Trivially O(n) O(n + k 2 log 2 n) and O(n log n) [8] (Theorem 10) Tree O(n log 2 n) [41] (Theorem 11) O(max{k, log n} ⋅ kn log 4 n) [15] O(n log n) [32,34] (Theorem 12) O(max{k, log n}⋅ kn log 3 n) [15] (Theorem 13) General graph FPTAS [5] (Theorem 4) FPTAS for a fixed k [5] (Theorem 4) FPTAS [5] (Theorem 4) FPTAS for a fixed k [5] (Theorem 4)

3
Here a number of questions are raised, for example: (1) What is the essential difficulty of our problems that discriminates the classical problems? (2) What is the time complexity of our problems? Although we do not have an answer to the first question (1) currently, we have a fully polynomial time approximation scheme (FPTAS) for the problem of finding an optimal location of a single facility in general graphs under the maximum cost criterion. This is contrasted with the existence of a polynomial time algorithm for the 1-center problem in general graphs. For the second question (2), regarding classical k-median and k-center problems, there exist several approximation algorithms [16,21,36]. For instance, there exists a 2-approximation algorithm for k-center problems in metric space [21,36] while no such algorithm is known for the minimax facility location problem in dynamic flow networks.
Minimax Regret Facility Location Problem Although the above criteria are reasonable for the facility location, such criteria may not be practical since the number of evacuees in an area may vary depending on the time (e.g., in an office area in a big city, there are many people during the daytime on weekdays while there are much less people on weekends or during the night time). Therefore, to take into account the uncertainty of population distribution, we consider the maximum regret for a facility location as another evaluation criterion assuming that for each vertex, we only know an interval of vertex supply. A particular assignment of supply to each vertex is called a scenario. Here, for a location of facilities x and a scenario s, let s (x) and s (x) denote the maximum cost of x under s and the total cost of x under s, respectively. Also let p s and q s denote the minimax facility location under The objective of the first player is to choose x that minimizes the maximum regret (Tables 3, 4).

Related Work
The quickest transshipment problem is defined by a dynamic flow with sets of sources and sinks: each source has a fixed supply, and each sink has a fixed demand. The problem is to send exactly the right amount of supply from each source to each sink with minimum overall time. This problem has been studied for over fifty years [23]. The standard technique to solve this problem is to consider discrete time steps and make a copy of the original network for every time unit from time zero to the time horizon T. This process produces a time-expanded network (see Sects. 2.1 and 2.2 for details). Then applying a conventional max-flow algorithm, we can determine whether the optimal value is at most T or not. Therefore, finding an optimal solution requires a binary search for T. Since the size of the time expanded network is proportional to the size of the original network times T, the running time of this algorithm is polynomial in the size of the original network times T, and thus is pseudo-polynomial.
Here it is appropriate to mention the difference between the conventional quickest transshipment problem and the evacuation problem. Since a sink stands for an evacuation center in evacuation problems, it does not actually have a demand. Instead, it has an upper bound of the number of evacuees that the center can accommodate. Therefore, the evacuation problem tries to send all supplies to sinks as quickly as possible under the capacity constraints of edges and sinks. However, the algorithms developed for the quickest transshipment problem can be applied to the evacuation problem without major modifications.
Special cases of the quickest transshipment problem have been studied. The case with a single source and a single sink has been studied by Ford and Fulkerson [24] where the maximum dynamic flow problem which sends as much flow as possible from the source to the sink within a given time bound T was studied. They showed  The quickest transshipment problem for the single source and the single sink can be reduced to the maximum dynamic flow problem by binary search. Burkard et al. [13] gave a more efficient, strongly polynomial time algorithm for this problem. Efficient algorithms for subclasses of networks were developed [27,38,39,41].

Organization
In the next section, we give definitions of dynamic flow and the time-expanded network. In Sect. 3, we present recent results concerning optimal facility location problems in dynamic flow networks. Starting with the approximability result of k-facility location problems for general networks, we then explain efficient algorithms developed for the cases of path and tree dynamic flow networks.
In Sect. 4, we deal with the minimax regret facility location problem. We shall survey efficient algorithms recently developed for this problem with path and tree dynamic flow networks. Section 5 concludes this paper.

Preliminaries
In this section, we give formal definitions of dynamic flow and a time-expanded network. Therefore, let us first explain briefly how a flow is sent on a dynamic flow network in the integral flow model. A static flow problem is defined on a graph G = (V, E) (which is assumed to be directed). Here V is the set of vertices and E is the set of edges. Each edge e is associated with a capacity c(e) (which takes a positives value). The capacity c(e) gives us the upper bound on the amount of the resource that can be transmitted through e. Given a source vertex s and a sink vertex t, the maximum flow problem tries to find a way that transports the resource as much as possible from s to t under capacity constraints.
As in a static flow problem, a dynamic flow problem is defined on a graph G = (V, E) where each edge e = (u, v) is associated with a positive capacity c(e). In addition to the capacity, edge e is associated with a transit time (e) which implies that a flow starting from u at time t 0 arrives at v at time t 0 + (e) . The capacity c(e) limits the rate of the amount of flow that enters e per unit time. In terms of evacuation, the capacity represents the maximum possible number of evacuees that can enter the edge per unit time due to the width of the road.
Suppose that at time 0, w evacuees are now starting to traverse edge e = (u, v) from u to v. Since at most c(e) evacuees can enter e per unit time, ⌈w∕c(e)⌉ groups enter e where each group consists of c(e) people except possibly the last group. The first group arrives at v at time (e) while the last group arrives at time (e) + ⌈w∕c(e)⌉ − 1.

3
The Review of Socionetwork Strategies (2019) 13:163-208 Now suppose w 1 evacuees move from v 1 to v 3 through edges e 1 = (v 1 , v 2 ) and e 2 = (v 2 , v 3 ) , and that there exist w 2 evacuees at v 2 who start to move towards v 3 at the same time. If some evacuees remain at v 2 when evacuees from v 1 arrive at v 2 , those who came from v 1 are forced to wait at v 2 . This means that a dynamic flow model has the ability to express a congestion.

Dynamic Flow
The general quickest transshipment problem will be formally defined as follows. We denote by ℝ + and ℤ + the sets of nonnegative reals and nonnegative integers, and let G (X) (resp. G (X) ) be the set of edges (x, y) ∈ E with x ∈ X and y ∉ X (resp. x ∉ X and y ∈ X ). Let N = (G = (V, E), S + , S − , w, c, ) be a dynamic flow network which consists of a directed graph G = (V, E) , disjoint subsets of V, S + and S − , a supply function w ∶ V → ℝ which associates each vertex u ∈ S + or v ∈ S − with a positive amount of supply (the number of evacuees) or a negative amount of supply, respectively, a capacity function c ∶ E → ℝ + �{0} which associates each edge e ∈ E with a positive capacity, and a transit time function ∶ E → ℤ + which represents the time required to traverse the unit distance on any edge. S − stands for a set of sinks which represents a set of destinations where evacuation centers exist. An illustrative example of a dynamic flow is given in Fig. 1.
The problem tries to find a dynamic flow (a way of evacuation) that minimizes the time by which all supplies have arrived at one of the sinks. A dynamic flow is defined as a function f: E × ℤ + → ℝ + as follows. For each e ∈ E and ∈ ℤ + , f (e, ) denotes the flow rate entering e at time step . We call f feasible if it satisfies the capacity constraint the flow conservation Then, the evacuation problem tries to find the minimum evacuation time among all feasible dynamic flows as well as an optimal dynamic flow which attains the minimum evacuation time.

Time-Expanded Networks
To find an optimal dynamic flow for the evacuation problem, Ford and Fulkerson [23,24]  For each x ∈ V ⧵ S − , the supply of x * is set to w(x). Notice that the size of the For each s ∈ S − and for the corresponding sink set {s( ) | 0 ≤ ≤ T} , we introduce a super sink s * as well as an edge (s( ), s * ) with +∞ capacity. Furthermore, we introduce a general super sink * as well as an edge (s * , * ) with capacity b(s) which denotes the capacity of an evacuation center s.
Theorem 1 (Ford and Fulkerson [23,24]) Given a dynamic flow network N and a time horizon T, there exists a feasible dynamic flow in N whose evacuation time is less than or equal to T if and only if the value of a maximum flow from x * to * is equal to ∑ v∈V w(v) . Furthermore, we can construct a feasible dynamic flow in N whose evacuation time is less than or equal to T from a maximum flow in N(T) whose flow value is equal to ∑ v∈V w(v) by setting f (e, ) = (e( )) for each e ∈ E and ∈ {0, … , T − (e)}.
Since the size of a time-expanded network is pseudo-polynomial in input size and computing the maximum flow can be done in polynomial time in input size, this theorem implies that testing whether all evacuees can be evacuated to one of the facilities (i.e., sinks) within time T can be done in pseudo-polynomial time. By applying a binary search over T, a dynamic flow that minimizes the maximum cost can be obtained in pseudo-polynomial time.
Theorem 2 An optimal dynamic flow under the maximum cost criterion can be obtained in pseudo-polynomial time.
Time-expanded networks can also be used for solving a dynamic flow problem under total cost criterion. Suppose we are given a sufficiently large time horizon T. Let us consider the minimum cost flow problem Q(T) defined on a time-expanded network N(T) where the cost of an edge e( ) = (x( ), y( + (e))) with a capacity c(e) for each e = (x, y) ∈ E is defined to be (e) , and the cost of a holdover edge (x( ), x( + 1)) is defined to be 1 while the cost of all the other edges are defined to be zero. Then the cost of flow from x * to * with the flow value equal to ∑ v∈V w(v) is equivalent to the total cost of the corresponding dynamic flow. Since the minimum cost flow problem can be solved in polynomial time in input size (see [2]) and the size of the time-expanded network N(T) is pseudo-polynomial, the following theorem follows.
Theorem 3 An optimal dynamic flow under the total cost criterion can be obtained in pseudo-polynomial time.
Contrary to the maximum cost criterion, a polynomial time algorithm for computing an optimal dynamic flow under the total cost criterion is not known.

Dynamic Network Models in Facility Location and Quickest Transshipment
As mentioned in Sect. 2.1, a dynamic flow network consists of a directed graph in quickest transshipment problems. In contrast to this, all previous studies for facility location problems (which will be shown in the following sections) have assumed that a dynamic flow network consists of an undirected graph. We thus also assume the undirected model in the following sections. Note that under the optimal evacuation in an undirected dynamic flow network, no edge is ever used bidirectionally at the same time because if so, changing the route and/or the destination does not increase the maximum/total cost. In addition, we notice that an edge may be used in one direction at a time and in another direction at another time. This implies that an undirected dynamic flow network can be transformed to an equivalent directed one by replacing every undirected edge uv of capacity c(uv) and transit time (uv) with two directed edges (u, v) and (v, u) such that each one has the same capacity c(uv) and the same transit time (uv).
Also in the following sections, we treat dynamic flow networks where each edge is associated with a positive length, instead of a transit time. Additionally, we define as a transit time required for traversing the unit distance, i.e., if the distance between two points in a dynamic flow network is d, an evacuee can traverse the distance in time d (with no congestion). This is because in facility location problems, facilities have been usually assumed to be located at any point in a network, so it seems to be natural that the transit time is defined as a function of the distance.

Optimal Facility Location Problems in Dynamic Networks
Recently, minimax facility location problems in dynamic flow networks have been studied by several researchers. First, Mamada et al. [41] studied the minimax 1-facility location problem in a dynamic flow tree network assuming that the facility must be located at a vertex, and proposed an O(n log 2 n) time algorithm. Higashikawa et al. [32,34] also studied the same problem as [41] by assuming that the edge capacity is uniform and a facility can be located at any point in the network, and proposed an O(n log n) time algorithm. For the minimax k-facility location problems in a dynamic flow tree network, Chen and Golin [14] provided an algorithm that costs O(k 2 n log 5 n) time and O(k 2 n log 4 n) time for cases with general edge capacities and uniform edge capacity, respectively. In a recent paper [15] on arXiv, the authors of [14] have improved the time complexities to O(max{k, log n} ⋅ kn log 4 n) and O(max{k, log n} ⋅ kn log 3 n) , respectively. Other than tree networks, Higashikawa et al. [33] treated the minimax k-facility location problem in a dynamic flow path network with uniform edge capacity, and proposed an O(kn log n) time algorithm, which was improved to O(kn) by the same authors in [35]. Also, Higashikawa showed in his doctoral dissertation [28] that the minimax 1-facility and k-facility location problems in a dynamic flow path network with general edge capacities can be solved in O(n log n) time and O(kn 2 log n) time, respectively. Finally, for the minimax k-facility location problem in a dynamic flow path network with general edge capacities, Bhattacharya et al. [8] have provided an O(n log n + k 2 log 4 n) time algorithm and an O(n log 3 n) time algorithm. In [8], the authors have also shown that there exist an O(n + k 2 log 2 n) time algorithm and an O(n log n) time algorithm for the case with uniform edge capacity, which together improve upon the previous results for any k. For general networks, Belmonte et al. [5] showed that the minimax k-facility location problem admits a fully polynomial time approximation scheme (FPTAS) for every fixed k, and that the problem is W[1]-hard when parameterized by k (see [22,42] for details of parameterized complexity).
On the other hand, the minisum facility location problems in dynamic flow networks have not been studied much except for the problem in path networks [6,7,33,35]. Paper [33] treated the minisum k-facility location problem in a dynamic flow path network with uniform edge capacity, and proposed an O(kn 2 ) time algorithm, which was improved to min{O(n 2 √ k log n + n 2 log n), n 2 2 O( √ log k log log n) } by the same authors in [35]. Recently, Benkoczi et al. [6] have developed an O(kn log 3 n) time algorithm, which is the best so far. In [6], the authors also treated the case with general edge capacities and proposed an O(kn 2 log 2 n) time algorithm, which was improved to O(kn log 4 n) by the same authors in [7].
In the rest of this section, we define minimax and minisum facility location problems in dynamic flow networks, introduce basic ideas of algorithms to solve the problems and several properties upon which the algorithms are based.

Dynamic Network Under Fixed Supplies
A dynamic flow network under fixed supplies N = (G = (V, E), w, l, c, ) consists of an undirected graph G = (V, E) , function w which associates each vertex v ∈ V with a positive supply, function l which associates each edge e ∈ E with a positive length, function c which associates each edge e ∈ E with a positive capacity, and a positive constant which represents the time required by the flow to traverse the unit distance in the network. In Sect. 3, for a vertex v ∈ V , we abuse w(v) to denote the amount of supply of v although w(v) represents the supply of v as a set of substantial units.

Minimax Facility Location Problems
We consider the facility location problems in a dynamic flow network with the integral flow model. Given a location of facilities x and a feasible evacuation to x , say E , the cost of (x, E) for an evacuee is defined as the time required to send him/her to a facility of x along an evacuation path determined by E . Then max(x, E) is defined as the maximum cost of (x, E) for all evacuees. The maximum cost of x is defined as where x is a set of all feasible evacuations to x . In the fractional flow model, we define the unit as the infinitesimally small portion of supply, and the cost is defined on each infinitesimal unit. Then two criteria are defined in the same way as in the integral flow model. Here, we treat a problem that requires finding x in a dynamic flow network minimizing (x).

k-Facility Location in General Graphs
Very recently, the minimax k-facility location problem in general dynamic flow networks has been studied by Belmonte et al. [5]. Given a dynamic flow network N = (G, w, l, c, ) where G = (V, E) is a general graph, the problem requires finding a location of k facilities x = (x 1 , x 2 , … , x k ) ∈ G k that minimizes (x) . Here, the notation G is abused to denote the set of all points on G. The authors of [5] showed that the minimax k-facility location problem in dynamic flow networks admits a fully polynomial time approximation scheme (FPTAS) for every fixed k, and that the problem is W[1]-hard when parameterized by k. Basically, they used the previous results of Hoppe et al. [37] for the quickest transshipment problem, which requires the computation of (x) for a given x and finding an optimal evacuation to x . Although the algorithm in [37] is for the case in which an input graph is directed, the authors of [5] showed that the algorithm can be applied to the undirected case by replacing every undirected edge uv of capacity c(uv) with two directed edges (u, v) and (v, u) of capacity c(uv). Then their FPTAS for the minimax k-facility location problem is roughly described as follows. For a positive > 0 , the algorithm places 1∕ points on every edge at even intervals. Letting be the set of original vertices and the points so generated, the algorithm computes a location of k facilities x that minimizes (x) for x ∈ k using the algorithm of [37].

Theorem 4 [5]
The minimax k-facility location problem in dynamic flow networks admits FPTAS for a fixed k.

Theorem 5 [5] The minimax k-facility location problem in dynamic flow networks is W[1]-hard when parameterized by k.
For the minisum k-facility location problem in the general dynamic flow network, there has been no theoretical result.

k-Facility Location in Paths
The minimax k-facility location problems in a dynamic flow path network have been studied in [8,28,33,35]. We review the algorithms proposed in [8,28,33,35]. Given a dynamic flow path network . In the following, for integers p, i, j satisfying 1 ≤ p ≤ k and 1 ≤ i ≤ j ≤ n , let OPT (p, i, j) denote the cost of the minimax p-facility location in P i,j . Here, the notation P is abused to denote the set of all points on P, and for any point x ∈ P , the notation x is abused to denote the distance from v 1 to x. It is assumed that all units of supply originally located at a vertex are sent to the same facility. The following description applies to both the cases of uniform edge capacity and general edge capacities unless specifically mentioned. Notice that papers [33,35] only deal with the case of uniform edge capacity while [28] extends it to the case of general edge capacities and [8] treats both of two cases. In the following, we use the notation x to denote x when we consider the 1-facility location.
Basic properties For integers i, j satisfying 1 ≤ i ≤ j ≤ n , let P i,j denote the subpath of P between v i and v j (including v i and v j ). Suppose that a facility is located at a point x ∈ P i,j . Let i,j (x) denote the maximum cost of x for all supplies on P i,j , i.e., the minimum time required to send to x all supplies on P i,j . Also let i L (x) (resp. j R (x) ) denote the minimum time required to send to x all supplies on the part of P i,j between v i and x (resp. This formula was developed by [33,35] which has also been shown in [18,29]. Notice that this formula holds also for the case of general edge capacities. Now, assume that x is located on an edge e s x (not including endpoints) satisfying where c ′ is the uniform edge capacity. From these, i L (x) and j R (x) are expressed in the fractional flow model as follows: Formulae (6) and (7) were first shown by Kamiyama et al. [38] while (8) and (9) were shown in [33,35].
) is a piecewise linear strictly increasing (resp. decreasing) function of x. Therefore, function i,j (x) is unimodal in x, and there exists the unique point that minimizes i,j (x).
For the general edge capacities, formulae are also developed both in the integral and fractional flow models. We only give those for the fractional flow model. Assuming that x is located on an edge e s x (not including endpoints) satisfying i ≤ s x ≤ j − 1 , i L (x) and i R (x) are expressed as follows: These formulae are developed by Higashikawa [28] in which the correctness proof of them is given and those for the integral flow model are also given.

Sketch of Algorithms Based on Dynamic Programming
In [28,33,35], the basic idea to solve the problems is a dynamic programming, i.e., the algorithm repeatedly solves the p-facility location problem in P i,j for 1 ≤ p ≤ k and 1 ≤ i ≤ j ≤ n . Then the following recursion holds for p ≥ 2: To solve the problem effectively, the authors of [33,35] proved monotonic properties shown in Lemmas 1 and 2 . Let d p (j) denote an integer t minimizing

Lemma 1 [33, 35] For integers p, j satisfying
Proof To prove Lemma 1, we note the following fundamental property. ◻

Claim 1 For integers p satisfying
We prove Lemma 1 by contradiction: there exist integers p, j satisfying 2 ≤ p ≤ k and 1 ≤ j ≤ n − 1 such that d p (j) > d p (j + 1) holds. For ease of notation in the proof, we use the notation A, B, C, D, E and F as follows: From the assumption of d p (j) > d p (j + 1) and Claim 1, we can derive the following inequalities: Since d p (j) minimizes max{ OPT (p − 1, 1, h), OPT (1, h + 1, j)} over h, we have the following inequality:

3
The Review of Socionetwork Strategies (2019) 13:163-208 Also, without loss of generality, we assume that d p (j + 1) is maximized unless the cost increases. By this assumption, we have the following inequality: Then, we consider three cases: [Case 1]: By (15), (17) and the condition of A ≤ B , we have C ≤ A ≤ F ≤ D , which contradicts (19).
[Case 2]: By (15), (16) and the condition of D ≤ C , we have B ≤ E ≤ C ≤ A . By this and (18), we have A = C . Also, by (15), (17) and the condition of D ≤ C , we have F ≤ D ≤ C ≤ A . By this and (19), we have C < A , which contradicts A = C.
[Case 3]: By (18) and the condition of B < A , we have Also, by (19) and the condition of C < D , we have (20) and (21), which contradicts the condition of C < D or (16). If A < F holds, we have D < F by (21), which contradicts (17).
Proof To prove Lemma 2, we confirm the following claim (refer to the definitions of (8) and (9)). ◻ Claim 2 We prove Lemma 2 by contradiction: there exist integers i, j, i ′ , j ′ satisfying By this assumption, we have the following inequality: For ease of notation in the proof, we use the notation A, B, C, D, E, F, G and H as follows: From (22) and Claim 2, we can derive the following inequalities: (5)), we have the following inequalities: Then, we consider three cases: [Case 1]: By (25), (27) and the condition of A ≤ B , we have C ≤ G ≤ H ≤ D , which contradicts (29).
First, the algorithm computes Since OPT (p − 1, 1, d p (j − 1)) has been obtained in a previous step of dynamic programming, f p,j (d p (j − 1)) can be obtained only by computing

the algorithm computes
Since OPT (p − 1, 1, i) has been obtained in a previous step of dynamic programming, f p,j (i) can be obtained only by computing OPT (1, i + 1, j).
Let us turn to the time complexity of the above mentioned algorithm. For ease of explanation, we here assume that facilities are located on vertices although it is allowed in [28] that facilities are located at any point on a path. Then, during the computation of OPT (p, 1, 1) , … , OPT (p, 1, n) for a fixed p, an algorithm just computes OPT (1, i, j) while increasing i or j one by one as mentioned above, which implies that the number of such computations is O(n) for a fixed p. Therefore, up to OPT (k, 1, n) , O(kn) computations are required in total. Each computation of (1, i, j) can be obtained by applying a binary search based on the unimodality of i,j (x) , and i,j (x) for a fixed x can be computed in O(n) time using the formulae (10) and (11), i.e., OPT (1, i, j) can be computed in O(n log n) time. These imply an O(kn 2 log n) time algorithm for minimax k-facility location problem in a dynamic flow path network with general edge capacities.
Theorem 6 [28] The minimax k-facility location problem in a dynamic flow path network with general edge capacities can be solved in O(kn 2 log n) time.
For the case of uniform edge capacity, an algorithm by [33,35] basically applies an similar approach as the algorithm by [28] for the case of general edge capacities, but there are differences as follows. In the following, we call the algorithm by [28] and one by [33,35] ALG GC and ALG UC , respectively.
Similarly to ALG GC , when computing OPT (p, 1, j) , ALG UC first computes which is the same as (33). Note that d p (j − 1) has been obtained and f p,j−1 (d p (j − 1)) has computed as 3 To obtain f p,j (d p (j − 1)) , ALG GC independently computes OPT (1, d p (j − 1) + 1, j) as mentioned above. Unlike this, ALG UC updates OPT (1, d p (j − 1) + 1, j − 1) (which has already been obtained in (35) which is the same as (34). Suppose that f p,j (i − 1) has been obtained as To obtain f p,j (i) , ALG GC independently computes OPT (1, i + 1, j) as mentioned above. Unlike this, ALG UC updates OPT (1, i, j) (which has already been obtained in (36)) to OPT (1, i + 1, j) . In this updating, the algorithm computes i+1,j (x) from Therefore, ALG UC computes i,j (x) while increasing i or j one by one or moving x monotonically to the next vertex during the computation of OPT (p, 1, 1) , … , OPT (p, 1, n) for a fixed p (we also assume that facilities are located only at vertices), which implies that the number of such computations is O(n) for a fixed p. Thus, up to OPT (k, 1, n) , O(kn) computations are done in total. Using the formulae (8) and (9), the authors of [33] made each computation possible in O(log n) time, and the same authors have improved it to O(1) time in [35]. They thus developed an O(kn log n) time algorithm in [33] and an O(kn) time algorithm in [35]. Although all of the above are results for the fractional flow model, it was pointed out in [35] that all properties are still maintained even in the integral flow model; therefore we can directly apply the same algorithms to the integral flow model without increasing time complexity.
Theorem 7 [35] The minimax k-facility location problem in a dynamic flow path network with uniform edge capacity can be solved in O(kn) time.
Even for the case of general edge capacities, we now observe that the exactly same approach as in the uniform edge capacity case works although the author of [28] developed an O(kn 2 log n) time algorithm as shown in Theorem 6. Therefore, we have an O(kn 2 ) time algorithm since i,j (x) for fixed i, j and x can be computed in O(n) time using the formulae (10) and (11).

Theorem 8
The minimax k-facility location problem in a dynamic flow path network with general edge capacities can be solved in O(kn 2 ) time.

Sketch of Algorithms Based on Feasibility Tests
First, we mention that the authors of [8] developed a data structure CUE tree to efficiently compute i L (x) and j R (x) for any integers i, j satisfying 1 ≤ i ≤ j ≤ n and any x ∈ P i,j . For the case of general edge capacities, the CUE tree can be constructed in O(n log n) time, and using the CUE tree, i L (x) and j R (x) can be computed in O(log 2 n) time. See [8] for more detail.

Lemma 3 [8]
Given a dynamic flow path network with general edge capacities P, its CUE tree can be constructed in O(n log n) time.

Lemma 4 [8]
Given a dynamic flow path network with general edge capacities P, suppose that its CUE tree is available. Then, for any integers i, j satisfying 1 ≤ i ≤ j ≤ n and any x ∈ P i,j , i L (x) and j R (x) can be computed in O(log 2 n) time.
In [8], to solve the minimax k-facility location problem in a dynamic flow path network, an algorithm repeatedly solves the decision version of the problem for several subpaths. For a positive real t and an integer p, i, j satisfying 1 ≤ p ≤ k and 1 ≤ i ≤ j ≤ n , a subpath P i,j is (t, p)-feasible if and only if OPT (p, i, j) ≤ t holds.
Lemma 5 [8] Given a dynamic flow path network with general edge capacities P, suppose that its CUE tree is available. For integers p, i, j satisfying 1 ≤ p ≤ k and Proof To determine (t, p)-feasibility of P i,j , we put sinks one by one from left to right as far to the right as possible. First, we compute the maximum integer h such that i L (v h ) ≤ t and i L (v h+1 ) > t holds. Next, we solve for . If < 1 , we put the leftmost sink s at otherwise we put s at v h . We then compute the maximum integer l 1 such that l 1 R (s) ≤ t and l 1 +1 R (s) > t holds. We thus determine the maximal subpath P i,l 1 such that OPT (1, i, l 1 ) ≤ t . In the same manner, we repeatedly isolate the maximal subpaths P l 1 ,l 2 , P l 2 ,l 3 , … . If the p-th subpath is determined so that l p < j , P i,j is not (t, p)feasible; otherwise P i,j is (t, p)-feasible.
Let us turn to the time complexity. When isolating P i,l 1 , we did (a) compute h,  Proof Recall that i,j (x) is unimodal in x (also see (5)). Therefore, for the maximum , we can see that there exists x * minimizing i,j (x) on edge e h including v h and v h+1 . We can apply the binary search to compute such h, which can be done in O(log 3 n) time using the CUE tree (see Lemma 4). Once h is determined, x * can be computed as follows: we solve To compute the optimal k-sink location on P, the authors of [8] showed two approaches: the parametric search approach and the sorted matrix approach.
In the parametric search approach, we first compute the maximum integer i 1 such that P i 1 +1,n is not ( OPT (1, 1, i 1 ), k − 1)-feasible and store t 1 = OPT (1, 1, i 1 + 1) as a feasible value. Note that t * = OPT (k, 1, n) satisfies OPT (1, 1, i 1 ) < t * ≤ t 1 . To compute i 1 , we apply the binary search by executing O(log n) tests for ( OPT (1, 1, a), k − 1)-feasibility of P a+1,n over 1 ≤ a ≤ n . For an integer a, we can compute OPT (1, 1, a) in O(log 3 n) time by Lemma 6. Also by Lemma 5, we can test if P a+1,n is ( OPT (1, 1, a), k − 1)-feasible in O(k log 3 n) time. Summarizing these arguments, we can compute i 1 and t 1 in {O(log 3 n) + O(k log 3 n)} × O(log n) = O(k log 4 n) time. Next, we compute the maximum integer i 2 such that P i 2 +1,n is not ( OPT (1, i 1 + 1, i 2 ), k − 2)-feasible and store t 2 = OPT (1, i 1 + 1, i 2 + 1) as a feasible value, which can be done in O(k log 4 n) time in the same manner as in computing (i 1 , t 1 ) . Sequentially, we determine (i 3 , We then execute a (t * , k)-feasibility test for P in O(k log 3 n) time, so that the optimal k-facility location is obtained. We thus see the problem can be solved in In the sorted matrix approach, the authors of [8] defined an n × n matrix A whose entry (i, j) entry is given by It is clear that matrix A includes OPT (1, l, r) for every pair of integers (l, r) such that 1 ≤ l ≤ r ≤ n . There exists a pair (l, r) such that OPT (1, l, r) = OPT (k, 1, n) . Then the problem can be formulated as "Find the smallest A[i, j] such that the given problem instance is (A[i, j], k)-feasible." Note that we do not actually compute all the elements of A, but element A[i, j] is computed on demand as needed. We also notice that matrix A is a sorted matrix [25], i.e., each row and column of A is sorted in the nondecreasing order. The authors of [8] mentioned that paper [25] had implicitly shown the following lemma. It was also shown in [8] that the above two approaches similarly work even for the case of uniform edge capacity. See [8] for more detail.

Theorem 10 [8]
The minimax k-facility location problem in a dynamic flow path network with uniform edge capacity can be solved in O(min{n + k 2 log 2 n, n log n}) time.

k-Facility Location in Trees
The minimax 1-facility location problems in a dynamic flow tree network have been studied in [28,32,34,41] so far. Recently, Chen and Golin [14,15] have studied the case of k-facility location. In this section, we mainly introduce the algorithms for the 1-facility location in [28,32,34,41] and mention the results for the k-facility location in [14,15] because of space limitations. Given a dynamic flow tree network N = (T, w, l, c, ) where T = (V, E) is a tree such that |V| = n , the problem requires finding a location of a facility x ∈ T that minimizes (x) . Here, the notation T is abused to denote the set of all points on T. In the following, we use the notation x to denote x since we consider the 1-facility location.
Sketch of an Algorithm for the 1-Facility Location We first introduce an algorithm developed by Mamada et al. [41] for the minimax 1-facility location problem in a dynamic flow tree network with general edge capacities under the assumption that a facility is located only at a vertex. Letting x * denote a point in T that minimizes (x) , the algorithm basically maintains a subtree T ′ ⊆ T that consists of x * 1 3 while reducing T ′ by cutting a leaf as well as an incident edge at each step. For a leaf v of T ′ , let p(v) denote a unique vertex adjacent to v in T ′ . The algorithm also maintains an arriving table A v and a sending table S v for every leaf v of T ′ : A v is a function of time such that A v ( ) represents the sum of the flow rates arriving at v at time from adjacent vertices except p(v), and S v is also a function of time such that S v ( ) represents the flow rate leaving v at time to p(v). For a leaf v of T ′ , let time(v) denote the time at which the last flow sent by S v arrives at p(v). Then, the algorithm computes time(v) for every leaf v of T ′ and remove from T ′ a leaf v * (and an edge incident to v * ) that minimizes time(v) over all leaves v of T ′ . If p(v * ) becomes a new leaf of T ′ , the algorithm computes A p(v * ) . We here observe that the maximum cost of p(v * ) is less than or equal to that of v * , i.e., v * is not an optimal facility location or both of v * and p(v * ) are optimal. Thus, when T ′ becomes a single vertex, the algorithm outputs the vertex as x * . The authors of [41] mentioned that the above algorithm requires O(n 2 ) time if Arriving and Sending Tables are explicitly constructed, and by representing these tables efficiently, they developed an O(n log 2 n) time algorithm.
Theorem 11 [41] The minimax 1-facility location problem in a dynamic flow tree network with general edge capacities can be solved in O(n log 2 n) time.
We next overview an O(n log n) time algorithm for the minimax 1-facility location problem in a dynamic flow tree network with uniform edge capacity by [28,32,34]. To develop an algorithm for the case of the uniform edge capacity, the authors of [28,32,34] used the formula of (x) observed by Kamiyama et al. [38], which is as follows. For two points x, y ∈ T , let d(x, y) denote the distance between x and y in T. For a vertex v ∈ V , let (v) denote a set of vertices adjacent to v, and for a point x ∈ T which is not at a vertex but on an edge uv ∈ E , let (x) denote a set of two vertices u and v. Given a point x ∈ T , if x is not at a vertex but on an edge uv ∈ E , x is regarded as a new vertex of T and uv is split into two new edges ux and xv. Then, let T(x) be a rooted tree made from T such that each edge has a natural orientation towards the root x, and for any vertex v ∈ V , let T(x, v) be a subtree of T(x) rooted at v. Suppose that a facility is located at a point x ∈ T . For a vertex u ∈ (x) , let (x, u) denote the maximum cost of x for all supplies on T(x, u), i.e., the minimum time required to send all supplies on T(x, u) to x. Then (x) can be represented as follows: Here, we only need to consider (x, u * ) for u * For the integral flow model, Kamiyama et al. [38] observed that the value of (x, u * ) does not change if x and all v j for 1 ≤ j ≤ n ′ are relocated on a line with the same capacity so that d(x, v j ) for 1 ≤ j ≤ n ′ remain the same (see Fig. 3), and (x, u * ) can be represented as follows: where c ′ is the uniform edge capacity. The authors of [28,32,34] have formally proved the formula (41), and the author of [28] also developed the formula for the fractional flow model as follows: Also, to solve the problem effectively, the authors of [28,32,34] proved key properties shown in Lemmas 8 and 9. In the statements and the proofs of those two lemmas, we use the following notation. For two vertices v, v � ∈ V , let V(v, v � ) denote the set of all vertices in T(v, v � ) and let T(V � ) denote a subgraph induced by a vertex set V ′ ⊆ V . Let P be a simple path in T from a leaf to another leaf, which is represented as the sequence of vertices v 1 , v 2 , … , v k where v 1 and v k are leaves. In the following, for a point x ∈ P , the notation x is abused to denote d (v 1 , x) . For a point x ∈ P , we call the direction to v 1 (resp. v k ) from x the left direction (resp. right direction). If a facility location x is given at a vertex v i for some i satisfying 2 ≤ i ≤ k (resp. 1 ≤ i ≤ k − 1 ), let L (x;P) (resp. R (x;P) ) denote the minimum time required to send all supplies on T(x, v i−1 ) (resp. T(x, v i+1 ) ) to x. If x is given on an edge v i v i+1 for some i satisfying 1 ≤ i ≤ k − 1 , let L (x;P) (resp. R (x;P) ) denote the minimum Fig. 3 Vertices of the tree can be relocated on a line with the same capacity time required to send all supplies on T(x, v i ) (resp. T(x, v i+1 ) ) to x. Also, for a vertex v i satisfying 1 ≤ i ≤ k − 1 , let

Lemma 8 Along a path from a leaf to another leaf in T, (x) is unimodal in x.
Proof To prove the lemma, we first show that along a path P, L (x;P) is increasing in x and R (x;P) is decreasing in x (see Fig. 4a). By (42), (43) and (44), we can see the following three properties of L (x;P) and R (x;P): From these properties, L (x;P) (resp. R (x;P) ) is piecewise linear increasing (resp. decreasing) in x. Therefore, there uniquely exists x ∈ P that minimizes max{ L (x;P) , R (x;P)} , called x * (P) in the following. Also, it can be seen that for a vertex v i ∈ P such that v i ≤ x * (P) . Thus, (x) may possibly be discontinuous at v i for 2 ≤ i ≤ k − 1 but it is always unimodal in x along P. ◻

Lemma 9 For a vertex
Proof Let us consider a path P from a leaf to another leaf through adjacent vertices v and u * where u * = argmax{ (v, u) | u ∈ (v)} . Let us define the left direction in P as the direction from v to u * and the right direction as the other one. Suppose that there are k + 1 vertices v 1 , v 2 , … , v k in P, and v = v i and u * = v i−1 for some i satisfying 2 ≤ i ≤ k − 1 . We consider a point p ∈ P such that p = v i + with sufficiently small > 0.
If we can show (v i ) < (p) , x * never exists in the right direction from v i along P by Lemma 8. Then, this lemma can be proved by repeatedly applying the same discussion to all the other paths through v and u * . By the assumption of (v i ) = L (v i ;P), L (v i ;P) ≥ R (v i ;P) holds, and by (42), L (v i ;P) + ≤ L (p;P) and R (v i ;P) = R (p;P) + , that is, L (v i ;P) < L (p;P) and R (v i ;P) > R (p;P) hold. Thus, we have R (p;P) < L (p;P) , which implies that

3
The Review of Socionetwork Strategies (2019) 13:163-208 From (45) and the above mentioned two facts (v i ) = L (v i ;P) and We now see the algorithm by [28,32,34] for the minimax 1-facility location problem in a dynamic flow tree network with uniform edge capacity. The algorithm uses the concept of centroid of a tree [40]: for an undirected tree T = (V, E) , a centroid of T is a vertex that minimizes Kang et al. [40] showed that a centroid m of T can be computed in O(|V|) time and Let us explain the first iteration of the algorithm by [28,32,34]. For ease of explanation, we here assume that a facility is located on a vertex although the authors of [28,32,34] allowed that a facility can be located at any point on a tree. Letting U 1 = V , the algorithm first finds a centroid m 1 of T(U 1 ) and computes d(m 1 , v) for every v ∈ U 1 . Then, to compute (m 1 , u) for each u ∈ (m 1 ) , the algorithm basically creates the list L(u) of all vertices v ∈ U 1 ∩ V(m 1 , u) which are arranged in the nondecreasing order of d(m 1 , v) . From (42), we can derive that (m 1 , u) can be computed using L(u).
The algorithm iteratively performs the same procedure (see Fig. 5). Namely, at the i-th iteration, it finds a centroid m i of T(U i ) , computes  In the above analysis, the authors of [28,32,34] showed that the running time required to create lists L � (u) for u ∈ (m i ) can be improved from O(n log n) to O(n + |U i | log |U i |) , based on the following lemma.

Lemma 10 |U
Proof By definition of U i , we can clearly see that The idea to improve the running time is to use the sorted lists L j with j = 1, 2, … , i − 1 . Let us look at Fig. 5a, and focus on a vertex u ∈ (m 6 ) in the figure. The computation of L � (u) can be done in O(n log n) time if we know d(m 6 V(m 6 , u)) holds and we have already computed L 1 and L 4 , L � (u) can be obtained faster if we create only a list L(u) by computing d(m 6 , v) for all v ∈ U 6 ∩ V(m 6 , u) . Note that by (46), |U 6 ∩ V(m 6 , u)| is at most |U 6 |∕2 , which is about |V 1 |∕64 or |V 4 |∕8 by Lemma 10, so its size is much smaller than |V(m 6 , u)| . The idea is formalized as follows.  of the original lists are maintained since these will be used later). For this merging operation, if we apply a simple merge sort, it takes O(|V(m i , u)| log |V(m i , u)|) time, which does not improve the running time. Here, we notice that |L j | = |V j | for 1 ≤ j ≤ i − 1 . Instead, the algorithm basically takes the following two steps to create each list L � (u) for u ∈ (m i ). [ Step 1]:

Lemma 11
The i-th iteration of the algorithm by [28,32,34] Recall that the algorithm halts after O(log n) iterations. Thus, by Lemma 11 Theorem 12 [28,32,34] The minimax 1-facility location problem in a dynamic flow tree network with uniform edge capacity can be solved in O(n log n) time.

Results for the k-Facility Location
We here introduce the latest results in [15] for the minimax k-facility location problem in a dynamic flow tree network. Note that the algorithms by [15] use the algorithms for the 1-facility location by [28,32,34,41] as subroutines.
Theorem 13 [15] The minimax k-facility location problem in a dynamic flow tree network with general edge capacities can be solved in O(max{k, log n}kn log 4 n) time. The problem for the case of uniform edge capacity can be solved in O(max{k, log n}kn log 3 n) time.

Minisum Facility Location Problems
We consider the facility location problems in a dynamic flow network with the integral flow model. Given a location of facilities x and a feasible evacuation to x , say E , the cost of (x, E) for an evacuee is defined as the time required to send him/her to a facility of x along an evacuation path determined by E . Then sum(x, E) is defined as the sum of the cost of (x, E) for all evacuees. The total cost of x is defined as where x is a set of all feasible evacuations to x . In the fractional flow model, we define the unit as the infinitesimally small portion of supply, and the cost is defined on each infinitesimal unit. Then two criteria are defined in the same way as in the integral flow model. Here, we deal with a problem that requires finding x in a dynamic flow network minimizing (x).

k-Facility Location in Paths
The minisum k-facility location problems in a dynamic flow path network with uniform edge capacity have been studied in [33,35]. Very recently, Benkoczi et al. [7] have studied the problem for the case of general edge capacities. In this section, we mainly introduce the algorithms for the case of uniform edge capacity in [33,35] and mention the results for the case of general edge capacities in [7] because of space limitations. Given a dynamic flow path network N = (P = (V, E), w, l, c, ) defined in Sect. 3.2.2, the problem requires finding a location of k facilities x = (x 1 , x 2 , … , x k ) ∈ P k that minimizes (x) . In [7,33,35], it was assumed that all units of supply originally located at a vertex are sent to the same facility (as in the maximum cost case). In the following, we use the notation x to denote x when we consider the 1-facility location.
Basic Properties for the Case of Uniform Edge Capacity We first see a useful formula developed by [33,35] for the total cost in the case of uniform edge capacity to solve the 1-facility location problem. Suppose that a facility is located at a point x ∈ P i,j for fixed integers i and j satisfying 1 ≤ i ≤ j ≤ n . Let i,j (x) denote the total cost of x for P i,j . Also let i L (x) (resp. For the fractional flow model, the authors of [33,35] showed the formulae for i L (x) and j R (x) . In the following, we only explain the case of i L (x) (the case of j R (x) is symmetric). Assume that x is located on an edge e s x (not including endpoints) satisfying i ≤ s x ≤ j − 1 . Consider the case that the first unit of v l−1 is forced to stop at v l for some l satisfying i where c ′ is the uniform edge capacity. Then, even if all units of v l−1 are moved to v l and v l−1 is removed from P i,j , the cost of x for any unit does not change, which implies that i L (x) does not change. By repeatedly applying the same operation as long as there exist such consecutive two vertices, several vertices whose indices are 1 , … , e are eventually left such that all units on vertices v h−1 +1 , … , v h −1 have been moved to v h for 1 ≤ h ≤ e (where 0 = i − 1 and e = s x ) without changing i L (x) . Notice that for every integer h satisfying 1 ≤ h ≤ e , the first unit of v h will never be

3
The Review of Socionetwork Strategies (2019) 13:163-208 forced to stop on its way to x. Formally, the authors of [33,35] defined the vertex indices 1 , … , e as For every integer h satisfying 1 ≤ h ≤ e , they also defined the value of h as Then, it was shown in [33,35] that i L (x) is represented as follows: The authors of [33,35] pointed out that function i,j (x) may not be unimodal in x although i L (x) and j R (x) are increasing in x and decreasing in x, respectively. Also, to efficiently solve the problem, the authors of [33,35] proved an important property.

Lemma 12
For the minisum 1-facility location problem in a dynamic flow path network with uniform edge capacity, there exists an optimal facility location at a vertex.

Proof By (51), for an open interval
Then, we can see that for any two points p, q ∈ (v h , v h+1 ) satisfying p < q , i,j (p) ≤ i,j (q) holds. We will show that for sufficiently small > 0 , i,j (v h ) ≤ i,j (v h + ) holds. We confirm From (52), (53) and the assumption of

Sketch of Algorithms for the Case of Uniform Edge Capacity
We now see the algorithm by [33,35] for the minisum 1-facility location problem in a dynamic flow path network with uniform edge capacity. For ease of explanation, we consider 1 3 P = P 1,n as an input, and use the notation (x) , L (x) and R (x) to denote 1,n (x) , 1 L (x) and n R (x). Basically, the algorithm first computes L (v i ) for 2 ≤ i ≤ n in ascending order of i, and next R (v i ) for 1 ≤ i ≤ n − 1 in descending order of i. After computing all these values, (v i ) can be computed and evaluated for 1 ≤ i ≤ n in O(n) time. By Lemma 12, the optimal facility location x * is at a vertex that minimizes (x) for x ∈ P , so we just take the minimum of the n values above.
Below, we show how to compute L (v i ) (computation of R (v i ) can be treated in a similar manner). First, the algorithm sets 1 = 1 , 1 = w 1 . By (51), L (v 2 ) is computed in O(1) time as follows: Now, suppose that for some integer j satisfying 2 ≤ j ≤ n − 1 , L (v j ) has been already obtained as follows: where e(j) is a positive integer satisfying 1 ≤ e(j) ≤ j − 1 . Here, i and i for all i satisfying 1 ≤ i ≤ e(j) have also been obtained. In addition, letting has also been computed. We then show how to compute L (v j+1 ) . First, the algorithm temporarily sets Next, the algorithm computes W j as W j = W j−1 + w j . Here, W j − W � corresponds to w j plus the amount of supplies merged to v j . Then the algorithm tests if in descending order. If and only if so, the supply of v i will be merged to v j , thus the algorithm updates ′ and W ′ as follows: ∕c � is obtained, the algorithm stops testing. In the former case, after the algorithm tests e(j) − m + 1 times, 1 , … , m remain. Now the total amount of supplies on v 1 , … , v m is W ′ , and the total evacuation time to v j for these supplies is ′ . Since each unit of these supplies does not stop at v j , the total evacuation time to v j+1 for these supplies is � + W � (v j+1 − v j ) . On the other hand, all supplies on v m+1 , … , v e(j) are merged to v j , thus the total amount of supply on v j is W j − W � . Then, by (51), L (v j+1 ) can be computed as Also, for the next recursive step, the algorithm eventually sets Since the algorithm tests e(j) − m + 1 = e(j) − e(j + 1) + 2 times to compute L (v j+1 ) , it needs to test ∑ 1≤i≤n−1 (e(i) − e(i + 1) + 2) times to compute L (v i ) for 2 ≤ i ≤ n . Here, by e(1) = 0 , we have Theorem 14 [33,35] The minisum 1-facility location problem in a dynamic flow path network with uniform edge capacity can be solved in O(n) time.
For the minisum k-facility location problem in a dynamic flow path network with uniform edge capacity, Higashikawa et al. [33] showed the following recursion for p ≥ 2 in a similar way to (12): where OPT (p, i, j) denotes the cost of the minisum p-facility location in a subpath P i,j (which has already been defined in Sect. 3.2.2). Also letting d p (j) denote an integer t minimizing { OPT (p − 1, 1, t) + OPT (1, t + 1, j)} for 1 ≤ t ≤ j − 1 , the authors of [33] showed that for integers p, j satisfying 2 ≤ p ≤ k and 1 ≤ j ≤ n − 1 , d p (j) ≤ d p (j + 1) holds (similar to Lemma 1). Using a dynamic programming approach based on the above property, the authors of [33] proved that the minisum k-facility location problem can be solved by computing the minisum 1-facility location problems in subpaths for O(kn) times. By this and Theorem 14, they developed an O(kn 2 ) algorithm.
Next, the same authors as [33] have improved the algorithm in its time complexity in [35]. They basically transformed the problem to an equivalent problem, which requires finding the minimum k-link path in a weighted, complete, directed acyclic graph (DAG), as follows. First, for integers i and j satisfying 1 ≤ i < j ≤ n + 1 , let w(i, j) = OPT (1, i, j − 1) . Let us consider a DAG G = (N, A) such that N = {u 1 , u 2 , … , u n , u n+1 } and for every vertex pair (u i , u j ) satisfying 1 ≤ i < j ≤ n + 1 , there exists an edge which is directed from u i to u j associated with the weight of w(i, j). Then, the minisum k-facility location problem in a dynamic flow path network is equivalent to a problem requiring finding a path in G from u 1 to u n+1 which contains exactly k edges such that the sum of weights is minimized. Schieber [43] showed that this problem can be solved by querying edge weights min{O(n √ k log n + n log n), n2 O( √ log k log log n) } times if the input DAG satisfies the concave Monge property, that is, w(i, j) + w(i + 1, j + 1) ≤ w(i + 1, j) + w(i, j + 1) holds for any integers i and j satisfying 2 ≤ i + 1 < j ≤ n . The authors of [35] proved that the concave Monge property holds if w(i, j) = OPT (1, i, j − 1) . Then, we can see a min{O(n 2 √ k log n + n 2 log n), n 2
On the other hand, by the optimality of OPT (1, i, j − 1) and OPT (1, i + 1, j) , we have Then, by (62), (66) and (67), we obtain which implies that the lemma holds in Case 1. ◻ Theorem 15 [35] The minisum k-facility location problem in a dynamic flow path network with uniform edge capacity can be solved in min{O(n 2 √ k log n + n 2 log n), n 2 2 O( √ log k log log n) } time. + 1, j)).

Results for the Case of General Edge Capacities
We here introduce the latest results by [7] for the minisum k-facility location problem in a dynamic flow path network with general edge capacities. Although paper [7] has treated not only the case of general edge capacities but also that of uniform edge capacity and the time complexity of their algorithm for the case of uniform edge capacity has improved the previous one shown in Theorem 15, we do not refer to the details here because of space limitations.
Theorem 16 [7] The minisum k-facility location problem in a dynamic flow path network with general edge capacities can be solved in O(kn log 4 n) time. The problem for the case of uniform edge capacity can be solved in O(kn log 3 n) time.

Minimax Regret Facility Location Problems in Dynamic Flow Networks
The minimax regret facility location problems in dynamic flow networks have been studied in recent years. All of the previous studies on the problems have assumed that the edge capacity is uniform and facilities can be located at any point in the network. Cheng et al. [18] first studied the minimax regret 1-facility location problem in a dynamic flow path network adopting the maximum cost criterion and proposed an O(n log 2 n) time algorithm. This result was improved to O(n log n) by Higashikawa et al. [29] and Wang [44,45] independently. Finally, Bhattacharya and Kameda [10] have developed an O(n) time algorithm. They also studied the minimax regret 2-facility location problem in a dynamic flow path network adopting the maximum cost criterion and proposed an O(n log 4 n) time algorithm in [10]. The minimax regret k-facility location problem in a dynamic flow path network has first been studied by Arumugam et al. [3]. They developed two algorithms in [3]: the first one runs in O(kn 2 log k n) time and the second one runs in O(kn 3 log n) time. The second result in [3] was improved to O(kn 3 ) by Higashikawa [28]. For tree networks, Higashikawa et al. [32,34] studied the minimax regret 1-facility location problem adopting the maximum cost criterion and proposed an O(n 2 log 2 n) time algorithm. Later, Bhattacharya and Kameda [10] developed an O(n log n) time algorithm, which is the best so far. Very recently, Golin and Sandeep [26] have studied the minimax regret k-facility location problem in a dynamic flow tree network adopting the maximum cost criterion and shown that the problem can be solved in O(max{k 2 , log 2 n} ⋅ k 2 n 2 log 5 n) time.
On the other hand, the problems adopting the total cost criterion have not been studied much except for the case of the 1-facility location in path networks. For the minimax regret 1-facility location problem in a dynamic flow path network adopting the total cost criterion, Higashikawa et al. [30,31] provided an O(n 3 ) time algorithm, and this result has been improved to O(n 2 log 2 n) recently by Bhattacharya et al. [9].
In the rest of this section, we introduce basic ideas for the reduction of scenarios to be considered in the minimax regret facility location problems in dynamic flow networks.

Dynamic Network Under Uncertain Supplies
A dynamic flow network under uncertain supplies N = (G = (V, E), W, l, c, ) consists of the same components as the one under fixed supplies (mentioned in Sect. 3.2.2) except for function w. Here, function W associates each vertex v ∈ V with an interval of supply such that In a dynamic flow network under uncertain supplies, a particular assignment of supplies to vertices is called a scenario. Let S denote the Cartesian product of all W(v) for v ∈ V , i.e., a set of scenarios: For a scenario s ∈ S , the notation w s (v) is used to denote the supply of each vertex v ∈ V under the scenario s.

Problems Adopting the Maximum Cost Criterion
For a location of facilities x and a scenario s ∈ S , let s (x) denote the maximum cost of x under s. Also let x s denote the minimax facility location under s. Given a location of facilities x and a scenario s ∈ S , the regret adopting the maximum cost criterion of x under s is defined as follows: Then, given a facility location x , the maximum regret adopting the maximum cost criterion of x is defined as follows: Here, we treat a problem that requires finding x in a dynamic flow network minimizing RM max (x) . A scenario s * ∈ S is called a worst case scenario adopting the maximum cost criterion for x if

k-Facility Location in Paths
The minimax regret k-facility location problems in a dynamic flow path network adopting the maximum cost criterion have been studied so far in [3,10,18,28,29,44,45]. As mentioned above, all these studies have assumed that the edge capacity is uniform and facilities can be located at any point in the network. Given a dynamic flow path network under uncertain supplies N = (P = (V, E), W, l, c � , ) where P is the same as in Sect. 3.2.2 and c ′ is the uniform edge capacity, the problem requires finding a location of k facilities x = (x 1 , x 2 , … , x k ) ∈ P k that minimizes RM max (x).
Basic Properties for the 1-Facility Location The authors of [18,29] first studied the case of k = 1 and proved several key properties that were useful even for the case of general k. When k = 1 , we use the notation x and x s to denote x and x s , respectively. If scenario s is fixed, function s (x) has the same properties as 1,n (x) (refer to (5), (8) (72) s * = argmax{RM s (x) | s ∈ S}. and (9)), i.e., assuming that x is located on an edge e s x (not including endpoints) satisfying 1 ≤ s x ≤ n − 1 , s (x) is represented as where Similarly to 1,n (x) , s (x) is unimodal in x for a fixed s, and there uniquely exists x s . By the definition of (70), RM s (x) is also unimodal in x for a fixed s, and then RM max (x) is the upper envelope of unimodal functions by (71), which implies that RM max (x) is unimodal in x.

Lemma 14 RM max (x) is unimodal in x.
We next introduce the most important property in the 1-facility location, which was proved in [18,29]. A main difficulty of the problem lies in evaluating RM s (x) over s ∈ S to compute RM max (x) even for a fixed location x ∈ P since the size of S is infinite. The authors of [18,29] then proved that a worst case scenario for any x ∈ P is included in a finite set of scenarios, called bipartite scenarios (in [18,29], called dominant scenarios), defined as follows. A scenario s is said to be leftbipartite (resp. right-bipartite) if w s (v j ) = w + (v j ) (resp. w − (v j ) ) over j ∈ {1, … , i} and w s (v j ) = w − (v j ) (resp. w + (v j ) ) over j ∈ {i + 1, … , n} for some i ∈ {1, … , n − 1} . Let S L (resp. S R ) denote the set of all left-bipartite (resp. right-bipartite) scenarios. S L consists of the following n + 1 scenarios: and S R consists of the following n + 1 scenarios: It is clear that the number of such bipartite scenarios is O(n).
The authors of [18,29] proved the following lemma.

Lemma 16
Consider the minimax regret 1-facility location problems in a dynamic flow path network adopting the maximum cost criterion. For a location of a single facility x ∈ P , a worst case scenario belongs to S L ∪ S R .

Proof
In the proof, we use the notation s i+ and s i− for a given s ∈ S to denote scenarios such that respectively. Let s * = argmax{RM s (x) | s ∈ S} . Here, we only prove for a facility location x such that s * ( Then, we actually prove that RM s l L (x) ≥ RM s * (x) holds. If s * is not equal to s l L , we have two cases: [Case 1] there exists an integer i satisfying 1 ≤ i ≤ l such that

and [Case 2] there exists an integer
holds for Case 2, we will eventually obtain RM s l L (x) ≥ RM s * (x) by repeatedly applying the same discussion as long as there exists such a vertex v i .

Lemma 17 For a scenario s ∈ S and an integer i satisfying
Proof We only prove v i ≤ x s i+ ≤ x s for a given integer i satisfying 1 ≤ i ≤ n such that v 1 ≤ v i ≤ x s (the other case can be similarly treated). We first prove x s i+ ≤ x s by contradiction: suppose that x s i+ > x s . Let x mid be the midpoint of x s i+ and x s : We notice x s < x mid < x s i+ . Since an increasing function s L (x) and a decreasing function s R (x) intersect at x = x s and similarly s i+ L (x) and , which is a contradiction. We next prove v i ≤ x s i+ by contradiction: suppose that x s i+ < v i . First, by the definitions of (73), (74) and (75), we have i.e., Corollary 1 (i) As long as

Note that
holds, x s i L never decreases as i increases.
Sketch of Algorithms for the 1-Facility Location For the minimax regret 1-facility location problem in a dynamic flow path network with uniform edge capacity adopting the maximum cost criterion, Cheng et al. [18] developed the first algorithm based on Lemmas 14, 15 and 16, which is as follows. The algorithm by [18] first constructs a data structure in O(n log n) time so that for any integer i satisfying 1 ≤ i ≤ n and any bipartite scenario s ∈ S L ∪ S R , s (v i ) can be computed in O(log n) time. Then, for a fixed bipartite scenario s ∈ S L ∪ S R , the algorithm can compute s (x s ) in O(log 2 n) time by a binary search based on the unimodality of function s (x) .
O(kn 3 log n) time. Note that the second one is faster when k > log n∕(log log n) + 1 , e.g., k ≥ 5 for n = 1000 . Based on Lemma 19, the second algorithm in [3] first computes the minimax k-facility location under every tripartite scenario, i.e., s (x s ) for s ∈ S T , using an algorithm on the minimax k-facility location in a dynamic flow path network by [33]. The number of tripartite scenarios is O(n 2 ) by Lemma 18, and the computation of s (x s ) for each s ∈ S T takes O(kn log n) time using the algorithm by [33], thus computing s (x s ) for all s ∈ S T takes O(kn 3 log n) in total. The authors of [3] also showed that the other part can be done in O(n 3 ) time, which implies that computing s (x s ) for all s ∈ S T dominates the other part in the sense of time complexity. The time complexity of this computation has been improved to O(kn 3 ) by [28] as the algorithm by [33] has been improved to an O(kn) time algorithm by [35], which implies that the minimax regret k-facility location problem in a dynamic flow path network can be solved in O(kn 3 ) time.
Theorem 18 [28] The minimax regret k-facility location problem in a dynamic flow path network with uniform edge capacity adopting the maximum cost criterion can be solved in O(kn 3 ) time.

k-Facility Location in Trees
The minimax regret 1-facility location problems in a dynamic flow tree network adopting the maximum cost criterion have been studied in [10,32,34] so far. Very recently, Golin and Sandeep [26] have studied the case of k-facility location.
In this section, we mainly introduce the algorithms for the 1-facility location in [32,34] and mention the results for the k-facility location in [26] because of space limitations. Given a dynamic flow tree network under uncertain supplies N = (T = (V, E), W, l, c � , ) where T is the same as in Sect. 3.2.3 and c ′ is the uniform edge capacity, the problem requires finding a location of a single facility x ∈ T that minimizes RM max (x) . Here, the notation T is abused to denote the set of all points on T. In the following, since we consider the 1-facility location, we use the notation x and x s to denote x and x s , respectively.
Basic Properties for the 1-Facility Location The authors of [32,34] proved several properties in the minimax regret 1-facility location problem in a dynamic flow tree network adopting the maximum cost criterion. As in Sect. 3.2.3, we here use the same notation d(x, y) for two points x, y ∈ T , (x) for a point x ∈ T , and T(x, v) a point x ∈ T and a vertex v ∈ V . Also given a scenario s ∈ S , for a point x ∈ T and a vertex u ∈ (x) , let s (x, u) denote the maximum cost of x for all supplies on T(x, u) under s. Then, referring to (40) and (42), s (x) is represented (in the fractional flow model) as follows: where v 1 = argmax{ s (x, u) | u ∈ (x)} and there are n ′ vertices in T(x, v 1 ) named v 1 , v 2 , … , v n ′ such that d(x, v j ) ≤ d(x, v j+1 ) for 1 ≤ j ≤ n � − 1. First, we confirm the following two lemmas.

Lemma 20
For a scenario s ∈ S , along a path from a leaf to another leaf in T, s (x) is unimodal in x.
These immediately follow by Lemmas 8 and 9, respectively. By (70), (71) and Lemma 20, we can also see the following lemma.

Lemma 22 Along a path from a leaf to another leaf in T, RM max (x) is unimodal in x.
We here introduce a concept of dominant scenarios for a vertex v ∈ V . Suppose that u ∈ (v) , n ′ is the number of vertices in T(v, u) and v 1 (= u), v 2 , … , v n � are vertices in T(v, u) such that d(v, v i ) ≤ d(v, v i+1 ) for 1 ≤ i ≤ n � − 1 . We now consider a scenario s ∈ S such that w s (v i ) = w + (v i ) for v i ∈ T(v, u) such that l ≤ i ≤ n ′ for some l with 1 ≤ l ≤ n ′ and w s (v � ) = w − (v � ) for all the other vertices v � ∈ V . In the following, such a scenario is said to be dominant for v, and represented by s(v, v l ) . Then, let S D (v, u) = {s(v, v l ) | 1 ≤ l ≤ n � } , and also let S D (v) = ⋃ u∈ (v) S D (v, u). Note that S D (v) consists of n − 1 scenarios.

Lemma 23 For a vertex
The authors of [32,34] proved the following lemma, which follows by (91) and Lemma 16.

Lemma 24
Consider the minimax regret 1-facility location problems in a dynamic flow tree network adopting the maximum cost criterion. When a facility x is located at a vertex v ∈ V , a worst case scenario for x belongs to S D (v).
Also, letting x * denote a point x that minimizes RM max (x) for x ∈ T , the authors of [32,34] proved the following lemma.
Proof We prove by contradiction: suppose that there exists x * ∈ T(v, u) or on an edge vu (not including endpoints) for some u ∈ (v) with u ≠ u * . By Lemma 21, there exists x s * ∈ T(V(v, u * ) ∪ {v}) . Now, let us consider a path which goes through x s * , v and x * in this order. By Lemma 20, s * (x) is increasing in x when x moves along the path from x s * to x * , which implies that s * (x * ) > s * (v) holds. Thus, RM s * (x * ) > RM s * (v) also holds by (70).
We have RM max (x * ) ≥ RM s * (x * ) by the maximality of RM max (x * ) and RM s * (v) = RM max (v) by definition of s * , thus RM max (x * ) > RM max (v) holds, which contradicts the optimality of x * . ◻

Sketch of an Algorithm for the 1-Facility Location
The authors of [32,34] developed an algorithm that computes x * ∈ T based on the above mentioned properties. For ease of explanation, we here assume that a facility is located on a vertex although the authors of [32,34] allowed that a facility can be located at any point on a tree. We first explain how an algorithm by [32,34] computes RM max (v) for a vertex v ∈ V . Given a dominant scenario s ∈ S D (v) , by Theorem 12, s (v) and s (x s ) can be computed in O(n log n) time, respectively. This implies that RM s (v) can be computed in O(n log n) time (see (70)). By Lemmas 23 and 24, we only need to consider O(n) dominant scenarios for a particular v. Thus, RM max (v) can be computed in O(n 2 log n) time (see (71)). We assume that when RM max (v) is computed, s * = argmax{RM s (v) | s ∈ S} and u * = argmax{ s * (v, u) | u ∈ (v)} are also computed.
To find x * ∈ T , we can apply a similar approach to the one presented by [28,32,34] (mentioned in Sect. 3.2.3) that finds the minimax 1-facility location in a dynamic flow tree network with uniform edge capacity since Lemma 25 holds. Therefore the algorithm can find x * ∈ T by computing RM max (v) for O(log n) times, which implies that x * can be computed in O(n 2 log 2 n) time. The authors of [32,34] thus developed an O(n 2 log 2 n) time algorithm. Bhattacharya and Kameda [10] have developed an O(n log n) time algorithm using a better data structure. See [10] for more detail.
Theorem 19 [10] The minimax regret 1-facility location problem in a dynamic flow tree network with uniform edge capacity adopting the maximum cost criterion can be solved in O(n log n) time.
Results for the k-Facility Location We here introduce the latest results in [26] for the minimax regret k-facility location problem in a dynamic flow tree network with uniform edge capacity adopting the maximum cost criterion Theorem 20 [26] The minimax regret k-facility location problem in a dynamic flow tree network with uniform edge capacity adopting the maximum cost criterion can be solved in O(max{k 2 , log 2 n}k 2 n 2 log 5 n) time.

Problems Adopting the Total Cost Criterion
For a location of facilities x and a scenario s ∈ S , let s (x) denote the maxisum cost of x under s. Also let x s denote the minisum facility location under s. Given a location of facilities x and a scenario s ∈ S , the regret adopting the total cost criterion of x under s is defined as follows: (92) RT s (x) = s (x) − s (x s ).

Conclusion
In this paper, we surveyed recent developments of algorithms for facility location problems in dynamic flow networks that were motivated by evacuation planning problems.
Contrasted with classical 1-center and 1-median problems, we showed the difficulty and approximability of solving 1-facility location problems for general networks although NP-hardness has not be proven yet, which is currently open. We then showed polynomial time algorithms for the problems in path and tree networks. We also showed the results for minimax regret versions of the problems where the weights (the number of evacuees) on vertices are not fixed but the only interval where the weight exists is known for every vertex.
As we showed, there are still many open problems. To attack those problems, we believe that new ideas and techniques are required. In this sense, we hope that many of the readers will have an interest in this problem.
There is a 70-80% percent chance that the Nankai Trough Earthquake will occur within the coming 30 years [1]. In Japan, there are many small towns on the coastal area facing the Pacific Ocean whose local governments are faced with the serious problem that they have to spend most of their budget to build tsunami evacuation (93) RT max (x) = max{RT s (x) | s ∈ S}.