Dynamic network flows have been studied for decades in the optimization and transportation literature, see the classical book of Ford and Fulkerson [7] or the more recent surveys of Skutella [22] and Peeta [17]. A fundamental model describing the dynamic flow propagation process is the so-called deterministic queue model, see Vickrey [24]. Here, a directed graph \(G=(V,E)\) is given, where edges \(e\in E\) are associated with a queue with positive rate capacity \(\nu _e\in {\mathbb {R}_{>0}}\) and a physical transit time \(\tau _e\in {\mathbb {R}_{>0}}\). If the total inflow into an edge \(e=vw\in E\) exceeds the rate capacity \(\nu _e\), a queue builds up and agents need to wait in the queue before they are forwarded along the edge. The total travel time along e is thus composed of the waiting time spent in the queue plus the physical transit time \(\tau _e\). A schematic illustration of the inflow and outflow mechanics of an edge e is given in Fig. 1.

Fig. 1
figure 1

An edge \(e=vw\) with a nonempty queue at time \(\theta \)

The fluid queue model has been mostly studied from a game-theoretic perspective, where it is assumed that agents act selfishly and travel along shortest routes under prevailing conditions. This behavioral model is known as dynamic equilibrium and has been analyzed in the transportation science literature for decades, see Friesz et al. [8], Meunier and Wagner [16] and Zhu and Marcotte [25]. In the past years, however, several new exciting developments have emerged: Koch and Skutella [14] elegantly characterized dynamic equilibria by their derivatives, which gives a template for their computation. Subsequently, Cominetti et al. [5] derived alternative characterizations and proved existence and uniqueness in terms of experienced travel times of equilibria even for multi-commodity networks. Very recently, Cominetti et al. [6] shed light on the behavior of steady state queues assuming single commodity networks and constant inflow rates. Sering and Vargas-Koch [21] analyzed the impact of spillbacks in the fluid queuing model and Bhaskar et al. [1] devised Stackelberg strategies in order to improve the efficiency of dynamic equilibria.

The concept ‘dynamic equilibrium’ assumes complete knowledge and simultaneous route choice by all travelers. Complete knowledge requires that a traveler is able to exactly forecast future travel times along the chosen path effectively anticipating the whole evolution of the flow propagation process across the network. This assumption has been justified by letting travelers learn good routes over several trips and a dynamic equilibrium then corresponds to an attractor of the underlying learning dynamic. While certainly relevant, this concept may not accurately reflect the behavioral changes caused by the wide-spread use of navigation devices. As also discussed in Marcotte et al. [15], Hamdouch et al. [11] and Unnikrishnan and Waller [23], drivers may not always learn good routes over several trips but are now informed in real-time about the current traffic situations and, if beneficial, reroute instantaneously no matter how good or bad that route was in hindsight. Also, the information available to a navigation device is usually not complete, that is, congestion information is available only as an aggregate (estimated waiting times for road traversal) but the individual routes and/or source and destinations of travelers are unknown—for good reason.Footnote 1

Fig. 2
figure 2

The evolution of an IDE flow over the time horizon [0, 3]

In this paper, we consider an adaptive route choice model, where at every node (intersection), travelers may alter their route depending on the current network conditions, that is, based on current travel times and queuing delays. The needed information is anonymous and indeed available by navigation devices. We assume that, if a traveler arrives at the end of an edge, she may change the current route and opt for a currently shorter one. This type of reasoning does neither rely on personalized information nor on the capability of unraveling the future flow propagation process. We term a dynamic flow an instantaneous dynamic equilibrium (IDE), if for every point in time and every edge with positive inflow (of some commodity), this edge lies on a currently shortest path towards the respective sink. In the following, we illustrate IDE in comparison to classical dynamic equilibrium with an example.

An example

Consider the network in Fig. 2 (left). There are two source nodes \(s_1\) and \(s_2\) with constant inflow rates \(u_1(\theta ) \equiv 3\) for times \(\theta \in [0,1)\) and \(u_2(\theta )\equiv 4\) for \(\theta \in [1,2)\). Commodity 1 (red) has two simple paths connecting \(s_1\) with the sink t. Since both have equal length (\(\sum _e \tau _e =3\)), in an IDE both can be used by commodity 1. In Fig. 2, the flow takes the direct edge to t with a rate of one, while edge \(s_1v\) is used at a rate of two. This is actually the only split possible in an IDE, since any other split (different in more than just a subset of measure zero of [0, 1)) would result in a queue forming on one of the two edges, which would make the respective path longer than the other one. At time \(\theta =1\), the inflow at \(s_1\) stops and a new inflow of commodity 2 (blue) at \(s_2\) starts. This new flow again has two possible paths to t, however, here the direct path (\(\sum _e \tau _e =1\)) is shorter than the alternative (\(\sum _e \tau _e =4\)). So all flow enters edge \(s_2t\) and starts to form a queue. At time \(\theta = 2\), the first flow particles of commodity 1 arrive at \(s_2\) with a rate of 2. Since the flow of commodity 2 has built up a queue of length 3 on edge \(s_2t\) by this time, the estimated travel times \(\sum _e (\tau _e + q_e(\theta ))\) are the same on both simple \(s_2\)-t paths. Thus, the red flow is split evenly between both possible paths. This results in the queue-length on edge \(s_2t\) remaining constant and therefore this split gives us an IDE flow for the interval [2, 3). At time \(\theta =3\), red particles will arrive at \(s_1\) again, thus, completing a full cycle (namely \(s_1,v,s_2,s_1\)). This example shows that IDE flows may involve a flow decomposition along cycles. In contrast, the (classical) dynamic equilibrium flow will just send more of the red flow along the direct path \(s_1,t\) since the future queue growth at edge \(s_2t\) of the alternative path is already anticipated.

Note, that cycles can appear even in the case of only a single commodity (and therefore a single source and sink) and a constant inflow rate over a single interval—see Example 2 in the online appendix for such an instance. This shows that the differences between the two equilibrium concepts are quite fundamental and occur even in very simple examples.

Related work

In the transportation science literature, the idea of an instantaneous user or dynamic equilibrium has already been proposed since the late 80’s, see Ran and Boyce [18, § VII-IX], Boyce et al. [2, 19], Friesz et al. [9]. These works develop an optimal control-theoretic formulation and characterize instantaneous user equilibria by Pontryagin’s optimality conditions. However, not much is known regarding IDE existence and their structural properties. In fact, the underlying equilibrium concept of Boyce et al. [2, 19] and Friesz et al. [9] is different from ours. While the verbally written concept of an IDE is similar to the one we use here, the mathematical definition of an IDE in [2, 9, 19] requires that instantaneous travel times are minimal only for used paths towards the sink. A path is used, if every arc of the path has positive flow. As, for instance, the authors in Boyce et al. [2, p.130] admit: “Specifically with our definition of a used route, it is possible that no route is ever ‘used’ because vehicles stop entering the route before vehicles arrive at the last link on the route. Thus, for some networks every flow can be in equilibrium.” Ran and Boyce [18, § VII, pp.148] present a link-based definition of IDE. They define node labels at nodes \(v\in V\) indicating the current shortest travel time from the source node to some intermediate node v and require that whenever edge vw has positive flow, edge vw must be contained in a shortest s-w path, where s is the flow’s source. This is different from our definition of an IDE, because we require that whenever there is positive inflow into an edge vw, it must be contained in a currently shortest v-t path, where t is the sink of the considered inflow.

Another important difference to our model is the assumed time horizon. The previous works [2, 9, 18, 19] all assume a finite time horizon on which the control problems are defined, thus, only describing the flow trajectories over the given time horizon. All numerical studies and simulation results appearing in these works further implicitly assume that for given finitely lasting bounded inflow rates, there exists a finite time horizon [0, T] with T large enough so that eventually all travelers reach their destination. Our results reveal that this is in fact not true: there are multi-commodity instances with finitely lasting bounded inflows that admit IDE flows cycling forever. For the discrete version of this model using the natural discrete version of our equilibrium concept, such a behavior was already discovered in Ismaili [12, Theorem 8], though his instance makes critical use of edges with zero transit time (which we do not allow) and the instantaneous travel time always increases when there is positive inflow into an edge, even when the edge inflow rate is smaller than the rate capacity. In particular, players may observe increased instantaneous travel time, although no player is in fact delayed. This is not possible in our model. Based on this flexibility, the generated instance is considerably simpler than ours but one can show that IDE flows in our sense do terminate in that instance.

Our results

In this paper we introduce the concept of an instantaneous dynamic equilibrium (IDE for short). We call a feasible flow over time an IDE, if at any point in time, every edge with positive inflow (of some commodity) lies on a currently shortest path towards the respective sink.

Our first main result (Theorem 3.4) shows that IDE exist for multi-source single-sink networks with piecewise constant inflow rates (generating the volume of agents originating at the sources). The existence proof relies on a constructive method extending any IDE flow up to time \(\theta \) to an IDE flow on a strictly larger interval \(\theta +\epsilon \) for some \(\epsilon >0\). The key insight for the extension procedure relies on solving a sequence of nonlinear programs, each associated with finding the right outflow split for given node inflows. We also show that such solutions can be found by a simple water filling procedure. With the extension property we can apply a limit argument on the real numbers implying the existence of IDE on the whole \(\mathbb {R}_{\ge 0}\).

Given that, unlike the classical dynamic equilibrium, IDE flows may involve cycling behavior (see the example in Fig. 2), we turn to the issue of whether it is possible that positive flow volume remains forever in the network (assuming finitely lasting bounded inflows). Our second main result (Theorem 4.6) shows that for multi-source single-sink networks, this is impossible: Even for arbitrary bounded and finitely lasting inflow rate functions, there always exists a finite time \(T>0\) at which the network is cleared, that is, all flow particles have reached their destination.

We then turn to general multi-commodity networks. For given piece-wise constant network inflow rates, we also can extend an IDE flow to a strictly larger time interval by determining the edge inflow rates and the derivatives of the current shortest path distances. This extension relies on a solution of a system of equations, which is guaranteed to exist by Kakutani’s fixed point theorem. The equations are inspired by those defining a “thin flows with resetting” for Nash flows over time that were introduced by Koch and Skutella [14] and refined by Cominetti et al. [4, 5]. Again, a limit argument proves the existence of IDE flows over the whole \(\mathbb {R}_{\ge 0}\) (Theorem 5.5). Furthermore, we give a brief idea, how these extensions can be obtained by a mixed integer formulation. We then extend this result to arbitrary locally-integrable network inflow rate functions by using a theorem about the existence of a solution to a variational inequality in infinite-dimensional function spaces (Theorem 5.6).

Finally, we show that for bounded and finitely lasting inflow rates, termination in finite time is not guaranteed anymore as soon as the network contains more than one sink (Theorem 6.1). We construct a quite complex instance where all IDE flows are caught in cycles and travel forever. This instance reveals that the assumption of a finite time horizon [0, T] made previously in the transportation literature cannot be made without loss of generality. We also show that the instance can be modified in such a way that only a single-source is needed.

The flow model

In the following, we describe a fluid queuing model as used before by Koch and Skutella [14] and Cominetti et al. [5] and introduce the notation we will use throughout this paper.

We consider a finite directed graphFootnote 2\(G=(V,E)\) with positive rate capacities \(\nu _e\in {\mathbb {R}_{>0}}\) and positive transit times \(\tau _e\in {\mathbb {R}_{>0}}\) for every \(e \in E\). Note, that we require all transit times to be strictly positive. We impose this restriction since—intuitively—our existence proofs all require that there is always some non-zero time between two decisions of a particle, see Remark 3.3 for a more detailed discussion. There is a finite set of commodities \(I=\{1,\ldots ,n\}\), each with a commodity-specific source node \(s_i \in V\) and a commodity-specific sink node \(t_i \in V\). We will always assume that there is at least one \(s_i\)-\(t_i\) path for each \(i \in I\). The (infinitesimally small) agents of every commodity \(i\in I\) enter the network according to an integrable network inflow rate function \(u_i:\mathbb {R}_{\ge 0}\rightarrow \mathbb {R}_{\ge 0}\).

A flow over time is a tuple \(f = (f^+,f^-)\), where \(f^+, f^-: \mathbb {R}_{\ge 0} \times E \times I \rightarrow \mathbb {R}_{\ge 0}\) are integrable functions modeling the edge inflow rate \(f^+_{i,e}(\theta )\) and edge outflow rate \(f^-_{i,e}(\theta )\) of commodity i of an edge \(e\in E\) at time \(\theta \ge 0\).

The queue length of edge e at time \(\theta \) is given by

$$\begin{aligned} q_e(\theta ) :=\sum _{i \in I}F^+_{i,e}(\theta ) - \sum _{i \in I}F_{i,e}^-(\theta +\tau _e)&\quad \text { for all } \theta \in \mathbb {R}_{\ge 0} , \end{aligned}$$


$$\begin{aligned} F_{i,e}^+(\theta ):=\int _{0}^{\theta } f_{i,e}^+(z)dz \quad \text { and } \quad F_{i,e}^-(\theta ):=\int _{0}^{\theta } f_{i,e}^-(z)dz \end{aligned}$$

denote the cumulative (edge) inflow and cumulative (edge) outflow. We implicitly assume \(f_{i,e}^-(\theta )=0\) for all \(\theta \in [0,\tau _e)\), which will ensure together with Constraint (4) (see below) that the queue lengths are always non-negative. Furthermore, we define the cumulative network inflow rate by \(U_i(\theta ):=\int _{0}^{\theta }u_i(z)dz\) and, for the sake of simplicity, we denote the aggregated flow over all commodities by \(f^+_e :=\sum _{i \in I}f^+_{i,e}\) and \(f^-_e :=\sum _{i \in I}f^-_{i,e}\), as well as, \(F^+_e :=\sum _{i \in I}F^+_{i,e}\) and \(F^-_e :=\sum _{i \in I}F^-_{i,e}\).

A feasible flow over time satisfies the following conditions (2), (3), (4), and (6). The flow conservation constraints are modeled for a commodity \(i \in I\) and all nodes \(v \ne t_i\) as

$$\begin{aligned} \sum _{e \in \delta ^+_v}f^+_{i,e}(\theta ) - \sum _{e \in \delta ^-_v}f^-_{i,e}(\theta ) = {\left\{ \begin{array}{ll} u_i(\theta ), &{}\text { if }v = s_i \\ 0, &{}\text { if }v \ne s_i \end{array}\right. }&\quad \text { for all } \theta \in \mathbb {R}_{\ge 0}, \end{aligned}$$

where \(\delta ^+_v := \{ vu \in E\}\) and \(\delta ^-_v := \{ uv \in E\}\) are the sets of outgoing edges from v and incoming edges into v, respectively. For the sink node \(t_i\) of commodity i we require

$$\begin{aligned} \sum _{e \in \delta ^+_{t_i}}f^+_{i,e}(\theta ) - \sum _{e \in \delta ^-_{t_i}}f^-_{i,e}(\theta ) \le 0&\quad \text { for all } \theta \in \mathbb {R}_{\ge 0}. \end{aligned}$$

We assume that the queue operates at capacity which can be modeled by

$$\begin{aligned} f_e^-(\theta + \tau _e) = {\left\{ \begin{array}{ll} \nu _e, &{} \text { if } q_e(\theta ) > 0 \\ \min \{ f^+_e(\theta ), \nu _e\}, &{} \text { else } \end{array}\right. }&\quad \text { for all } e \in E, \theta \in \mathbb {R}_{\ge 0}. \end{aligned}$$

Since \(q'_e(\theta )=\sum _{i \in I}f^+_{i,e}(\theta )-\sum _{i \in I}f^-_{i,e}(\theta +\tau _e)\), this condition is equivalent to the following equation describing the queue length dynamics (cf. [5, Section 2.2]):

$$\begin{aligned} q'_e(\theta )={\left\{ \begin{array}{ll} f^+_e(\theta )-\nu _e,&{} \text { if } q_e(\theta )>0\\ \max \{0, f^+_e(\theta )-\nu _e\},&{} \text { else } \end{array}\right. }\quad \text { for all } e \in E, \theta \in \mathbb {R}_{\ge 0}. \end{aligned}$$

Finally, we want the flow to follow a strict FIFO principle on the queues, which can be formalized by the following condition (see [20]):

$$\begin{aligned} f^-_{i, e} (\theta ) {=} {\left\{ \begin{array}{ll} f^-_e (\theta ) \cdot \frac{f^+_{i, e}(\vartheta )}{f^+_e(\vartheta )} &{} \text { if } f^+_e(\vartheta ) > 0,\\ 0 &{} \text { else,} \end{array}\right. } \end{aligned}$$

where \(\vartheta :=\min \{ \vartheta \le \theta | \vartheta +\tau _e+\frac{q_e(\vartheta )}{\nu _e}=\theta \}\) is the earliest point in time a particle can enter edge e in order to leave it at time \(\theta \). The quotient \(\frac{q_e(\theta )}{\nu _e}\) is hereby the current waiting time to be spent in the queue of edge e. In other words, Constraint (6) ensures that the share of commodity i of the aggregated outflow rate at some point in time \(\theta \) equals the share of commodity i of the aggregated inflow rate at the time the particles entered the edge.

Note however, that all results within this paper also hold if we relax the FIFO condition (6) to the following condition

$$\begin{aligned} F_{i,e}^-(\theta ) \le F_{i,e}^+(\theta -\tau _e) \text { for all } i \in I, e \in E, \theta \in \mathbb {R}_{\ge 0}. \end{aligned}$$

This condition allows for overtaking within a queue and only prevents flow from changing its commodity on an edge by requiring the total amount of flow of every commodity that has left an edge to not exceed the total amount of flow of this commodity that has reached the head of this edge up to that point in time.

We assume that, whenever an agent arrives at an intermediate node v at time \(\theta \), she is given the information about the current queue length \(q_e (\theta )\) and transit time \(\tau _e\) of all edges \(e\in E\), and, based on this information, she computes a shortest v-t path and enters the first edge on this path (breaking potential ties arbitrarily). We define the instantaneous travel time of an edge e at time \(\theta \) as \(c_e(\theta ) :=\tau _e + \frac{q_e(\theta )}{\nu _e}\). We can now define commodity-specific node labels \(\ell _{i,v}(\theta )\) corresponding to current shortest path distances from v to the sink \(t_i\). For \(i\in I, v\in V\) and \(\theta \in \mathbb {R}_{\ge 0}\), define

$$\begin{aligned} \ell _{i,v}(\theta ):={\left\{ \begin{array}{ll} 0, &{} \text { for } v=t_i\\ \min \limits _{e=vw\in E} \{\ell _{i,w}(\theta )+c_{e}(\theta )\}, &{} \text { else.}\end{array}\right. } \end{aligned}$$

We say that edge \(e=vw\) is active for \(i\in I\) at time \(\theta \), if \( \ell _{i,v}(\theta ) = \ell _{i,w}(\theta )+c_{e}(\theta )\) and we denote the set of active edges for commodity i by \(E_\theta ^i\subseteq E\). We call a v-\(t_i\) path P an active v-\(t_i\)path for commodity i at time \(\theta \), if all edges of P are active for i at \(\theta \) or, equivalently, \(\sum _{e \in P}c_e(\theta ) = \ell _{i,v}(\theta )\). For differentiation we call paths that are minimal with respect to the transit times \(\tau \)physical shortest paths.

Now we are ready to formally define an instantaneous dynamic equilibrium for multi-commodity flows over time:

Definition 2.1

A feasible flow over time f is an instantaneous dynamic equilibrium (IDE), if for all \(i\in I, \theta \in \mathbb {R}_{\ge 0}\) and \(e\in E\) it satisfies

$$\begin{aligned} f_{i,e}^+(\theta )>0 \Rightarrow e\in E_\theta ^i. \end{aligned}$$

In other words, a feasible flow over time f is an IDE, if, whenever flow of commodity i enters an edge \(e=vw\) at some point \(\theta \), this edge is contained in the set of active edges \(E_\theta ^i\), i.e., e lies on a currently shortest path from v to \(t_i\).

Note that, while the set of active edges \(E_{\theta }^i\) changes over time, the set of nodes, from which \(t_i\) is reachable via \(E_{\theta }^i\) (i.e. \(\{ v \in V | \ell _{i,v}(\theta )<\infty \}\)) does not. In particular, this means that, whenever flow of commodity i enters an active edge \(uv, v \ne t_i\), at least one of the edges in \(\delta _v^+\) will be active by the time the flow reaches v—although possibly different edges than those active when the flow left u.

Existence of IDE flows in single-sink networks

In this and the following chapter we only consider single-sink networks, i.e., networks where all commodities have one common sink node t. In this case all commodities have the same label function, which we will denote by \(\ell _v\). Since the origin of a particle in the network is not important for its route to the sink, we do not distinguish the commodities, and instead, only consider the aggregated flow functions \(f^+_e\) and \(f^-_e\). Furthermore, we restrict the network inflow functions \(u_i\) to be right-constant, where a function \(u: [a,b) \rightarrow \mathbb {R}\) is right-constant, if for every \(\theta \in [a,b)\) there exists an \(\varepsilon > 0\) such that u is constant on \([\theta ,\theta +\varepsilon )\). For this case, we will now describe an algorithm computing an IDE flow.

Let \(f=(f^+,f^-)\) denote a feasible flow over time. We denote by

$$\begin{aligned} b^-_v(\theta ):= \sum _{e\in \delta ^-_v}f^-_e(\theta ) + \sum _{i \in I: s_i=v} u_i(\theta ) \end{aligned}$$

the current inflow at node v at time \(\theta \). Moreover, let \(\delta _v^+(\theta ):=\delta ^+_v\cap E_\theta \) denote the set of outgoing edges of v that are active at time \(\theta \). The main idea of our algorithm works as follows. Starting from time \(\theta =0\) we compute inductively a sequence of intervals \([0,\theta _1),[\theta _1,\theta _2),\ldots \) with \(0<\theta _i<\theta _{i+1}\) and corresponding constant edge inflows \((f^+_e(\theta ))_e\) for \(\theta \in [\theta _i,\theta _{i+1})\) that form together with the corresponding edge outflows \((f^-_e(\theta ))_e\) an IDE. Suppose we are given an IDE flow up to time \(\theta _k\), that is, a tuple \((f^+,f^-)\) of right-constant functions \(f_e^+:[0,\theta _k)\rightarrow \mathbb {R}_{\ge 0}\) and \(f_e^-:[0,\theta _k+\tau _e)\rightarrow \mathbb {R}_{\ge 0}\) satisfying Constraints (2) to (4) and (9). Note that this is enough information to compute \(F^+_e(\theta _k)\) and \(F^-_e(\theta _k +\tau _e)\), and thus also \(q_e(\theta _k), c_e(\theta _k)\) and \(\ell _v(\theta _k)\) for all \(e \in E\) and \(v \in V\). We now describe how to extend this feasible flow over time to the interval \([\theta _k,\theta _k+\varepsilon )\) for some \(\varepsilon >0\). The idea is that whenever there is positive inflow \(b_v^-(\theta _k)>0\) into some node \(v\in V\), we assign this inflow to outgoing edges that are currently active. Since the node labels at the heads of these edges depend themselves on queue dynamics at other nodes along a currently shortest path towards t, we need to handle time-varying labels \(\ell _w(\theta )\) when distributing the flow among the edges in \(\delta _v^+(\theta )\). In the following, we describe how to define the flow-split in order to maintain the invariant that flow is only assigned to edges that are active for at least some interval even if adjacent labels vary linearly over time.

Assume that \(b_v^-(\theta )\) is constant for \(\theta \in [\theta _k,\theta _k+\varepsilon )\) for a node \(v\in V\) and some \(\varepsilon >0\). Moreover, let \(\delta _v^+(\theta _k)=\{vw_1,vw_2,\ldots ,vw_{p_k}\}\) for some \(p_k \ge 1\) and \([p_k]:=\{1,\ldots ,p_k\}\). Thus, we have

$$\begin{aligned} \ell _v(\theta _k)=c_{vw_i}(\theta _k)+\ell _{w_i}(\theta _k) \quad \text { for all }i\in [p_k]. \end{aligned}$$

Suppose that the labels of nodes \(w_i\) change linearly after \(\theta _k\), that is, there are constants \(a_{w_i}\in \mathbb {R}\) for \(i\in [p_k]\) with

$$\begin{aligned} \ell _{w_i}(\theta )=\ell _{w_i}(\theta _k)+a_{w_i}(\theta - \theta _k) \quad \text { for all }\theta \in [\theta _k,\theta _k+\varepsilon ). \end{aligned}$$

Our goal is to find constant edge inflow rates \(f^+_{vw_i}(\theta )\) during \([\theta _k,\theta _k+\varepsilon )\) satisfying the supply \(b_v^-(\theta )\) and, for some \(\varepsilon ' > 0\), fulfilling the following invariant for all \(i\in [p_k]\) and \(\theta \in [\theta _k,\theta _k+\varepsilon ')\):

$$\begin{aligned} f^+_{vw_i}(\theta )&>0\quad \Rightarrow \quad \ell _v(\theta )=c_{vw_i}(\theta )+\ell _{w_i}(\theta ), \end{aligned}$$
$$\begin{aligned} f^+_{vw_i}(\theta )&=0\quad \Rightarrow \quad \ell _v(\theta )\le c_{vw_i}(\theta )+\ell _{w_i}(\theta ). \end{aligned}$$

Note that a constant inflow rate \(f^+_{vw_i}\) implies by (5) that the queue length \(q_{vw_i}\) is piecewise linear. Hence, the instantaneous travel time \(c_{vw_i}\) is also piecewise linear on \([\theta _k,\theta _k+\varepsilon ')\) for some \(\varepsilon ' > 0\), with derivative \(c'_{vw_i}(\theta ) = \frac{q' _{vw_i}(\theta )}{\nu _{vw_i}}.\) Since all edges \(vw_i\) are active at time \(\theta _k\), we have \(\ell _v(\theta _k) = c_{vw_i}(\theta _k) + \ell _{w_i}(\theta _k)\) and, thus, a flow with constant inflow rates satisfies (12) and (13) for all \(\theta \in [\theta _k,\theta _k+\varepsilon ')\), if

$$\begin{aligned} f^+_{vw_i}(\theta _k)&>0\quad \Rightarrow \quad \ell '_v(\theta _k)=c'_{vw_i}(\theta _k)+\ell '_{w_i}(\theta _k) \end{aligned}$$
$$\begin{aligned} f^+_{vw_i}(\theta _k)&=0\quad \Rightarrow \quad \ell '_v(\theta _k)\le c'_{vw_i}(\theta _k)+\ell '_{w_i}(\theta _k). \end{aligned}$$

This condition ensures that whenever an edge \(vw_i\) has positive inflow, the remaining distance towards t grows from \(\theta _k\) onwards at the lowest speed.

For a given value \(b_v^-(\theta _k)\) and given vector \((a_{w_i})_{i \in [p_k]}\) we consider the following optimization problem in variables \(x_{vw_i}\) for \(i\in [p_k]\) in order to obtain inflow rates that satisfy the conditions (14) and (15).

figure a
$$\begin{aligned} \text {s.t.}\quad&\sum _{i=1}^{p_k} x_{vw_i}=b_v^-(\theta _k)\nonumber \\&x_{vw_i}\ge 0 \text { for all } i\in [p_k]. \end{aligned}$$

Each function \(g_{vw_i}\) maps an edge inflow rate z to the change of the queue size if a constant flow with rate z would enter the edge \(vw_i\), i.e.,

$$\begin{aligned} g_{vw_i}(z):={\left\{ \begin{array}{ll}z-\nu _{vw_i}&{} \text { if } q_{vw_i}(\theta _k)>0,\\ \max \{ z-\nu _{vw_i},0\}&{} \text { if } q_{vw_i}(\theta _k)=0.\end{array}\right. } \end{aligned}$$

Hence, \(g_{vw_i}(f_{vw_i}^+(\theta _k))\) is the derivative of \(q_{vw_i}\) at \(\theta _k\) (cf. Eq. (5)).

Lemma 3.1

There exists an optimal solution \((x_{vw_i})_{i\in [p_k]}\) to (OPT-\(b_v^-(\theta _k)\)) and for every optimal solution \(f^+_{vw_i}(\theta _k):=x_{vw_i}\) satisfies (14) and (15) for all \(i\in [p_k]\).


The objective function is continuous and the feasible region is non-empty and compact. Hence, by the theorem of Weierstraß at least one optimal solution exists. Moreover, the objective is differentiable over the feasible domain, thus, first order optimality conditions hold. Assigning a multiplier \(\lambda \in \mathbb {R}\) to (16) and taking partial derivatives of the Lagrangian over the positive orthant, we obtain

$$\begin{aligned} x_{vw_i}&>0\quad \Rightarrow \quad \frac{g _{vw_i}(x_{vw_i})}{\nu _{vw_i}}+a_{w_i} +\lambda = 0 \end{aligned}$$
$$\begin{aligned} x_{vw_i}&=0\quad \Rightarrow \quad \frac{g _{vw_i}(x_{vw_i})}{\nu _{vw_i}}+a_{w_i} +\lambda \ge 0. \end{aligned}$$

These conditions imply (14) and (15) with \(\ell '_v(\theta _k) := -\lambda \). \(\square \)

Lemma 3.2

Let \(f=(f^+,f^-)\) be an IDE flow up to time \(\theta _k\ge 0\) and suppose there are constant inflow rate functions \(b_v^-:[\theta _k,\theta _k+\varepsilon )\rightarrow \mathbb {R}_{\ge 0}\) for some \(\varepsilon >0\) and all nodes \(v\in V\) (in particular, this means \(\varepsilon \le \min \{ \tau _e | e \in E\}\)). Then, there exists some \(\varepsilon ' > 0\) such that f can be extended to an IDE flow up to time \(\theta _k+\varepsilon '\) with all functions \(f^+_e\) constant on the interval \([\theta _k,\theta _k+\varepsilon ')\) and all functions \(f^-_e\) right-constant on the intervals \([\theta _k+\tau _e,\theta _k+\tau _e+\varepsilon ')\).


First, it is possible to determine the queue lengths at time \(\theta _k\) using Constraint (1) and from those the labels \(\ell _v(\theta _k)\) can be obtained. Applying Lemma 3.1 on the nodes in order of increasing \(\ell _v(\theta _k)\) values, we obtain the outflow rates and, therefore, the slope \(a_v\) of label \(\ell _v\) for some interval right after \(\theta _k\). More precisely, we start with t (since \(\ell _t(\theta _k)=0\)) for which we can define \(f^+_e(\theta )=f^-_e(\theta +\tau _e)=0\) for all outgoing edges \(e \in \delta ^+_t\) and all times \(\theta \in [\theta _k,\theta _k+\varepsilon ')\), where \(\varepsilon ' :=\varepsilon \). Now we take some node v such that there exists an \(\varepsilon ' > 0\) and for all nodes w with strictly smaller label at time \(\theta _k\) and all edges \(e \in \delta ^+_w\), we have already defined \(f^+_e\) on some interval \([\theta _k,\theta _k+\varepsilon ')\) and \(f^-_e\) on some interval \([\theta _k+\tau _e,\theta _k+\tau _e+\varepsilon ')\) in such a way that on the interval \([\theta _k,\theta _k+\varepsilon ')\)

  1. 1.

    the labels \(\ell _w(\theta )\) change linearly with slope \(a_w\),

  2. 2.

    no additional edges are added to the sets \(\delta ^+_w(\theta )\) of active edges leaving w,

  3. 3.

    the functions \(f^+_e\) and \(f^-_e\) for \(e\in \delta ^+_w\) are constant and right-constant, respectively, and

  4. 4.

    the functions \(f^+_e\) and \(f^-_e\) for \(e\in \delta ^+_w\) satisfy Constraints (2), (4) and (9).

Let \(\delta _v^+(\theta _k):=\{vw_1,vw_2,\ldots ,vw_{p_k}\}\) be the set of active edges at v at time \(\theta _k\). Then, at time \(\theta _k\), each \(w_i\) must have a strictly smaller label than v. Hence, they satisfy Properties (1)–(4). We can now apply Lemma 3.1 to determine the flows \(f^+_{vw_i}(\theta _k)\). Additionally, we set \(f^+_e(\theta _k)=0\) for all non-active edges leaving v. Assuming that this flow remains constant on the whole interval \([\theta _k,\theta _k+\varepsilon ')\), we can determine the first time \({\hat{\theta }} \ge \theta _k\), where an additional edge \(vw \in \delta _v^+\) or \(wv \in \delta _w^+\) with \(w \in V\) a node with already defined label \(\ell _w\) for the coming time interval becomes newly active. This can only happen after some positive amount of time has passed, i.e., for some \({\hat{\theta }} > \theta _k\), because

  • at time \(\theta _k\) the edge was non-active, and therefore \(\ell _v(\theta _k) > c_{vw}(\theta _k) + \ell _w(\theta _k)\) or \(\ell _w(\theta _k) > c_{wv}(\theta _k) + \ell _v(\theta _k)\), respectively,

  • all labels change linearly (and thus continuously) and

  • \(c_{vw}\) or \(c_{wv}\) is changing piecewise linearly, since the length of its queue does so as well (as both \(f^+_{vw}\) and \(f^-_{wv}\) are piecewise constant).

If the difference \({\hat{\theta }}-\theta _k\) is smaller than the current \(\varepsilon '\), we take it as our new \(\varepsilon '\), otherwise we keep it as it is. In both cases, we extend \(f^+_e\) onto the interval \([\theta _k,\theta _k+\varepsilon ')\) for all \(e \in \delta _v^+\) by setting \(f^+_e(\theta ) = f^+_e(\theta _k)\) for all \(\theta \in [\theta _k,\theta _k+\varepsilon ')\). This guarantees that the label of v changes linearly on this interval, no additional edges become active and the functions \(f^+_e\) are constant. Also, \(f^+_e\) satisfies Constraints (2) and (9) by definition. Finally, we define \(f^-_e\) as follows:

$$\begin{aligned} f^-_e(\theta +\tau _e) := {\left\{ \begin{array}{ll} \nu _e, &{} \quad \text {if } q_e(\theta _k) + (\theta -\theta _k)(f^+_e(\theta _k)-\nu _e) > 0, \\ f^+_e(\theta ), &{} \quad \text {else.} \end{array}\right. }\end{aligned}$$

Then, \(f^-_e\) is right-constant and together with \(f^+_e\) satisfies satisfies Constraint (4). In summary, using this procedure we can extend f node by node to an IDE flow up to \(\theta _k+\varepsilon '\) for some \(\varepsilon ' > 0\). \(\square \)

Remark 3.3

The above lemma is the key for the following existence result of IDE flows. For the extension property, we used that travel times are strictly positive, because otherwise, for a given IDE flow up to time \(\theta _k\), the edge outflow rates are not well-defined for any proper interval after \(\theta _k\) assuming zero travel times. Existence of IDE flows is not ruled out for \(\tau _e \in \mathbb {R}_{\ge 0}\), but this would require the use of a more intricate way of describing the extensions or a completely different approach.

Theorem 3.4

For any multi-source single-sink network with right-constant network inflow rate functions, there exists an IDE flow f with right-constant functions \(f^+_e\) and \(f^-_e, e\in E\).


Let \({\mathfrak {F}}_0\) be the set of tuples \((f,\theta )\), with \(\theta \in \mathbb {R}_{\ge 0}\cup \{ \infty \}\) and f an IDE flow up to time \(\theta \) with right-constant functions \(f^+_e\) and \(f^-_e\). Define \({{\hat{\theta }}}_0 := \sup \{ \theta | \exists f \text { s.t. } (f, \theta ) \in {\mathfrak {F}}_0\}\). If \({{\hat{\theta }}}_0 = \infty \) we are done, so suppose \({{\hat{\theta }}}_0 < \infty \). There exists an IDE flow \(f_1\) with \(\theta _1 := {{\hat{\theta }}}_0/2\) such that \((f_1,\theta _1) \in {\mathfrak {F}}_0\). Now we define

$$\begin{aligned} {\mathfrak {F}}_1 := \{ (f, \theta ) \in {\mathfrak {F}}_0 | f\big |_{[0,\theta _1)} = f_1\}. \end{aligned}$$

This set is not empty so we set \({{\hat{\theta }}}_1 := \sup \{ \theta | \exists f \text { s.t. } (f, \theta ) \in {\mathfrak {F}}_1\}\). By Lemma 3.2 we know that \({{\hat{\theta }}}_1 > \theta _1\), and therefore \({{\hat{\theta }}}_1 \in (\theta _1, {{\hat{\theta }}}_0]\). Let \(\theta _2 := ({{\hat{\theta }}}_1 - \theta _1)/2\). Going on we get a strict monotone increasing sequence \((\theta _i)_{i \in \mathbb {N}}\) and a non-increasing sequence \(({{\hat{\theta }}}_i)_{i \in \mathbb {N}}\) with \(\theta _i < {{\hat{\theta }}}_i\) for all \(i \in \mathbb {N}\) and \({{\hat{\theta }}}_i - \theta _i \le {{\hat{\theta }}}_0/2^i \rightarrow 0\) for \(i \rightarrow \infty \). Let \(\theta ^*\) be the limit of these two sequences. By taking pointwise limits of the sequence \((f_i)_{i \in \mathbb {N}}\) we can construct a flow \(f^*\) such that \((f^*,\theta ^*) \in {\mathfrak {F}}_0\). By Lemma 3.2 we can extend \(f^*\) by some \(\varepsilon \) but this is a contradiction to the definition of \({{\hat{\theta }}}_i\) for all i with \({{\hat{\theta }}}_i \in [\theta ^*, \theta ^* + \varepsilon )\). Hence, \({{\hat{\theta }}}_0 = \infty \), which finishes the proof. \(\square \)

Remark 3.5

While there always exists an IDE flow, this flow does not have to be unique. In fact, neither the flow f itself nor the label functions \(\ell _v\) and the time of termination need to be unique. This is in contrast to dynamic equilibria, where at least the label functions are uniquely determined (see Cominetti et al. [5, Theorem 6]). An example for non-uniqueness is illustrated by the instance in Fig. 3.

Fig. 3
figure 3

An example of a graph with infinitely many distinct flows in IDE (all with different label functions and termination times). Two such flows are: all flow uses the above path or all flow uses the bottom path. Since the first edge on both paths has rate capacity 2, no queues will form on those edges. So both edges will lie on a shortest path as long as the flow has not arrived at node w

Remark 3.6

The task to find suitable inflow rates \(x_e\) at a given time \(\theta _k\) can also be formulated globally as follows: Find two vectors \((x_e)_{e \in E_{\theta _k}}, (a_v)_{v \in V}\) such that:


$$\begin{aligned} g_e(x_e) :={\left\{ \begin{array}{ll} x_e- \nu _e &{} \text { if } q_e(\theta _k) > 0\\ \max \{ x_e- \nu _e, 0\} &{} \text { if } q_e(\theta _k) = 0. \end{array}\right. } \end{aligned}$$

This formulation is very similar to the thin flow with resetting formulation of dynamic equilibria (see [5, 14]) and in the same way the existence of a solution can be shown via Kakutani’s fixed point theorem. We will extend this formulation to a multi-commodity version in order to show the existence of IDE flows in a multiple sink setting in Sect. 5.

We have proven now that an IDE flow always exists, but in order to actually compute an IDE flow we need to make Lemma 3.1 constructive, i.e. provide an algorithm to find an optimal solution to (OPT-\(b_v^-(\theta _k)\)) or, equivalently, a distribution of the inflow \(b^-_v(\theta _k)\) satisfying Constraints (14) and (15). Since (OPT-\(b_v^-(\theta _k)\)) is a convex program there are various methods available—but thanks to the particular nice structure of (OPT-\(b_v^-(\theta _k)\)) even a simple water filling procedure suffices. We provide further details as well as an example for computing an IDE flow in the online appendix.

Termination of IDE flows in single-sink networks

In this section, we investigate the question, whether an IDE flow vanishes within finite time given finitely lasting network inflow rates. More precisely, given a time \(\theta _0\), such that \({{\,\mathrm{supp}\,}}(u_i) \subseteq [0, \theta _0]\) for every \(i \in I\), we ask whether there exists a time \({\hat{\theta }} \ge \theta _0\), such that all injected flow actually reaches the sink within time \({\hat{\theta }}\). To answer this question, we first need to introduce some additional notation. For every edge \(e \in E\), we define a function \( F^{\varDelta }_{e} \) denoting the total amount of flow currently on edge e (either waiting in its queue or traveling along the edge) for any time \(\theta \). As in [21], we call these the edge load functions:

$$\begin{aligned} F^{\varDelta }_{e} : \mathbb {R}_{\ge 0} \rightarrow \mathbb {R}_{\ge 0}, \quad \theta \mapsto F^+_e(\theta )-F^-_e(\theta ). \end{aligned}$$

The function \( F^{\varDelta } (\theta ) := \sum _{e \in E} F^{\varDelta }_{e} (\theta )\) specifies the total amount of flow in the network at time \(\theta \). Furthermore, we define a function Z indicating the amount of flow that already reached the sink t by time \(\theta \):

Note that for IDE flows the subtrahend is always 0 since edges leaving t are never active.

For every subset \(W \subseteq V\) and any time \(\theta \) a direct computation shows that we have


with \(\delta ^+_W := \{ wv \in E | w \in W, v\notin W\}\) and \(\delta ^-_W := \{ vw \in E | v \notin W, w\in W\}\). In particular taking \(W = V\) we get

$$\begin{aligned} F^{\varDelta } (\theta ) = \sum \nolimits _{i \in I} U_i(\theta ) - Z(\theta ). \end{aligned}$$

Since \(Z'(\theta ) = \sum _{e \in \delta ^-_t}f^-_e(\theta ) - \sum _{e \in \delta ^+_t}f^+_e(\theta )\) is always non-negative by Constraint (3), it follows immediately that the total amount of flow in the network is non-increasing after time \(\theta _0\). More generally, since all \(F_e^+\) are non-decreasing, for all \(W \subseteq V\) with \(\delta ^-_W = \emptyset \) we have

$$\begin{aligned} \sum _{e \in E(W)} F^{\varDelta }_{e} (\theta _2) \le \sum _{e \in E(W)} F^{\varDelta }_{e} (\theta _1) \quad \text { for all } \theta _2 \ge \theta _1 \ge \theta _0. \end{aligned}$$

In particular, for \({\hat{\theta }} \ge \theta _0\) with \( F^{\varDelta } ({\hat{\theta }}) = 0\), we have \( F^{\varDelta } ({\hat{\theta }}) = 0\) for all \(\theta \ge {\hat{\theta }}\).

Definition 4.1

We say a feasible flow f terminates, if there exists a time \({\hat{\theta }} \ge \theta _0\) with \( F^{\varDelta } ({\hat{\theta }})=0\), i.e., the network is empty at time \({{\hat{\theta }}}\) (and remains empty for all later times).

Before we turn to the main termination result, we need several technical lemmas. Since all of their statements are quite intuitive, we will skip their proofs here and refer the interested reader to the online appendix for the full details. The first lemma shows that all flow on an edge eventually leaves the edge (ignoring the identities of the flow particles).

Lemma 4.2

Let f be a feasible flow over time, \(\theta _1 \in \mathbb {R}_{\ge 0}\), \(e \in E\) and any \(\lambda \in [0, F^{\varDelta }_{e} (\theta _1)]\). Then there exists a time \(\theta _2 \ge \theta _1\) such that a flow volume of at least \(\lambda \) leaves e during the interval \([\theta _1, \theta _2]\), i.e., \(F^-_e(\theta _2) - F^-_e(\theta _1) \ge \lambda \).

Using this, one can show that for acyclic networks every feasible flow over time terminates. This result will serve as a building block for the more general result that in a single-sink network all IDE flows terminate.

Lemma 4.3

Let G be an acyclic graph and assume finitely lasting bounded inflow functions. Then, every feasible flow over time terminates.

As the next step one shows that if the sum of all edge loads between a node v and the sink t are small enough (and, thus, in particular all queues on edges between v and t are small), then an IDE flow can not be diverted away from the physically shortest paths towards t. Since those physically shortest paths form a time independent acyclic subgraph, we are then able to apply Lemma 4.3 to the flow inside this subgraph. In order to formalize this in the next lemma, we need the minimal non-zero difference between two path lengths \(\tau _\Delta :=\min \{ \tau (P)-\tau (P')>0 | u \in V, P,P' \text { two }u\text {-}t\text { paths}\}\) and the minimal rate capacity \(\nu _{\min } :=\min \{ \nu _e | e \in E\}\).

Lemma 4.4

If, for some node \(v \in V\) and some time \(\theta \in \mathbb {R}_{\ge 0}\), every physical shortest v-t path (i.e., w.r.t. \(\tau \)) has total flow volume of less than \(\tau _\Delta \cdot \nu _{\min }\), then all active v-t paths at time \(\theta \) are also physical shortest v-t paths, i.e., if \(\sum _{e \in P} F^{\varDelta }_{e} (\theta ) < \tau _\Delta \cdot \nu _{\min }\) for all physical shortest v-t paths P, then the following holds:

$$\begin{aligned} P' \text { is an active } v\text {-}t \text { path at time } \theta \implies P' \text { is a physical shortest } v\text {-}t \text { path}. \end{aligned}$$

Corollary 4.5

Let f be an IDE flow with \( F^{\varDelta } ({\hat{\theta }}) < \tau _\Delta \cdot \nu _{\min }\) for some \({\hat{\theta }} \ge \theta _0\). Then, f terminates.

With the help of these results we can now prove the main result of this section.

Theorem 4.6

For multi-source single-sink networks, any IDE flow f with finitely lasting bounded network inflow rates \(u_i\) terminates.


Let \(W \subseteq V\) be a subset of nodes with the following properties:

  1. 1.

    For every \(w \in W\), all physical shortest w-t paths only use edges in E(W).

  2. 2.

    There is a \(\theta _W\) such that for all \(\theta \ge \theta _W\) and \(e \in E(W)\), we have \( F^{\varDelta }_{e} (\theta ) < \frac{\tau _\Delta \cdot \nu _{\min }}{\left| E\right| }\).

We show that for every such \(W \ne V\), there exists a node \(v \in V{\setminus } W\) such that \(W \cup \{ v\}\) also has the two properties. Since \(W = \{ t\}\) satisfies the two properties this shows that \(W = V\) exhibits those as well and, in particular, there exists some time \(\theta _V\) with \( F^{\varDelta }_{e} (\theta _V) < \frac{\tau _\Delta \cdot \nu _{\min }}{\left| E\right| }\) for all edges \(e \in E\), and therefore \(\sum _{e \in E} F^{\varDelta }_{e} (\theta _V) < \tau _\Delta \cdot \nu _{\min }\). Hence, by Corollary 4.5, f terminates.

Let \(W \subsetneq V\) be a set of nodes fulfilling both properties and \(v \in V{\setminus } W\) be the node with the shortest distance to t with respect to \(\tau \) of all nodes in \(V {\setminus } W\). Then, all physically shortest v-t paths only use edges from \(E(W \cup \{ v\})\), so the first property holds for \(W \cup \{ v\}\). Since the second property holds for W we know that for all \(\theta \ge \theta _W\), we have

$$\begin{aligned} \sum _{e \in E(W)}q_e(\theta ) \le \sum _{e \in E(W)} F^{\varDelta }_{e} (\theta ) < \frac{\left| E(W)\right| \cdot \tau _\Delta \cdot \nu _{\min }}{\left| E\right| } \le \tau _\Delta \cdot \nu _{\min }. \end{aligned}$$

Lemma 4.4 implies that for every node \(w \in W\), all active edges leaving w have to be in E(W), i.e., \(\delta ^+_w \cap E_\theta \subseteq E(W)\). Since f is an IDE flow this implies \(f^+_e(\theta ) = 0\) for all \(e \in \delta ^+_W\), and thus \(F^+_e(\theta ) = F^+_e(\theta _W)\) for all those edges. We now assume by contradiction that the second property does not hold for \(W \cup \{ v\}\), so there is an edge \(e \in \delta ^+_v \cap \delta ^-_W\) and a sequence of times \(\theta _1< \theta _2 < \cdots \) with \( F^{\varDelta }_{e} (\theta _k) \ge \frac{\tau _\Delta \cdot \nu _{\min }}{\left| E\right| }\) for all \(k \in \mathbb {N}\) and \(\theta _k \rightarrow \infty \) for \(k \rightarrow \infty \). From Lemma 4.2, we get times \(\theta _k' \ge \theta _k\) with \(F^-_e(\theta _k') - F^-_e(\theta _k) \ge F^{\varDelta }_{e} (\theta _k) \ge \frac{\tau _\Delta \cdot \nu _{\min }}{\left| E\right| }\). By possibly taking a subsequence, we can assume \(\theta _{k-1}' \le \theta _{k}\) for all k, and thus,

$$\begin{aligned} F^-_e(\theta _k') \ge F^{\varDelta }_{e} (\theta _k) + F^-_e(\theta _k)&\ge F^{\varDelta }_{e} (\theta _k) + F^-_e(\theta '_{k-1}) \ge \cdots \\&\ge \sum _{j=1}^{k} F^{\varDelta }_{e} (\theta _j) \ge k\cdot \frac{\tau _\Delta \cdot \nu _{\min }}{\left| E\right| }. \end{aligned}$$

Hence \(F^-_e(\theta _k)\) tends to infinity as k grows larger. On the other hand (20) states that

which in turn is bounded from above as all positive summands are bounded as well:

  • \(\sum _{e' \in E(W)} F^{\varDelta }_{e'} (\theta _k) \le \frac{\left| E(W)\right| }{\left| E\right| }\) since \(\theta _k \ge {\hat{\theta }}\) and W has the second property.

  • \(\sum _{e' \in \delta ^+_W}F_{e'}^+(\theta _k) = \sum _{e' \in \delta ^+_W}F_{e'}^+({\hat{\theta }})\) as shown above.

  • \(Z(\theta _k) \overset{{21}}{\le } \sum _{i \in I}U_i(\theta _k) = \sum _{i \in I} U_i(\theta _0) < \infty \).

This is a contradiction. So the second property must also hold for \(W \cup \{ v\}\), which concludes the proof. \(\square \)

Existence of IDE flows in multi-sink networks

We now turn to the general model with multiple sinks. In this section, we will present a proof for the existence of IDE flows in such networks. It is similar to the proof for single-sink networks in Sect. 3 using the concept of thin flows, and thus, it is constructive in the same sense. We also develop a second proof using an infinite dimensional variational inequality. While not constructive, it allows for much more general network inflow rate functions \(u_i\) (and interestingly, avoids the need for a limit argument to extend the flow for all times altogether). The formal result appears at the end of this section but details for this second approach are given in the online appendix.

Right-constant network inflow rates

First, we want to show that IDE flows exist in networks with multiple sinks, still under the assumption that the network inflow rates \(u_i\) are right-constant. As before, we show that for a given IDE flow up to some point in time \(\theta _k\) it is possible to extend it by some \(\varepsilon > 0\). In contrast to the case of a single sink, we need to determine all inflow rates \(f_{i,e}^+\) and the slopes \(a_{i, k}\) of the current shortest path distances at the same time.

First of all, we denote the current inflow at a node v for commodity i by

$$\begin{aligned} b_{i, v}^-(\theta _k) :=\sum \nolimits _{e \in \delta _v^-} f_{i, e}^-(\theta _k) + \mathbb {1}_{v = s_i} \cdot u_i(\theta _k), \end{aligned}$$

where \(\mathbb {1}_{v = s_i}=1\) if \(v=s_i\) and \(\mathbb {1}_{v = s_i}=0\) otherwise. With this we can extend the idea of IDE thin flows (inspired by the thin flows with resetting for dynamic equilibria; see [5, 14]) introduced in Remark 3.6 to the multi-commodity setting.

Definition 5.1

(IDE thin flows) For a given IDE flow up to time \(\theta _k\) we call a pair of vectors \((x, a) \in \mathbb {R}_{\ge 0}^{I \times E} \times \mathbb {R}^{I \times V}\) an IDE thin flow if it satisfies:

figure b


$$\begin{aligned} g_e(x_e) :={\left\{ \begin{array}{ll} x_e- \nu _e &{} \text { if } q_e(\theta _k) > 0,\\ \max \{ x_e- \nu _e, 0\} &{} \text { if } q_e(\theta _k) = 0. \end{array}\right. } \end{aligned}$$

As a first step, we show that such an IDE thin flow always exists for every reasonable network (i.e., every node v with \(b^-_{i, v}(\theta _k) > 0\) can reach \(t_i\) within \(E^i_{\theta _k}\)) and all current inflow vectors \(b^-(\theta _k)\). We do this by utilizing the following fixed point theorem by Kakutani [13]:

Theorem 5.2

(Kakutani’s Fixed Point Theorem) Let K be a compact, convex and non-empty subset of \(\mathbb {R}^n\), \(n \in \mathbb {N}\), and \(\varGamma :K \rightarrow 2^K\), such that for every \(x \in K\) the image \(\varGamma (x)\) is non-empty and convex and the set \(\{ (x, y) | x \in K, y \in \varGamma (x)\}\) is closed. Then there exists a fixed point \(x^*\) of \(\varGamma \), i.e., \(x^* \in \varGamma (x^*)\).

With this theorem we can prove the following lemma:

Lemma 5.3

For all possible queues \(q(\theta _k) \in \mathbb {R}_{\ge 0}^E\), acyclic edge sets \(E^i_{\theta _k} \subseteq E\) and all current inflow rates \(b^-(\theta _k) \in \mathbb {R}_{\ge 0}^{I \times V}\), such that every node v with \(b^-_{i, v}(\theta _k) > 0\) can reach \(t_i\) within \(E^i_{\theta _k}\), there exists an IDE thin flow (xa).


For every vector \(x \in \mathbb {R}_{\ge 0}^{I \times E}\) satisfying (TF1) and (TF2) there exist uniquely defined node labels \(a \in \mathbb {R}_{\ge 0}^{I \times V}\) that fulfil (TF3) and (TF4). Existence follows since \(E^i_{\theta _k}\) is acyclic and the uniqueness follows from the fact that for every v there is a v-\(t_i\)-path within \(E^i_{\theta _k}\). This mapping \(x \mapsto a\) is continuous. So the only difficult part is to satisfy (TF5).

Let K be the set of vectors x satisfying (TF1) and (TF2), i.e.,

$$\begin{aligned} K :=\left\{ x \in \mathbb {R}_{\ge 0}^{I \times E}\bigg | \begin{array}{ll} \sum \nolimits _{e \in \delta _v^+} x_{i, e} = b^-_{i, v}(\theta _k) &{}\text {for all } i \in I \text { and } v \in V {\setminus } \{ t_i\}\\ \;\;\; \text { and } x_{i, e} = 0 &{}\text {for all } i \in I \text { and } e \in E {\setminus } E^i_{\theta _k} \end{array}\right\} . \end{aligned}$$

Clearly, K is compact, convex and non-empty.

We define a set-valued function \(\varGamma : K \rightarrow 2^K\) as follows:

$$\begin{aligned} \varGamma (x) = \left\{ y \in K: y_{i, e} = 0 \text { for all } e \in E^i_{\theta _k} \text { with } a_{i, v} < \frac{g_e\left( \sum _{j \in I} x_{j, e}\right) }{\nu _e} + a_{i, w}\right\} \end{aligned}$$

where a are the labels corresponding to x. Then \(\varGamma (x)\) is non-empty and convex. For non-emptiness note that every node v with \(b^-_{i, v} > 0\), except \(t_i\), has at least one outgoing edge with \(a_{i, v} = \nicefrac {g_e\big (\sum _{j \in I} x_{j, e}\big )}{\nu _e} + a_{i, w}\), so y can send everything into this edge. Convexity is clear as well since x determines which edges can be used and which not and these are fixed within \(\varGamma (x)\).

Finally, we show that \(\{ (x, y)| x \in K, y \in \varGamma (x)\}\) is a closed set. Therefore, let \((x^n, y^n)_{n \in \mathbb {N}}\) be a sequence in this set that converges in \(\mathbb {R}^{I \times E}\times \mathbb {R}^{I \times E}\). Since K is compact, both sequences separately converge to some points x and y in K. Let \((a^n)_{n \in \mathbb {N}}\) be the sequence of associated node labels of \(x^n\) and a the node label of x. Since \(x \mapsto a\) is continuous we have \(a = \lim _{n \rightarrow \infty } a^n\). We need to show that \(y \in \varGamma (x)\). Suppose for contradiction that there is a commodity \(i \in I\) and an \(e = vw \in E^i_{\theta _k}\) with \(y_{i, e} > 0\) and \(a_{i, v} < \nicefrac {g_e\big (\sum _{j \in I} x_{j, e}\big )}{\nu _e} + a_{i, w}\). But since \(g_e\) is continuous, there has to be an \(n_0 \in \mathbb {N}\) such that \(y_{i, e}^n > 0\) and \(a^n_{i, v} < \nicefrac {g_e\big (\sum _{j \in I} x^n_{j, e}\big )}{\nu _e} + a^n_{i, w}\) for all \(n \ge n_0\). This is a contradiction to \(y^n \in \varGamma (x^n)\).

Hence, by Kakutani’s fixed point theorem (Theorem 5.2) there exists an \(x^* \in K\) with \(x^* \in \varGamma (x^*)\), which forms together with the associated node label \(a^*\) an IDE thin flow. \(\square \)

Consider an IDE flow f up to time \(\theta _k\) where the inflow rates \(f_{i, e}^+\) are right-constant. Due to the continuity of \(q_e\) and \(a_{i, v}\) we can determine the active arcs \(E^i_{\theta _k}\), as well as, the current node inflows \(b^-_{i, v}(\theta _k)\) since the feasibility conditions (4) and (6) determine unique outflow rates \(f_{i, e}^-(\theta _k)\) for given inflow rates \(f_{i, e}^+\) from the past.

In order to extend f, we consider an IDE thin flow (xa) and extend the inflow rates and current shortest path distances for all \(i \in I\), \(e \in E\) and \(v \in V\) by

$$\begin{aligned} f_{i, e}^+(\theta _k + \xi ) :=x_{i,e} \quad \text { and } \quad \ell _{i, v}(\theta _k + \xi ) :=\ell _{i, v}(\theta _k) + \xi \cdot a_{i, v} \qquad \text { for all } \xi \in [0, \alpha ). \end{aligned}$$

We call this extended flow over time an \(\alpha \)-extension.

To ensure that we end up with an IDE up to time \(\theta + \alpha \), the following requirements on the size \(\alpha \) of the extension phase \([\theta _k,\theta _k+\alpha )\) must be satisfied:

First of all, the queues can never be negative, and therefore, the phase ends as soon as a queue depletes:

$$\begin{aligned} q_e(\theta _k) + \alpha \cdot \Big (\sum _{j \in I} x_{j, e} -\nu _e\Big ) \ge 0 \qquad \text { for all } e \in E \text { with } q_e(\theta _k) > 0. \end{aligned}$$

Furthermore, the phase ends as soon as an inactive edge gets active. Since queues can build up on inactive edges as well (due to flow of other commodities), we need to take into account the changing rate of a queue, as well. Hence, for all \(i \in I\) and \(e = vw \in E {\setminus } E^i_{\theta _k}\) we have:

$$\begin{aligned} \ell _{i, v}(\theta _k) + \alpha \cdot a_{i, v} \le \tau _e + \frac{q_e(\theta _k)}{\nu _e} + \alpha \cdot \frac{g_e\left( \sum _{j \in I} x_{j, e}\right) }{\nu _e} + \ell _{i, w}(\theta _k) + \alpha \cdot a_{i, w}. \nonumber \\ \end{aligned}$$

Finally, the current node inflow should stay constant during a phase:

$$\begin{aligned} b^-_{i, v}(\theta _k + \xi ) = b^-_{i, v}(\theta _k) \qquad \text { for all } i \in I \text { and } v \in V {\setminus } \{ t_i\} \text { and all } \xi \in [0, \alpha ). \end{aligned}$$

We call \(\alpha > 0\)feasible if it satisfies (23), (24) and (25).

It is easy to see that such a feasible \(\alpha > 0\) always exists since \(\ell _{i, v}(\theta _k) < \tau _e + \frac{q_e(\theta _k)}{\nu _e} + \ell _{i, w}(\theta _k)\) for all \(i \in I\) and \(e = vw \in E {\setminus } E^i_{\theta _k}\). Furthermore, the functions \(b^-_{i, v}\) are right-constant, since \(f_{i, e}^+\) as well as \(u_i\) are right-constant. Since \(\tau _e > 0\) for all \(e \in E\) we have that \(b^-_{i, v}(\theta _k)\) is well-defined and constant on some small interval \([\theta _k, \theta _k + \varepsilon )\).

Lemma 5.4

Given an IDE flow up to time \(\theta _k\), an IDE thin flow (xa) at time \(\theta _k\) and a feasible \(\alpha > 0\). Then the \(\alpha \)-extension is an IDE flow up to time \(\theta _{k + 1} :=\theta _k + \alpha \) and the extended \(\ell \)-functions denote the current shortest path distances.


First note, that the feasibility conditions are satisfied, since the outflow rates \(f_{i, e}^-\) are exactly defined that way. Furthermore, flow conservation holds since

$$\begin{aligned} \sum \nolimits _{e \in \delta _v^+} f_{i, e}^+(\theta _k + \xi )&= \sum \nolimits _{e \in \delta _v^+} x_{i, e} = b^-_{i, v}(\theta _k) = b^-_{i, v}(\theta _k + \xi ) \\&= \sum \nolimits _{e \in \delta _v^-} f_{i, e}^-(\theta _k + \xi ) + \mathbb {1}_{v = s_i} \cdot u_i(\theta _k + \xi ) \end{aligned}$$

for all \(v \in V {\setminus } \{ t_i\}, i \in I\) and all \(\xi \in [0, \alpha )\).

Next we show that the \(\ell \) labels satisfy Eq. (8). Given a point in time \(\theta _k + \xi \) with \(\xi \in [0, \alpha )\) we have by (5) applied on the total inflow rate \(f_e^+(\theta _k + \xi )\) that

$$\begin{aligned} q'_e(\theta _k + \xi ) = \left\{ \begin{array}{ll} f_e^+(\theta _k + \xi ) - \nu _e &{}\quad \text { if } q_e(\theta _k + \xi ) > 0,\\ \max \{ f_e^+(\theta + \xi ) - \nu _e, 0\} &{} \quad \text { else,} \end{array}\right\} = g_e\left( \textstyle {\sum _{j \in I} x_{j, e}}\right) . \end{aligned}$$

Note that we have \(q_e(\theta _k + \xi ) = q_e(\theta _k) + \xi \cdot g_e\left( \textstyle {\sum _{j \in I} x_{j, e}}\right) \) since \(q'_e(\theta _k + \xi )\) is constant for \(\xi \in [0, \alpha )\).

For non-active arcs \(e = vw \notin E^i_{\theta _k}\) we have by (24) that

$$\begin{aligned} \ell _{i,v}(\theta _k + \xi )&= \ell _{i, v}(\theta _k) + \xi \cdot a_{i, v} \\&\le \tau _e + \frac{q_e(\theta _k)}{\nu _e} + \xi \cdot \frac{g_e\left( \textstyle {\sum _{j \in I} x_{j, e}}\right) }{\nu _e} + \ell _{i, w}(\theta _k) + \xi \cdot a_{i, w}\\&= \tau _e + \frac{q_e(\theta _k + \xi )}{\nu _e} + \ell _{i, w}(\theta _k + \xi ). \end{aligned}$$

For active arcs \(e = vw \in E^i_{\theta _k}\) we have by (TF4) that

$$\begin{aligned} \ell _{i,v}(\theta _k + \xi )&= \ell _{i, v}(\theta _k) + \xi \cdot a_{i, v} \\&\le \tau _e + \frac{q_e(\theta _k)}{\nu _e} + \ell _{i, w}(\theta _k) + \xi \cdot \left( \frac{g_e\left( \sum _{j \in I} x_{j, e}\right) }{\nu _e} + a_{i, w} \right) \\&= \tau _e + \frac{q_e(\theta _k + \xi )}{\nu _e} + \ell _{i, w}(\theta _k + \xi ). \end{aligned}$$

Since there has to be one active arc that satisfies (TF4) with equality, the same arc satisfies the inequality above with equality, which shows that (8) holds. In other words, the extended \(\ell \) labels denote the current shortest path distances in the \(\alpha \)-extension.

Finally, we show that the \(\alpha \)-extension satisfies the IDE condition (9): For all \(\xi \in [0, \alpha )\) and all arcs \(e = vw \in E\) we have that \(f_{i,e}^+(\theta _k + \xi ) > 0\) implies that \(x_{i, e} > 0\), and therefore,

$$\begin{aligned} a_{i,v}(\theta _k + \xi ) = a_{i,v} {\mathop {=}\limits ^{(\mathrm{TF5})}} \frac{g_e\left( \textstyle {\sum _{j \in I} x_{j, e}}\right) }{\nu _e} + a_{i, w} = \frac{q'_e(\theta _k +\xi )}{\nu _e} + a_{i,w}(\theta _k) \end{aligned}$$

for all \(\xi \in [0, \alpha )\). Hence,

$$\begin{aligned} \ell _{i, v}(\theta _k + \xi ) = \tau _e + \frac{q_e(\theta _k + \xi )}{\nu _e} + \ell _{i, w}(\theta _k + \xi ) \end{aligned}$$

which shows \(e \in E^i_{\theta _k + \xi }\). Hence, the \(\alpha \)-extension is indeed an IDE flow up to time \(\theta _{k + 1} = \theta _k + \alpha \). \(\square \)

Theorem 5.5

Consider a multi-source multi-sink network with a finite set of commodities I and right-constant network inflow functions \(u_i\). Then, there exists an IDE flow f with right-constant inflow rate functions \(f_{i, e}^+\).

The proof is exactly the same as the proof for Theorem 3.4 but this time we extend the IDE flow by Lemma 5.4.

Since Kakutani’s fixed point theorem doesn’t give much insight into how to construct such multi-commodity thin flows, we want to give a brief idea how to do this with a mixed integer program. For this we introduce two different types of Boolean decision variables. For every \(i \in I\) and \(e \in E^i_{\theta _k}\) we have \(y_{i,e} \in \{ 0, 1\}\) and for every \(e \in E\) with \(q_e(\theta _k) = 0\) we have \(z_e \in \{ 0, 1\}\).

$$\begin{aligned} y_{i,e}&= 1 \quad \Leftrightarrow \quad x_{i,e} = 0,&\text { thus, } (\mathrm{TF5}) \text { does not apply,}\\ z_{e}&= 1 \quad \Leftrightarrow \quad \sum \nolimits _{j \in I} x_{j, e} - \nu _e \le 0,&\text { thus, } g_e\left( \textstyle {\sum _{j \in I} x_{j, e}}\right) = 0. \end{aligned}$$

When these decision variables are guessed correctly, the task to find an IDE thin flow is a simple linear program. It remains open if the complete thin flow can be computed efficiently.

Arbitrary network inflow rates

Now we turn to the second approach showing that IDE flows also exist for bounded network inflow functions in the \(L^2\)-function space.

Theorem 5.6

Consider a multi-source multi-sink network with a finite set of commodities I and bounded network inflow functions \(u_i\) with \(u_i\big |_{[a,b)} \in L^2([a, b))\) for all \(a < b\) and \(i \in I\). Then there exists an IDE flow f with bounded inflow rate functions \(f_{i, e}^+\).

The proof idea is to reformulate this problem as an infinite-dimensional variational inequality and then use the existence theorem by Brézis [3, Theorem 24]. A solution to the variational inequality corresponds one-to-one to a multi-sink IDE flow. For all the details including a brief introduction into the Hilbert-space \(L^2\) and weak-strong-continuous functions we refer to the online appendix.

Termination of IDE flows in multi-sink networks

We show that there are instances in which all IDE flows do not terminate. We first observe that while the proofs of Lemma 4.3 and Corollary 4.5 can easily be adapted to the multi-sink case (so it is still true that all flows in an acyclic network and all IDE flows with total volume less than \(\tau _\Delta \nu _{\min }\) eventually terminate), this is not true for the proof of Theorem 4.6.

Theorem 6.1

There is a multi-source multi-sink network with two sinks and all edge transit times and rate capacities equal to 1, where any IDE flow does not terminate.

To construct such an instance we make use of several gadgets. The first one, gadget A, will serve as the main building block and is depicted in Fig. 5. It consists of two cycles with one common edge \(v_1v_2\) and one player i with sink node t (outside the gadget and reachable from the nodes \(v_2, v_5\) and \(v_7\) via some paths \(P_2, P_5\) and \(P_7\), respectively) and a constant network inflow rate of 2 on the interval [0, 1) at node \(v_1\). Our goal will be to embed this gadget into a larger instance in such a way, that for any IDE flow, the flow associated with player i will exhibit the following flow pattern for all \(h \in \mathbb {N}\) (see Fig. 4):

  1. 1.

    On the interval \(\varvec{[5h,5h+1)}\): All flow generated at \(v_1\) (for \(h=0\)) or arriving at \(v_1\) (for \(h>0\)) enters the edge to \(v_2\) at a rate of 2, half of it directly starting to travel along the edge, half of it building up a queue of length 1 at time \(5h+1\).

  2. 2.

    On the interval \(\varvec{[5h+1,5h+2)}\): The flow arriving at node \(v_2\) enters the edge to \(v_3\) because \(v_2,v_3,v_4,v_5,P_5\) is currently the shortest path to t. The length of the queue of edge \(v_1v_2\) decreases until it reaches 0 at time \(5h+2\).

  3. 3.

    On the interval \(\varvec{[5h+2,5h+3)}\): The flow arriving at node \(v_2\) enters the edge to \(v_6\) because \(v_2,v_6,v_7,P_7\) is currently the shortest path to t.

  4. 4.

    On the interval \(\varvec{[5h+4,5h+5)}\): The flows arriving at nodes \(v_5\) and \(v_7\) enter the respective edges towards node \(v_1\) because \(v_5,v_1,v_2,P_2\) as well as \(v_7,v_1,v_2,P_2\) are currently the shortest paths to get to t.

  5. 5.

    On the interval \(\varvec{[5h+5,5h+6)}\): There is a total inflow of 2 at node \(v_1\), which enters the edge to \(v_2\). Thus, the pattern repeats.

Fig. 4
figure 4

The desired flow pattern in gadget A at times \(\theta =0,1,2,3,4,5,\ldots \)

The effect of this behavior is, that other particles outside the gadget, who want to travel through this gadget along the central vertical path, will estimate an additional waiting time as indicated by the diagram displayed inside gadget A in Fig. 5 (next to the vertical red path). Now, in order to actually guarantee the described behavior, we need to embed gadget A into a larger instance in such a way, that for any IDE flow the following assumptions hold:

  1. 1.

    The only edges leaving A are the start edges of the four dashed paths indicated in Fig. 5.

  2. 2.

    The three (blue) paths \(P_2, P_5\) and \(P_7\) are of the same length L (w.r.t. \(\tau _e\)).

  3. 3.

    For all \(h \in \mathbb {N}\)

    • the unique shortest \(v_2\)-t path for all \(\theta \in [5h+1,5h+2)\) is \(v_2,v_3,v_4,v_5,P_5\),

    • the unique shortest \(v_2\)-t path for all \(\theta \in (5h+2,5h+3]\) is \(v_2,v_6,v_7,P_7\),

    • the unique shortest \(v_5\)-t path for all \(\theta \in [5h+4,5h+5]\) is \(v_5,v_1,v_2,P_2\) and

    • the unique shortest \(v_7\)-t path for all \(\theta \in [5h+4,5h+5]\) is \(v_7,v_1,v_2,P_2\).

Note that at time \(\theta = 5h+2\) we do not require that there is only one unique \(v_2\)-t path. This is due to the fact that waiting times always change continuously and therefore when the shortest \(v_2\)-t path changes from one path to another, there needs to be a time where both paths are equally long. Thus, there cannot always be a unique shortest path. However, this does not influence the overall flow pattern, since those discrete points in time form a set of measure zero, and thus, only allow for flow of volume zero to escape the overall flow pattern.

In order to satisfy the assumptions (1)–(3), we will now construct three types of gadgets \(B_2, B_5\) and \(B_7\) for the three paths \(P_2, P_5\) and \(P_7\), each of equal length and on which any IDE flow induces waiting times as shown by the respective diagrams on the right side in Fig. 5.

Fig. 5
figure 5

Gadget A (the dashed paths and nodes are not part of the gadget). The (red) diagram inside the box A indicates the waiting time on edge \(v_1v_2\) [and therefore on the (red) vertical path through the gadget], provided that the flow originating inside this gadget follows the flow pattern indicated in Fig. 4. The (blue) diagrams on the right indicate the desired waiting times on the paths \(P_2, P_5\) and \(P_7\), respectively, which in turn ensure that the flow inside the gadget does indeed follow the desired flow pattern (color figure online)

To build these gadgets we need time shifted versions of gadget A, which we denote by \(A^{+k}\). Such a gadget is constructed the same way as gadget A above, with the only difference that the support of the network inflow rate function \(u_i\) is shifted to the interval \([k \mod 5, k\mod 5 +1)\). Gadget \(B_2\) now consists of the concatenation of four gadgets of type \(A^{+0}\), four gadgets of type \(A^{+1}\) and four gadgets of type \(A^{+2}\) in series along their vertical paths through them with three edges between each two gadgets (see Fig. 6).

Fig. 6
figure 6

Gadget \(B_2\) consisting of four copies of each of the types \(A^{+0},A^{+1},A^{+2}\). The diagram inside the box of gadget \(B_2\) indicates the waiting time on the vertical path through gadget \(B_2\), provided that within all of the used gadgets A, the flow follows the flow pattern from Fig. 4. The dashed parts are not part of the gadgets and only sketch how this gadget needs to be embedded in a larger instance

Similarly, gadget \(B_5\) consists of three copies of \(A^{+3}\)-type gadgets, three copies of \(A^{+4}\)-type gadgets and additional \(6\cdot 4\) edges to ensure that the vertical path has the same length as the one of gadget \(B_2\). Finally, gadget \(B_7\) consists of three copies of \(A^{+3}\)-type gadgets, three copies of \(A^{+4}\)-type gadgets, two copies of \(A^{+5}\)-type gadgets, one copy of \(A^{+6}\)-type gadgets and additional \(3\cdot 4\) edges to ensure that the vertical path has the same length as the one of gadget \(B_2\).

We again use the notation \(B_j^{+k}\) to refer to a time shifted version of gadget \(B_j\)—i.e. with all used gadgets A shifted by additional k time steps. Next, we build a gadget C by just taking one copy of each \(B_j^{+k}\) for all \(j \in \{ 2,5,7\}\) and \(k=0,1,2,3,4\) (see Fig. 7).

Fig. 7
figure 7

Gadget C

Finally, taking two copies of this gadget, C and \(C'\), and two additional nodes, t and \(t'\), where t will be the sink node for all players in C and \(t'\) the sink node for all players in \(C'\), we can build our entire graph as indicated by Fig. 8. We connect the top edges of the gadgets \(B_j^{+k}\) in gadget \(C'\) with the sink t and use those gadgets’ respective vertical paths as the \(P_j^{+k}\) paths for gadget C and vice versa.

Fig. 8
figure 8

The whole graph

The correctness of our construction (i.e. that any IDE flow on this instance does not terminate) can be proven by a careful but mostly straightforward analysis using the following important observation. A formal proof of this observation as well as of the main theorem can be found in the online appendix.

Observation 6.2

If a flow in some \(A^{+k}\)-type gadget (with \(k \in \{ 0,1,2,3,4\}\)) follows the desired flow pattern for all unit time intervals between k and some \(\theta \in \mathbb {N}_0, \theta \ge k\), the induced waiting time on edge \(v_1v_2\) of this gadget (and therefore on the vertical path through this gadget) will follow the waiting time function indicated by the diagram in Fig. 5 (shifted by k) for the next unit time interval \([\theta ,\theta +1)\), independent of the evolution of the flow in this interval.

Although the network constructed for the above proof contains several distinct source nodes, this is in fact not necessary in order to get a network with non-terminating IDEs. I.e. Theorem 6.1 can be strengthened as follows.

Theorem 6.3

There exists a single-source multi-sink network with two sinks, where any IDE flow does not terminate.

This can be accomplished by adding a single super-source to the network constructed above and connecting it in an appropriate way to the original source nodes. The detailed construction can be found in the online appendix.

Summary and open problems

We introduced in this paper the concept of IDE flows and investigated two key questions: existence and termination of IDE flows. Regarding the former, we gave in Sect. 3 an extension-algorithm leading to the existence of IDE flows for single-sink instances. While the extension-algorithm is constructive, it is not clear if finitely many calls of the algorithm suffice to compute an IDE—at the moment existence relies on a limit argument. Especially for restricted graph classes (series-parallel graphs or acyclic graphs) we expect finiteness. For multi-source multi-sink instances, we gave in Sect. 5 a general existence theorem—also based on an extension property. For piece-wise constant network inflow rate functions this extension can be achieved by solving a set of equations (called IDE thin flows), which we can obtain algorithmically by solving a linear mixed-integer program. The extension property for general network inflow rates, however, relies on a solution to a variational inequality rendering it non-constructive.

Regarding termination of IDE flows, we showed in Theorem 4.6 that for single-sink networks, all IDE flows terminate. In a forthcoming paper [10], we give quantitative upper bounds of \(\mathcal {O}(U\tau (G))\) for the time such an IDE flow needs to terminate, where \(U :=\sum _{i \in I}\int _{0}^{\infty }u_i(\theta )d\theta \) is the total network inflow and \(\tau (G) :=\sum _{e \in E}\tau _e\) the sum of all edge transit times. On the other hand, we can give lower bounds of order \(\varTheta (U\log \tau (G))\), see [10] for details. In Sect. 6, we gave an example for a multi-sink network, where no IDE flow terminates. By Theorem 6.3, we know that only a single-source and two sinks are needed for this effect to appear (and by Theorem 4.6 we also know that this is the minimal number of sinks necessary). However, the underlying graph is quite complex and it would be interesting to see, whether there are certain graph classes beside acyclic ones, where termination is guaranteed even in the multi-sink case (e.g., planar graphs, series parallel graphs, ...).