Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

The chapter considers the minimum cost flow problem and the maximum flow problem on dynamic networks with different forms of restrictions by parameters of network and time. The classical optimal flow problems on networks are extended and generalized for the cases of nonlinear cost functions on arcs, multicommodity flows, and time- and flow-dependent transactions on arcs of the network. The time-varying flow models which capture the essential properties of flows arising in real-life complex systems are studied. The main goal of this chapter consists in providing methods and algorithms for finding the minimum cost flow and the maximum flow in single-commodity and multicommodity dynamic networks.

Recently network theory has become an important part in the study and analysis of complex systems. Dynamic flows can be used in modelling of processes from different complex systems such as transport networks, social interactions, the Internet. Communication, transportation, economic planning, road traffic assignment, evacuation planning, scheduling planning, cash flow, and management problems can be formulated and solved as single-commodity or multicommodity flow problems [13447]. The maximum and the minimum cost flow problems have large implementation for many practical problems in complex systems of electronic communication, transportation, production, and distribution. The considered problems also have theoretical importance for investigation and solving of various optimization problems on graphs. For example, the minimum cost flow problem can be used for research and solving of the distribution problem, the synthesis problem of communication networks, or the allocation problem.

The field of network flows blossomed in the 1940s and 1950s with interest in transportation planning and has developed rapidly since then. There is a significant body of literature devoted to this subject (see, for example, [14123146]). However, it has largely ignored a crucial aspect of transportation: transportation occurs over time. In the 1960s, Ford and Fulkerson [2021] introduced flows over time to include time in the network model.

The following two aspects of dynamic flows distinguish them from the traditional model. Firstly, the flow value on an arc may change over time. This feature is important in applications, where the supplies and demands are not given as fixed measures; instead, they change over time. Naturally, the flow value on each arc should adjust to these changes. Secondly, there is a transit time on every arc which specifies the amount of time flow units need to traverse the arc.

In the Ford and Fulkerson model transit times and arc capacities are fixed. Given a network with capacities and transit times on arcs, they study the problem of sending a maximum amount of flow from a source node s to a sink node t within a pre-specified time horizon T. Ford and Fulkerson show that this problem can be solved by one minimum cost static flow computation, where transit times on arcs are interpreted as cost coefficients. They prove that an optimal solution of this minimum cost flow problem can be turned into a maximum flow over time by first decomposing it into flows on s − t paths. The corresponding flow over time starts to send flow on each path at time zero, and repeats each so long as there is enough time left in the T time units for the flow along the path to arrive at the sink.

Subsequently, linear models of optimal dynamic flows have been studied by Cai, Carey, Fleischer, Glockner, Hoppe, Klinz, Lozovanu, Ma, Nemhauser, Subrahmanian, Tardos, Woeginger and others in [67161723303233394041]. In this chapter, the minimum cost and the maximum dynamic flow problems are formulated and studied for nonlinear and multicommodity models. Dynamic networks are considered with time-varying capacities of arcs. For the minimum cost flow problem it is assumed that cost functions, defined on arcs, are nonlinear and depend on time and flow, but the demand-supply function depends on time. It is also considered the dynamic model with transit time functions that depend on flow and time. The game-theoretic formulation of the multiobjective multicommodity flow problem is proposed.

In Sect. 13.2, the main results related to static optimal flow problems on networks are presented. The basic methods and algorithms for solving the minimum cost flow problem and the maximum flow problem are examined. The obtained results are extended for the nonlinear and multicommodity models.

In Sect. 13.3, the minimum cost flow problem is consider on dynamic networks with nonlinear cost functions, that depend on flow and time, and demand-supply functions and capacity functions, that depend on time. The maximum flow problem is considered on dynamic networks with time-varying capacities of arcs. To solve the optimal dynamic flow problems methods and algorithms based on the reduction of dynamic problems to static ones on auxiliary networks are proposed. Dynamic problems with transit time functions that depend on flow and time are analyzed and algorithms for solving such problems are elaborated.

In Sect. 13.4, the minimum cost and the maximum multicommodity flow problems on dynamic networks are considered. The multicommodity flow problem consists of shipping several different commodities from their respective sources to their sinks through a given network satisfying certain objectives in such a way that the total flow going through arcs does not exceed their capacities. No commodity ever transforms into another commodity, so that each one has its own flow conservation constraints, but they compete for the resources of the common network. In this section, the minimum cost multicommodity flow problems are considered on dynamic networks with time-varying capacities of arcs and transit times on arcs that depend on sort of commodity entering them. The cost functions, defined on arcs, are assumed to be nonlinear and depend on time and flow, and demand-supply functions depend on time. For solving the considered problems algorithms based on the modification of the time-expanded network method are proposed. The dynamic problems with transit time functions that depend on flow and time are also considered and algorithms for their solving are proposed.

In Sect. 13.5, the game-theoretic formulation of the multiobjective multicommodity flow problem is considered. If we associate to each commodity a player, we can regard this problem as a game problem, where players interact between them and the choices of one player influence the choices of the others.

2 Static Flow Models and Determining Optimal Flows in Networks

In this section we present the most important results related to static flow problems and systemize some of the relevant methods and algorithms for solving the maximum and minimum cost flow problems. These results are extended for the nonlinear and multicommodity cases of the considered models.

2.1 Static Flows: Definitions and some Properties

2.1.1 Single-Commodity Flow

Let be given a directed graph G = (V, E) with a vertex set V and an arc set E (see [1221]). This graph becomes a network N = (V, E, u, d) if we assign to each vertex v ∈ V the demand-supply d v and to each arc e ∈ E the non-negative capacity u e , which represents the maximum amount of flow that can be carried on the arc e. By using the demand-supply function d we distinct nodes as net generators of flow, net absorbers of flow, or neither. Nodes v ∈ V with d v  > 0 are called sources, nodes v ∈ V with d v  < 0 are called sinks and nodes v ∈ V with d v  = 0 are called intermediate nodes. A source node or source has the property that the flow out of the node exceeds the flow into the node. The inverse case is a sink node or sink, where the flow into the node exceeds the flow out of node. An intermediate node or transshipment node has the property that flow in equals flow out.

The considered network admits flow, if there are such values x e  ≥ 0, ∀e ∈ E, which satisfy the following conditions:

$$\begin{array}{rcl} & {\sum \nolimits }_{e\in {E}^{-}(v)}{x}_{e} -{\sum \nolimits }_{e\in {E}^{+}(v)}{x}_{e} = {d}_{v},\ \forall \,v \in V,&\end{array}$$
(13.1)
$$\begin{array}{rcl} & 0 \leq {x}_{e} \leq {u}_{e},\,\forall e \in E,&\end{array}$$
(13.2)

where \({E}^{-}(v) =\{ (v,z)\,\vert \,(v,z) \in E\},\ \ {E}^{+}(v) =\{ (z,v)\,\vert \,(z,v) \in E\}\).

The function x, defined on E and satisfying conditions (13.1)–(13.2), is called the feasible flow in a network. The value x e is the quantity of flow on arc e. Condition (13.1) is the flow conservation condition and condition (13.2) is the condition of flow feasibility.

In [14], it is proved that in order for the feasible flow to exist in network N it is necessary and sufficient that for every set of vertices A ⊆ V the following conditions are true:

$$\begin{array}{rcl}{ d}_{A} \leq {u}_{(A,\overline{A})},& & \\ {d}_{V } = 0,& & \\ \end{array}$$

where d A  =  ∑ v ∈ A d v ; \(\ \overline{A} = V \setminus A\);  u (Z, Y ) =  ∑ z ∈ Z y ∈ Y u (z, y),   ∀Z, Y ⊆ V.

In the case when instead of condition (13.2) the following condition holds:

$${u}_{e} \leq {x}_{e} \leq {u}_{e},\,\forall e \in E,$$

where u′ e , u′ e  ≥ 0 are lower and upper capacities of arc e, respectively, then in order for the feasible flow to exist in such a network it is necessary and sufficient that for every set of vertices A ⊆ V the following conditions are true:

$$\begin{array}{rcl} & {d}_{A} \leq {u}_{(A,\overline{A})} - {u}_{(\overline{A},A)},& \\ & {d}_{V } = 0. & \\ \end{array}$$

For the first time this result was proved by Hoffman in [29]. In [14], it is shown that it can be easily obtained from the previous affirmation.

If there are no restrictions on arc capacities, i.e. \({u}_{e} = +\infty \), \({u}_{e} = -\infty \), ∀e ∈ E, then in order for the feasible flow to exist in such a network it is necessary and sufficient that the following condition holds:

$${d}_{V } = 0.$$

2.1.2 Multicommodity Flow

We consider the following network N = (V, E, K, u, d), where V is a set of vertices, E is a set of arcs, \(K =\{ 1,2,\ldots ,q\}\) is a set of commodities, u: E → R  +  is a capacity function, d: V ×K → R is a demand-supply function. A flow x assigns to every arc e ∈ E for each commodity k ∈ K a flow x e k ≥ 0 such that the following flow conservation constraints are satisfied:

$${\sum \nolimits }_{e\in {E}^{-}(v)}{x}_{e}^{k} -{\sum \nolimits }_{e\in {E}^{+}(v)}{x}_{e}^{k} = {d}_{ v}^{k},\ \forall \,v \in V,\ \forall \,k \in K.$$
(13.3)

The multicommodity flow x is called feasible if it obeys the following capacity constraints:

$${\sum \nolimits }_{k\in K}{x}_{e}^{k} \leq {u}_{ e},\ \forall \,e \in E.$$
(13.4)

The value x e k is the quantity of the flow of commodity k on the arc e. In fact, the considered above single-commodity flow is the multicommodity flow with q = 1.

In order for the feasible multicommodity flow to exist it is required that ∑ v ∈ V d v k = 0,   ∀k ∈ K. Nodes v ∈ V with d v k > 0,  k ∈ K, are called sources for commodity k, nodes v ∈ V with d v k < 0,  k ∈ K, are called sinks for commodity k and nodes v ∈ V with d v k = 0,  k ∈ K, are called intermediate nodes for commodity k.

2.2 The Maximum Flow Problem

Let us consider the single-commodity maximum flow problem on a network with only one source s and one sink t. In the case of many sources and sinks, the maximum flow problem can be reduced to the standard one by introducing one additional artificial source and one additional artificial sink as well as arcs leading from the new source to initial sources and from initial sinks to the new sink. The capacities of arcs connecting the artificial source with the initial sources are bounded by the supplies of these sources; the capacities of arcs connecting the initial sinks with the artificial sink are bounded by the demands of these sinks.

Let us consider the flow x ≥ 0 which satisfies condition (13.2) and the following conditions:

$${\sum \nolimits }_{e\in {E}^{-}(v)}{x}_{e}-{\sum \nolimits }_{e\in {E}^{+}(v)}{x}_{e} = \left \{\begin{array}{ll} h,\ v = s, \\ 0,\ v\neq s,t, \\ - h,\ v = t.\\ \end{array} \right.$$
(13.5)

The object of the maximum flow problem is to send a maximum amount of flow from the source to the sink such that arc capacities are not exceeded.

The maximum flow problem is formulated as follows:

to maximize the objective function

$$F = h$$

subject to (13.2), (13.5).

In the following, we introduce a notion of the network cutset, which separates s from t and is defined by every set R ⊆ V such that s ∈ R, tR. So, if s ∈ R, tR, then the network cutset separating s from t is a set of arcs \((R,\overline{R}) =\{ (v,z) \in E\vert v \in R,z \in \overline{R}\}\). The quantity \({u}_{(R,\overline{R})} ={ \sum \nolimits }_{v\in R}{ \sum \nolimits }_{z\in \overline{R}}{u}_{(v,z)}\) is called the capacity of the cutset \((R,\overline{R})\). The cutset, which has the minimum capacity, is called the minimum cutset.

The most important result related to the maximum flow in a network is formulated by Ford and Fulkerson in [21] and consists in the fact that for every network the maximum value of a flow from s to t is equal to the minimum capacity of a cutset separating s and t.

We refer to a path from s to t as an augmenting path for the flow x if x < u for all its forward arcs and x > 0 for all its backward arcs. We say that arc (v, z) is saturated with flow x if x (v, z) = u (v, z), and we say that arc (v, z) is free from flow x if x (v, z) = 0.

Using these definitions and the Ford–Fulkerson theorem about the maximum flow and the minimum cutset the following affirmations can be obtained.

The flow x is maximum if and only if there is no augmenting path for the flow x.

The cutset \((R,\overline{R})\) is minimum if and only if every maximum flow x saturates all arcs of the cutset \((R,\overline{R})\) and leaves free all arcs that belong to \((\overline{R},R)\).

The Ford–Fulkerson theorem and these affirmations lead to a simple and effective algorithm for finding the maximum flow, which is named the Ford–Fulkerson algorithm. This algorithm is proposed and argued by Ford and Fulkerson in [21]. To guarantee the end of the process it is required that arc capacities are integer. This assumption is not essential from the computational point of view, because in the case of rational capacities the problem can be reduced to the initial one by introducing a new quantity such that all existing fractions are its integral multiplies.

2.3 The Minimum Cost Flow Problem

2.3.1 The Linear Case

The minimum cost flow problem is the problem of sending flows in a network from supply nodes to demand nodes at minimum total cost such that arc capacities are not exceeded. The linear minimum cost flow problem consists in finding a feasible flow, satisfying (13.1)–(13.2), that minimizes the following objective function:

$$F(x) ={ \sum \nolimits }_{e\in E}{c}_{e}{x}_{e},$$

where c: E → R  +  is a cost function.

There are different approaches for solving this problem. One of the most propagated methods is the potential method for constructing an optimal flow in the case when the initial flow is known and its base graph, i.e. a partial graph on arcs of which there is a positive feasible flow, is a connected graph. If the last condition is not true, the perturbation method can be applied. The following affirmation, proved in [14], justifies the potential method.

The flow x is an optimal one if and only if for every vertex v ∈ V there exists a number P v such that

$$\begin{array}{rcl}{ P}_{z} - {P}_{v}& \leq {c}_{(v,z)},\mbox{ if }{x}_{(v,z)} = 0; & \\ {P}_{z} - {P}_{v}& = {c}_{(v,z)},\mbox{ if }0 < {x}_{(v,z)} < {u}_{(v,z)};& \\ {P}_{z} - {P}_{v}& \geq {c}_{(v,z)},\mbox{ if }{x}_{(v,z)} = {u}_{(v,z)}, & \\ \end{array}$$

where z ∈ V , (v, z) ∈ E. The numbers P v may be considered non-negative and are called potentials or node numbers.

If c e , u e , d v , ∀e ∈ E, ∀v ∈ V , are integer or real numbers, then the potential method is a finite method, i.e. the solution of the problem using this method can be obtained after a finite number of steps. Besides that, if the initial flow is integer-valued, then the optimal flow will be also integer-valued.

2.3.2 The Non-linear Case

The nonlinear minimum cost flow problem is a problem of determining a feasible flow, that satisfies (13.1)–(13.2) and minimizes the following objective function:

$$F(x) ={ \sum \nolimits }_{e\in E}{\varphi }_{e}({x}_{e}),$$

where \(\varphi \mbox{ : }E \times {R}_{+} \rightarrow {R}_{+}\) is a nonlinear cost function.

Let us consider that the cost functions φ e (x e ), \(\forall e \in E\), are convex downwards functions, i.e. for arbitrary nonnegative quantities x e (1), x e (2) the following inequality is true:

$${\varphi }_{e}\left (\lambda {x}_{e}^{(1)} + (1 - \lambda ){x}_{ e}^{(2)}\right ) \leq \lambda {\varphi }_{ e}\left ({x}_{e}^{(1)}\right ) + (1 - \lambda ){\varphi }_{ e}\left ({x}_{e}^{(2)}\right ),\ 0 \leq \lambda \leq 1.$$

We denote by φ e  + (x e ) the right derivative of the function φ e (x e ) and by φ e  − (x e ) the left derivative of the function φ e (x e ).

In [14] it is proved that the flow x is an optimal flow in the network without restrictions on arc capacities if and only if for every vertex v ∈ V there exists a number P v such that

$$\begin{array}{rcl} {P}_{z} - {P}_{v}& \leq {\varphi }_{(v,z)}^{+}({x}_{(v,z)}),\mbox{ if }{x}_{(v,z)} = 0; & \\ {\varphi }_{(v,z)}^{-}({x}_{ (v,z)})& \leq {P}_{z} - {P}_{v} \leq {\varphi }_{(v,z)}^{+}({x}_{ (v,z)}),\mbox{ if }{x}_{(v,z)} > 0,& \\ \end{array}$$

where z ∈ V , (v, z) ∈ E.

In the case when the functions φ(v, z)(x (v, z)) are everywhere differentiable, i.e. if

$${\varphi }_{(v,z)}^{+}({x}_{ (v,z)}) = {\varphi }_{(v,z)}^{-}({x}_{ (v,z)}) = {\varphi }_{(v,z)}({x}_{(v,z)}),$$

and there are no restrictions on arc capacities, the flow x is an optimal one if and only if for every vertex v ∈ V there exists a number P v such that

$$\begin{array}{rcl} & {P}_{z} - {P}_{v} \leq {\varphi }_{(v,z)}({x}_{(v,z)}),\mbox{ if }{x}_{(v,z)} = 0;& \\ & {P}_{z} - {P}_{v} = {\varphi }_{(v,z)}({x}_{(v,z)}),\mbox{ if }{x}_{(v,z)} > 0,& \\ \end{array}$$

where z ∈ V , (v, z) ∈ E.

If the functions φ(v, z)(x (v, z)) are differentiable functions and there exist restrictions (13.2) on arc capacities, the flow x is an optimal one if and only if for every vertex v ∈ V there exists a number P v such that

$$\begin{array}{rcl}{ P}_{z} - {P}_{v}& \leq {\varphi }_{(v,z)}({x}_{(v,z)}),\mbox{ if }{x}_{(v,z)} = 0; & \\ {P}_{z} - {P}_{v}& = {\varphi }_{(v,z)}({x}_{(v,z)}),\mbox{ if }0 < {x}_{(v,z)} < {u}_{(v,z)};& \\ {P}_{z} - {P}_{v}& \geq {\varphi }_{(v,z)}({x}_{(v,z)}),\mbox{ if }{x}_{(v,z)} = {u}_{(v,z)}, & \\ \end{array}$$

where z ∈ V , (v, z) ∈ E.

In the case when the functions φ(v, z)(x (v, z)) are non-differentiable, the flow x is an optimal flow in the network with restrictions (13.2) on arc capacities if and only if for every vertex v ∈ V there exists a number P v and for each saturated arc (v, z) ∈ E (for which x (v, z) = u (v, z)) there exists a nonnegative arc number γ(v, z), such that

$$\begin{array}{rcl} & {P}_{z} - {P}_{v} \leq {\varphi }_{(v,z)}^{+}({x}_{(v,z)}),\mbox{ if }{x}_{(v,z)} = 0; & \\ & {\varphi }_{(v,z)}^{-}({x}_{(v,z)}) \leq {P}_{z} - {P}_{v} \leq {\varphi }_{(v,z)}^{+}({x}_{(v,z)}),0 < {x}_{(v,z)} < {u}_{(v,z)}; & \\ & {\varphi }_{(v,z)}^{-}({x}_{(v,z)}) + {\gamma }_{(v,z)} \leq {P}_{z} - {P}_{v} \leq {\varphi }_{(v,z)}^{+}({x}_{(v,z)}) + {\gamma }_{(v,z)},{x}_{(v,z)} = {u}_{(v,z)},& \\ \end{array}$$

where z ∈ V.

We’d like to mention that if the functions φ e (x e ), ∀e ∈ E, are not assumed to be convex downwards, then in the considered above cases we can speak about only the local extremum.

To solve the non-linear minimum cost flow problem the potential method can be used, which generalizes the potential method for the linear minimum cost flow problem. To apply this method we consider that the base graph of the initial flow and every intermediary flow is a connected graph. If this condition is not true, we apply the perturbation method.

2.4 The Minimum Cost Multicommodity Flow Problem

2.4.1 The Continuously Differentiable and Convex Objective Function

The minimum cost multicommodity flow problem is formulated as follows:

to minimize the objective function

$$F(\mathtt{x}) ={ \sum \nolimits }_{e\in E}{\varphi }_{e}({x}_{e}^{1},{x}_{ e}^{2},\ldots ,{x}_{ e}^{q}),$$
(13.6)

subject to (13.3)–(13.4)

where \(\varphi \mbox{ : }E \times {R}_{+}^{q} \rightarrow {R}_{+}\) is a cost function.

We consider that functions φ e (x) from (13.6) are convex downwards with regard to vector \(\mathtt{x} = ({x}_{e}^{1},{x}_{e}^{2},\ldots ,{x}_{e}^{q}) \geq 0\), i.e. for every 0 ≤ λ ≤ 1 the following inequality is true:

$$\begin{array}{rcl}{ \varphi }_{e}(\lambda {\mathtt{x}}^{(1)} + (1 - \lambda ){\mathtt{x}}^{(2)}) \leq \lambda {\varphi }_{ e}({\mathtt{x}}^{(1)}) + (1 - \lambda ){\varphi }_{ e}({\mathtt{x}}^{(2)}),& & \\ \end{array}$$

where x (1) ≥ 0, x (2) ≥ 0. Moreover, let us consider that these functions are continuously differentiable. We denote by φ e (k)(x) the partial derivative of the function φ e (x) by the k-th component of the vector \(\mathtt{x} = ({x}_{e}^{1},{x}_{e}^{2},\ldots ,{x}_{e}^{q})\).

In [14], it is proved that the multicommodity flow \(\mathtt{x} = ({x}_{e}^{1},{x}_{e}^{2},\ldots ,{x}_{e}^{q})\) is an optimal flow if and only if for every vertex v ∈ V there exists a vector of potentials \({P}_{v} = ({P}_{v}^{1},{P}_{v}^{2},\ldots ,{P}_{v}^{q})\) and for every arc (v, z) ∈ E, for which \({\sum \nolimits }_{k=1}^{q}{x}_{(v,z)}^{k} = {u}_{(v,z)}\), there exists an arc number γ(v, z) ≥ 0, such that

$$\begin{array}{rcl}{ P}_{z}^{k} - {P}_{ v}^{k}& \leq {\varphi }_{(v,z)}^{(k)}({\mathtt{x}}_{(v,z)}),\mbox{ if }{x}_{(v,z)}^{k} = 0,\ {\sum \nolimits }_{ k=1}^{q}{x}_{(v,z)}^{k} <{u}_{ (v,z)}; & \\ {P}_{z}^{k} - {P}_{ v}^{k}& = {\varphi }_{ (v,z)}^{(k)}({\mathtt{x}}_{(v,z)}),\mbox{ if }{x}_{(v,z)}^{k} > 0,\ {\sum \nolimits }_{ k=1}^{q}{x}_{ (v,z)}^{k} <{u}_{ (v,z)}; & \\ {P}_{z}^{k} - {P}_{ v}^{k}& \leq {\varphi }_{ (v,z)}^{(k)}({\mathtt{x}}_{ (v,z)}) +{\gamma }_{(v,z)},\mbox{ if }{x}_{(v,z)}^{k} = 0,\ {\sum \nolimits }_{ k=1}^{q}{x}_{ (v,z)}^{k} = {u}_{ (v,z)};&\\{P}_{z}^{k} - {P}_{ v}^{k}& = {\varphi }_{ (v,z)}^{(k)}({\mathtt{x}}_{ (v,z)}) + {\gamma }_{(v,z)},\mbox{if }{x}_{(v,z)}^{k} > 0,\ {\sum \nolimits }_{ k=1}^{q}{x}_{ (v,z)}^{k} = {u}_{(v,z)},&\end{array}$$
(13.7)

where z ∈ V , k ∈ K.

If we assume that u (v, z) = , then conditions (13.7) are reduced to the following conditions:

$$\begin{array}{rcl}{ P}_{z}^{k} - {P}_{ v}^{k} \leq {\varphi }_{ (v,z)}^{(k)}({\mathtt{x}}_{ (v,z)}),\mbox{ if }{x}_{(v,z)}^{k} = 0,& & \\ {P}_{z}^{k} - {P}_{ v}^{k} = {\varphi }_{ (v,z)}^{(k)}({\mathtt{x}}_{ (v,z)}),\mbox{ if }{x}_{(v,z)}^{k} > 0.& & \\ \end{array}$$

2.4.2 The Separable Objective Function

In many practical problems, the objective function has the following form:

$$\begin{array}{rcl} F(\mathtt{x}) ={ \sum \nolimits }_{k\in K}{ \sum \nolimits }_{e\in E}{\varphi }_{e}^{k}({x}_{ e}^{k}),& &\end{array}$$
(13.8)

where \({\varphi }_{e}^{k}\mbox{ : }{R}_{+} \rightarrow {R}_{+}\) is a cost function of commodity k ∈ K for arc e ∈ E.

We consider that functions φ e k(x e k) from (13.8) are convex downwards if x e k ≥ 0 and are continuous in x e k = 0. By φ e  − k(x e k) and φ e  + k(x e k) we denote the left and the right derivatives of the function φ e k(x e k), respectively.

In [14] it is proved that the multicommodity flow \(\mathtt{x} = ({x}_{e}^{1},{x}_{e}^{2},\ldots ,{x}_{e}^{q})\) is an optimal one if and only if for every vertex v ∈ V there exists a vector of potentials \({P}_{v} = ({P}_{v}^{1},{P}_{v}^{2},\ldots ,{P}_{v}^{q})\) and for every arc (v, z) ∈ E, for which \({\sum \nolimits }_{k=1}^{q}{x}_{(v,z)}^{k} = {u}_{(v,z)}\), there exists an arc number γ(v, z) ≥ 0, such that

$$\begin{array}{rcl} & {P}_{z}^{k} - {P}_{ v}^{k} \leq {\varphi }_{ (v,z)}^{+k}({x}_{ (v,z)}^{k}),\mbox{if }{x}_{ (v,z)}^{k} = 0,\ {\sum \nolimits }_{k=1}^{q}{x}_{ (v,z)}^{k} <{u}_{ (v,z)}; & \\ &{\varphi}_{(v,z)}^{-k}({x}_{ (v,z)}^{k}) \leq {P}_{ z}^{k} - {P}_{ v}^{k} \leq {\varphi }_{(v,z)}^{+k}({x}_{(v,z)}^{k}),\ \mbox{ if }{x}_{ (v,z)}^{k}> 0,\ {\sum \nolimits }_{k=1}^{q}{x}_{ (v,z)}^{k}<{u}_{ (v,z)};& \\ & {P}_{z}^{k} - {P}_{ v}^{k} \leq {\varphi }_{ (v,z)}^{+k}({x}_{ (v,z)}^{k}) + {\gamma}_{ (v,z)},\mbox{ if }{x}_{(v,z)}^{k} = 0,\ {\sum \nolimits }_{k=1}^{q}{x}_{ (v,z)}^{k} = {u}_{ (v,z)}; & \\& {\varphi }_{(v,z)}^{-k}({x}_{ (v,z)}^{k}) + {\gamma }_{ (v,z)} \leq {P}_{z}^{k} - {P}_{ v}^{k} \leq {\varphi}_{ (v,z)}^{+k}({x}_{ (v,z)}^{k}) + {\gamma }_{ (v,z)}, & \\ & \mathrm{if}\ {x}_{(v,z)}^{k} > 0,\ {\sum \nolimits}_{k=1}^{q}{x}_{(v,z)}^{k} = {u}_{(v,z)}, & \\ \end{array}$$

where z ∈ V , k ∈ K.

To solve the minimum cost multicommodity flow problem we can apply the potential method, the linearization method, the decomposition method and some other methods [14].

3 Optimal Single-Commodity Flow Problems on Dynamic Networks and Methods for their Solving

In this section, we consider the minimum cost flow problem and the maximum flow problem on dynamic networks. For the minimum cost flow problem we assume that demand–supply and capacity functions depend on time, and cost functions, defined on arcs, are nonlinear and depend both on time and on flow. The maximum flow problem is considered on dynamic networks with time-varying capacities of arcs. We also study a dynamic model with transit time functions that depend on the amount of flow and the entering time-moment of flow in the arc. Methods and algorithms for solving the formulated problems are proposed.

3.1 The Minimum Cost Dynamic Flow Problem

A dynamic network N = (V, E, τ, d, u, φ) is determined by directed graph G = (V, E) with set of vertices V , | V |  = n, and set of arcs E, | E |  = m, transit time function τ: E → R  + , demand-supply function d: V ×T → R, capacity function u: E ×T → R  + , and cost function \(\varphi \mbox{ : }E \times {R}_{+} \times T \rightarrow {R}_{+}\). We consider the discrete time model, in which all times are integral and bounded by horizon T. The time horizon is the time until which the flow can travel in the network and it defines the set \(T =\{ 0,1,\ldots ,T\}\) of the considered time moments. Time is measured in discrete steps, so that if one unit of flow leaves vertex z at time t on arc e = (z, v), one unit of flow arrives at vertex v at time t + τ e , where τ e is the transit time on arc e. The continuous flow model formulations can be found in [151618].

In order for the flow to exist it is required that ∑ t ∈ T v ∈ V d v (t) = 0. If for an arbitrary node v ∈ V at a moment of time t ∈ T the condition d v (t) > 0 holds, then this node v at the time-moment t is treated as a source. If at a moment of time t ∈ T the condition d v (t) < 0 holds, then the node v at the time-moment t is regarded as a sink. In the case d v (t) = 0 at a moment of time t ∈ T, the node v at the time-moment t is considered as an intermediate node.

Without losing generality we consider that the set of vertices V is divided into three disjoint subsets \({V }_{+},{V }_{-},{V }_{{_\ast}}\), such that:

V  +  consists of nodes v ∈ V , for which d v (t) ≥ 0 for t ∈ T and there exists at least one moment of time t 0 ∈ T such that d v (t 0) > 0;

V  −  consists of nodes v ∈ V , for which d v (t) ≤ 0 for t ∈ T and there exists at least one moment of time t 0 ∈ T such that d v (t 0) < 0;

V  ∗  consists of nodes v ∈ V , for which d v (t) = 0 for every t ∈ T.

So, V  +  is a set of sources, V  −  is a set of sinks and V  ∗  is a set of intermediate nodes of the network N.

A feasible dynamic flow in network N is a function x: E ×T → R  +  that satisfies the following conditions:

$$\begin{array}{rcl} {\sum \nolimits }_{e\in {E}^{-}(v)}{x}_{e}(t) -{\sum \nolimits }_{{ e\in {E}^{+}(v) \atop t-{\tau }_{e}\geq 0} }{x}_{e}(t - {\tau }_{e}) = {d}_{v}(t),\ \forall \,t \in T,\ \forall \,v \in V ;& &\end{array}$$
(13.9)
$$\begin{array}{rcl} 0 \leq {x}_{e}(t) \leq {u}_{e}(t),\ \ \forall \,t \in T,\ \forall \,e \in E;& &\end{array}$$
(13.10)
$$\begin{array}{rcl}{ x}_{e}(t) = 0,\ \forall \,e \in E,\ t = \overline{T - {\tau }_{e} + 1,T},& &\end{array}$$
(13.11)

where \({E}^{-}(v) =\{ (v,z)\,\vert \,(v,z) \in E\},\ \ {E}^{+}(v) =\{ (z,v)\,\vert \,(z,v) \in E\}\).

Here the function x defines the value x e (t) of flow entering arc e at time t. The flow does not enter arc e at time t if it has to leave the arc after time T; this is ensured by condition (13.11). Restrictions (13.10) are capacity constraints. Conditions (13.9) represent flow conservation constraints.

To model transit costs, which may change over time, we define the cost function φ e (x e (t), t) with the meaning that flow of value ϱ = x e (t) entering arc e at time t will incur a transit cost of φ e (ϱ, t). It is assumed that φ e (0, t) = 0 for all e ∈ E and t ∈ T.

The total cost of the dynamic flow x in the network N is defined as follows:

$$\begin{array}{rcl} F(x) ={ \sum \nolimits }_{t\in T}{ \sum \nolimits }_{e\in E}{\varphi }_{e}({x}_{e}(t),t).& &\end{array}$$
(13.12)

The minimum cost dynamic flow problem consists in finding a feasible dynamic flow that minimizes the objective function (13.12).

3.2 The Method for Solving the Minimum Cost Dynamic Flow Problem

We propose an approach based on the reduction of the dynamic problem to a corresponding static problem to solve the formulated above problem. We show that the minimum cost dynamic flow problem on network N = (V, E, τ, d, u, φ) can be reduced to a minimum cost static flow problem on an auxiliary time-expanded network N T = (V T, E T, d T, u T, φT). The advantage of such an approach is that it turns the problem of determining an optimal flow over time into a classical network flow problem.

The essence of the time-expanded network is that it contains a copy of the vertex set of the dynamic network for each moment of time t ∈ T, and the transit times and flows are implicit in arcs linking those copies. The network N T is defined as follows:

  1. 1.

    V T: = { v(t) | v ∈ V,  t ∈ T};

  2. 2.

    \({E}^{\mathrm{T}}\mbox{ : } =\{ e(t) = (v(t),z(t + {\tau }_{e}))\,\vert \,e \in E,\ 0 \leq t \leq T - {\tau }_{e}\}\);

  3. 3.

    d v(t) T: = d v (t) for v(t) ∈ V T;

  4. 4.

    u e(t) T: = u e (t) for e(t) ∈ E T;

  5. 5.

    φ e(t) T(x e(t) T): = φ e (x e (t), t) for e(t) ∈ E T.

In the following, we construct the time-expanded network N T for the dynamic network N given in Fig. 13.1. The set of time moments is T = { 0, 1, 2, 3}. The transit times on each arc are as follows: \({\tau }_{{e}_{1}} = 1\), \({\tau }_{{e}_{2}} = 1\), \({\tau }_{{e}_{3}} = 2\). The capacity, demand–supply and cost functions are considered to be given. The constructed time-expanded network is presented in Fig. 13.2.

Fig. 13.1
figure 1_13

The dynamic network N

Fig. 13.2
figure 2_13

The time-expanded network N T

The correspondence between feasible flows in the dynamic network N and feasible flows in the time-expanded network N T is stated in the following way. Let x e (t) be a flow in the dynamic network N, then the function x T defined as follows:

$$\begin{array}{rcl}{ x{}_{e(t)}}^{\mathrm{T}} = {x}_{ e}(t),\ \forall \,e(t) \in {E}^{\mathrm{T}},& &\end{array}$$
(13.13)

represents a flow in the time-expanded network N T.

Lemma 13.1.

The correspondence (13.13) is a bijection from the set of feasible flows in the dynamic network N onto the set of feasible flows in the time-expanded network N T .

Proof.

It is obvious that the correspondence (13.13) is a bijection from the set of T-horizon functions in the dynamic network N onto the set of functions in the time-expanded network N T. In the following we have to show that each dynamic flow in the dynamic network N is put into the correspondence with a static flow in the time-expanded network N T and vice-versa.

Let x e (t) be a dynamic flow in N, and let x e(t) T be a corresponding function in N T. Let’s prove that x e(t) T satisfies the conservation constraints in the static network N T. Let v ∈ V be an arbitrary vertex in N and t, 0 ≤ t ≤ T − τ e , an arbitrary moment of time:

$$\begin{array}{rcl}{ d}_{v}(t)& \stackrel{(i)}{=}{\sum \nolimits }_{e\in {E}^{-}(v)}{x}_{e}(t) -{\sum \nolimits }_{{ e\in {E}^{+}(v) \atop t-{\tau }_{e}\geq 0} }{x}_{e}(t - {\tau }_{e}) & \\ & ={ \sum \nolimits }_{e(t)\in {E}^{-}(v(t))}{x{}_{e(t)}}^{\mathrm{T}} -{\sum \nolimits }_{e(t-{\tau }_{e})\in {E}^{+}(v(t))}{x{}_{e(t-{\tau }_{e})}}^{\mathrm{T}}\stackrel{(ii)}{=}{d{}_{ v(t)}}^{\mathrm{T}}.&\end{array}$$
(13.14)

Note that according to the definition of the time-expanded network the set of arcs \(\{e(t - {\tau }_{e})\vert e(t - {\tau }_{e}) \in {E}^{+}(v(t))\}\) consists of all arcs that enter v(t), while the set of arcs {e(t) | e(t) ∈ E  − (v(t))} consists of all arcs that originate from v(t). Therefore, all necessary conditions are satisfied for each vertex v(t) ∈ V T. Hence, x e(t) T is a flow in the time-expanded network N T.

Let x e(t) T be a static flow in the time-expanded network N T, and let x e (t) be a corresponding function in the dynamic network N. Let v(t) ∈ V T be an arbitrary vertex in N T. The conservation constraints for this vertex in the static network are expressed by equality (ii) from (13.14), which holds for all v(t) ∈ V T at all times t, 0 ≤ t ≤ T − τ e . Therefore, equality (i) holds for all v ∈ V at all moments of time t, 0 ≤ t ≤ T − τ e . In such a way x e (t) is a flow in the dynamic network N.

It is easy to verify that a feasible flow in the dynamic network N is a feasible flow in the time-expanded network N T and vice-versa. Indeed,

$$0 \leq {x{}_{e(t)}}^{\mathrm{T}} = {x}_{ e}(t) \leq {u}_{e}(t) = {u{}_{e(t)}}^{\mathrm{T}}.$$

The lemma is proved.

Theorem 13.1.

If x is a flow in the dynamic network N and x T is a corresponding flow in the time-expanded network N T , then

$$\begin{array}{rcl} F(x) = {F}^{\mathrm{T}}({x}^{\mathrm{T}}),& & \\ \end{array}$$

where

$$\begin{array}{rcl}{ F}^{\mathrm{T}}({x}^{\mathrm{T}}) ={ \sum \nolimits }_{t\in T}{ \sum \nolimits }_{e(t)\in {E}^{\mathrm{T}}}{\varphi {}_{e(t)}}^{\mathrm{T}}({x{}_{ e(t)}}^{\mathrm{T}})& & \\ \end{array}$$

is the total cost of the static flow x T in the time-expanded network N T .

Moreover, for each minimum cost flow x in the dynamic network N there is a corresponding minimum cost flow x T in the static network N T such that

$$\begin{array}{rcl} F({x}^{{_\ast}}) = {F}^{\mathrm{T}}({x}^{{_\ast}\mathrm{T}})& & \\ \end{array}$$

and vice-versa.

Proof.

Let x : E ×T → R  +  be an arbitrary dynamic flow in the dynamic network N. Then according to Lemma 13.1 the unique flow x T in N T corresponds to the flow x in N, and therefore we have:

$$F(x) ={ \sum \nolimits }_{t\in T}{ \sum \nolimits }_{e\in E}{\varphi }_{e}({x}_{e}(t),t) ={ \sum \nolimits }_{t\in T}{ \sum \nolimits }_{e(t)\in {E}^{\mathrm{T}}}{\varphi {}_{e(t)}}^{\mathrm{T}}({x{}_{ e(t)}}^{\mathrm{T}}) = {F}^{\mathrm{T}}({x}^{\mathrm{T}}).$$

So, the first part of the theorem is proved.

To prove the second part of the theorem we again use Lemma 13.1. Let x  ∗  : E ×T → R  +  be the optimal dynamic flow in N and x  ∗ T be the corresponding optimal flow in N T. Then

$${ F}^{\mathrm{T}}({x}^{{_\ast}\mathrm{T}}) ={ \sum \nolimits }_{t\in T}{ \sum \nolimits }_{e(t)\in {E}^{\mathrm{T}}}{\varphi {}_{e(t)}}^{\mathrm{T}}({x{}_{ e(t)}^{{_\ast}}}^{\mathrm{T}}) ={ \sum \nolimits }_{t\in T}{ \sum \nolimits }_{e\in E}{\varphi }_{e}({x}_{e}^{{_\ast}}(t),t) = F({x}^{{_\ast}}).$$

The converse proposition is proved in an analogous way.

The following algorithm for solving the minimum cost dynamic flow problem can be proposed.

  1. 1.

    To build the time-expanded network N T for the dynamic network N.

  2. 2.

    To solve the classical minimum cost flow problem on the static network N T [151425263146].

  3. 3.

    To reconstruct the solution of the static problem on the network N T to the dynamic problem on the network N.

Building the time-expanded network and reconstructing the solution of the minimum cost static flow problem to the dynamic one has complexity O(nT + mT). The complexity of step 2 depends on the complexity of the algorithm used for the minimum cost flow problem on static networks. If such an algorithm has complexity O(f(n′, m′)), where n′ is a number of vertices and m′ is a number of arcs in the network, then the complexity of solving the minimum cost flow problem on the time-expanded network employing the same algorithm is O(f(nT, mT)).

Some specific algorithms are proposed in [37] to minimize the size of the auxiliary static network. In the case of uncapacitated dynamic networks with cost functions that are concave with regard to flow value and do not change over time, the problem can be reduced to the minimum cost flow problem on a static network of equal size, not the time-expanded network.

3.3 The Dynamic Model with Flow Storage at Nodes

The previous mathematical model can be extended for the case with flow storage at nodes if we associate a transit time τ v to each node v ∈ V which means that the flow passage through this node takes τ v units of time. If in addition we associate the capacity function u v (t) and the cost function φ v (x v (t), t) to each node v, a more general model can be obtained. In this case, the problem can be reduced to the previous one by simple transformation of the network where each node v is changed by a couple of vertices v′ and v′ connected with directed arc e v  = (v′, v′). Here, v′ preserves all entering arcs and v′ preserves all leaving arcs of the previous network. The transit time \({\tau }_{{e}_{v}} = {\tau }_{v}\), the cost function \({\varphi }_{{e}_{v}}({x}_{{e}_{v}}(t),t) = {\varphi }_{v}({x}_{v}(t),t)\) and the capacity function \({u}_{{e}_{v}}(t) = {u}_{v}(t)\) are associated to arc e v .

An important particular case of the minimum cost dynamic flow problem is the one when all amount of flow is dumped into the network from sources v ∈ V  +  at the time-moment t = 0 and it arrives at sinks v ∈ V  −  at the time-moment t = T. This means that the supply–demand function d : V ×T → R satisfies the conditions:

  1. (a)

    d v (0) > 0, d v (t) = 0, \(t = 1,2,\ldots ,T\), for v ∈ V  + ;

  2. (b)

    d v (T) < 0, d v (t) = 0, \(t = 0,1,2,\ldots ,T - 1\), for v ∈ V  − .

So, let us consider the minimum cost flow problem on the dynamic network with flow storage at nodes and integral constant demand–supply functions. Let be given a dynamic network N = (V, E, τ, d, u, φ), where the demand–supply function d : V → R does not depend on time. Without losing generality, we assume that no arcs enter sources or exit sinks. In order for a flow to exist supply must equal demand: ∑ v ∈ V d v  = 0.

The mathematical model of the minimum cost flow problem on this dynamic network is the following:

$$\begin{array}{rcl} & {\sum \nolimits }_{e\in {E}^{-}(v)}{ \sum \nolimits }_{t=0}^{T}{x}_{ e}(t) -{\sum \nolimits }_{e\in {E}^{+}(v)}{ \sum \nolimits }_{t={\tau }_{e}}^{T}{x}_{ e}(t - {\tau }_{e}) = {d}_{v},\ \forall \,v \in V ;&\end{array}$$
(13.15)
$$\begin{array}{rcl} & {\sum \nolimits }_{e\in {E}^{-}(v)}{ \sum \nolimits }_{t=0}^{\theta }{x}_{ e}(t) -{\sum \nolimits }_{e\in {E}^{+}(v)}{ \sum \nolimits }_{t={\tau }_{e}}^{\theta }{x}_{ e}(t - {\tau }_{e}) \leq 0,\ \forall v \in {V }_{{_\ast}},\ \forall \theta \in T;&\end{array}$$
(13.16)
$$\begin{array}{rcl} & 0 \leq {x}_{e}(t) \leq {u}_{e}(t),\ \ \forall \,t \in T,\ \forall \,e \in E;&\end{array}$$
(13.17)
$$\begin{array}{rcl} & {x}_{e}(t) = 0,\ \forall \,e \in E,\ t = \overline{T - {\tau }_{e} + 1,T}.&\end{array}$$
(13.18)

Condition (13.18) ensures that there is no flow in the network after time horizon T. Conditions (13.17) are capacity constraints. As flow travels through the network, unlimited flow storage at the nodes is allowed, but any deficit is prohibited by constraint (13.16). Finally, all demands must be met, flow must not remain in the network after time T, and each source must not exceed its supply. This is ensured by constraint (13.15).

As above we seek for a feasible dynamic flow x that minimizes the total cost:

$$\begin{array}{rcl} F(x) ={ \sum \nolimits }_{t\in T}{ \sum \nolimits }_{e\in E}{\varphi }_{e}({x}_{e}(t),t).& & \\ \end{array}$$

We’d like to mention that the more general model can be obtained if we define the cost function as also dependent on the flow storage at nodes. In this case, the problem can be solved by using the similar approach.

To solve the formulated above minimum cost dynamic flow problem we use the modified time-expanded network method. The auxiliary static network N T is constructed as follows:

  1. 1.

    V T : = { v(t) | v ∈ V, t ∈ T};

  2. 2.

    \({V }_{+}^{\mathrm{T}} :=\{ v(0)\vert v \in {V }_{+}\}\) and \({V }_{-}^{\mathrm{T}} :=\{ v(T)\vert v \in {V }_{-}\}\);

  3. 3.

    \({E}^{\mathrm{T}} :=\{ (v(t),z(t + {\tau }_{e}))\ \vert \ e = (v,z) \in E,\ 0 \leq t \leq T - {\tau }_{e}\} \cup \{v(t),v(t + 1)\ \vert \ v \in V,\ 0 \leq t < T\}\);

  4. 4.

    d v(t) T : = d v for \(v(t) \in {V }_{+}^{\mathrm{T}} \cup {V }_{-}^{\mathrm{T}}\); otherwise d v(t) T : = 0;

  5. 5.

    \({u{}_{(v(t),z(t+{\tau }_{(v,z)}))}}^{\mathrm{T}}\mbox{ : } = {u}_{(v,z)}(t)\) for (v(t), z(t + τ(v, z))) ∈ E T; \({u{}_{(v(t),v(t+1))}}^{\mathrm{T}}\mbox{ : } = \infty \) for (v(t), v(t + 1)) ∈ E T;

  6. 6.

    \({\varphi {}_{(v(t),z(t+{\tau }_{(v,z)}))}}^{\mathrm{T}}({x{}_{(v(t),z(t+{\tau }_{(v,z)}))}}^{\mathrm{T}})\mbox{ : } = {\varphi }_{(v,z)}({x}_{(v,z)}(t),t)\) for (v(t), z(t + τ(v, z))) ∈ E T; \({\varphi {}_{(v(t),v(t+1))}}^{\mathrm{T}}({x{}_{(v(t),v(t+1))}}^{\mathrm{T}})\mbox{ : } = 0\) for (v(t), v(t + 1)) ∈ E T.

If the flow correspondence is the following: x e(t) T : = x e (t), where x (v(t), v(t + 1)) T in N T corresponds to the flow in N stored at node v at period of time from t to t + 1, the minimum cost flow problem on dynamic networks can be solved by solving the minimum cost static flow problem on the time-expanded network.

3.4 The Minimum Cost Dynamic Flow Problems with Different Types of Cost Functions on Arcs and some Generalizations

If the cost function φ e (x e (t), t) is linear with regard to x e (t), then the cost function of the time-expanded network is linear. In this case, we can apply well-established methods for minimum cost flow problems, including linear programming algorithms [28], combinatorial algorithms, as well as other developments, like [24].

If the cost function φ e (x e (t), t) is convex with regard to x e (t), then the cost function of the time-expanded network is convex. To solve the obtained static problem we can apply methods from convex programming as well as the specialization of such methods for the minimum cost flow problem.

If there is exactly one source, and the cost function φ e (x e (t), t) is concave with regard to x e (t), then the cost function of the time-expanded network is concave. If the dynamic network is acyclic, then the time-expanded network is acyclic and finite [3940]. Therefore we can solve the static problem with polynomial algorithms for the minimum cost flow problem on acyclic networks with concave cost functions  [36].

The same reasoning to solve the minimum cost dynamic flow problem can be held in the case when, instead of condition (13.10) in the definition of the feasible dynamic flow, the following condition takes place:

$$\begin{array}{rcl}{ u}_{e}(t) \leq {x}_{e}(t) \leq {u}_{e}(t),\ \ \forall \,t \in \mathbb{T},\ \forall \,e \in E,& & \\ \end{array}$$

where u′ e (t) ≥ 0 and u′ e (t) ≥ 0 are lower and upper boundaries of the capacity of arc e, respectively.

3.5 Dynamic Networks with Transit Time Functions that Depend on Flow and Time

In the above dynamic models, the transit time functions are assumed to be constant on each arc of the network. In this setting, the time it takes to traverse an arc does not depend on the current flow situation on the arc and the moment of time. Intuitively, it is clear that in many applications the amount of time needed to traverse an arc of the network increases as the arc becomes more congested and it also depends on the entering time-moment of flow in the arc. If these assumptions are taking into account, a more realistic model can be obtained. In this model, we assume that the transit time function τ e (x e (t), t) is a non-negative non-decreasing left-continuous step function with respect to the amount of flow x e (t) for every fixed time-moment t ∈ T and an arbitrary given arc e ∈ E. We also consider two-side restrictions on arc capacities u′ e (t) ≤ x e (t) ≤ u′ e (t),  ∀ t ∈ T,  ∀ e ∈ E, where u′, u′: E ×T → R  +  are lower and upper capacities, respectively.

It is shown [19] that the minimum cost flow problem on dynamic network with transit time functions that depend on the amount of flow and the entering time-moment of flow in the arc can be reduced to a static problem on a special time-expanded network N T = (V T, E T, d T, u′ T, u′ T, φT), which is defined as follows:

  1. 1.

    \({\overline{V }}^{\mathrm{T}}\mbox{ : } =\{ v(t)\,\vert \,v \in V,\ t \in T\}\);

  2. 2.

    \(\widetilde{{V }}^{\mathrm{T}}\mbox{ : } =\{ e(v(t))\,\vert \,v(t) \in {\overline{V }}^{\mathrm{T}},\ e \in {E}^{-}(v),\ t \in T \setminus \{ T\}\}\);

  3. 3.

    \({V }^{\mathrm{T}}\mbox{ : } ={ \overline{V }}^{\mathrm{T}} \cup \widetilde{ {V }}^{\mathrm{T}}\);

  4. 4.

    \(\widetilde{{E}}^{\mathrm{T}}\mbox{ : } =\{\widetilde{ e}(t) = (v(t),e(v(t)))\,\vert \,v(t) \in { \overline{V }}^{\mathrm{T}}\mbox{ and corresponding }e(v(t)) \in \widetilde{ {V }}^{\mathrm{T}},\ t \in T \setminus \{ T\}\}\);

  5. 5.

    \({\overline{E}}^{\mathrm{T}}\mbox{ :}\,=\,\{{e}^{p}(t)=(e(v(t)),z(t+{\tau }_{e}^{p}({x}_{e}(t),t)))\,\vert \,e(v(t)) \in \widetilde{ {V }}^{\mathrm{T}},\ z(t+{\tau }_{e}^{p}({x}_{e}(t),t)) \in { \overline{V }}^{\mathrm{T}},\ e=(v,z) \in E,\ 0 \leq t \leq T-{\tau }_{e}^{p}({x}_{e}(t),t),\ p\,\in \,{P}_{e,t}\mbox{ - set of numbers of steps of the transit time function}{\tau }_{e}^{p}({x}_{e}(t),t)\}\);

  6. 6.

    \({E}^{\mathrm{T}}\mbox{ : }\,=\,{\overline{E}}^{\mathrm{T}} \cup \widetilde{ {E}}^{\mathrm{T}}\);

  7. 7.

    \({d{}_{v(t)}}^{\mathrm{T}}\mbox{ : } = {d}_{v}(t)\mbox{ for }v(t) \in {\overline{V }}^{\mathrm{T}};\) \({d{}_{e(v(t))}}^{\mathrm{T}}\mbox{ : } = 0\mbox{ for }e(v(t)) \in \widetilde{ {V }}^{\mathrm{T}};\)

  8. 8.

    \({u{}_{\widetilde{e}(t)}}^{\mathrm{T}}\mbox{ : } = {u}_{e}(t)\mbox{ for }\widetilde{e}(t) \in \widetilde{ {E}}^{\mathrm{T}};\) \({u{}_{\widetilde{e}(t)}}^{\mathrm{T}}\mbox{ : } = {u}_{e}(t)\mbox{ for }\widetilde{e}(t) \in \widetilde{ {E}}^{\mathrm{T}};\) \({u{}_{{e}^{p}(t)}}^{\mathrm{T}}\mbox{ : } = \overline{{x}_{e}^{p-1}}(t)\ \mbox{ for }{e}^{p}(t) \in {\overline{E}}^{\mathrm{T}},\mbox{ where }\overline{{x}_{e}^{0}}(t) = {u}_{e}(t);\) \({u{}_{{e}^{p}(t)}}^{\mathrm{T}}\mbox{ : } = \overline{{x}_{e}^{p}}(t)\ \mbox{ for }{e}^{p}(t) \in {\overline{E}}^{\mathrm{T}};\)

  9. 9.

    \({\varphi {}_{\widetilde{e}(t)}}^{\mathrm{T}}({x{}_{\widetilde{e}(t)}}^{\mathrm{T}})\mbox{ : } = {\varphi }_{e}({x}_{e}(t),t)\mbox{ for }\widetilde{e}(t) \in \widetilde{ {E}}^{\mathrm{T}};\) \({\varphi {}_{{e}^{p}(t)}}^{\mathrm{T}}({x{}_{{e}^{p}(t)}}^{\mathrm{T}})\mbox{ : } = {\epsilon }_{p}\mbox{ for }{e}^{p}(t) \in {\overline{E}}^{\mathrm{T}},\mbox{ where }{\epsilon }_{1} < {\epsilon }_{2} < \cdots < {\epsilon }_{\vert {P}_{e,t}\vert }\) are small numbers.

Let us consider, for example, the transit time function τ e  = τ e (x e (t), t), graphic of which for the fixed moment of time t and the given arc e is presented in Fig. 13.3. Here P e, t  = { 1, 2, 3}. So, for the fixed moment of time t on the given arc e the transit time is equal to 3 if the value of flow belongs to interval [u′ e (t), 2]; the transit time is equal to 5 if the value of flow belongs to interval (2, 4]; the transit time is equal to 8 if the value of flow belongs to interval (4, u′ e (t)].

Fig. 13.3
figure 3_13

The transit time function for the fixed moment of time t and the given arc e = (v, z)

In Fig. 13.4 a part of the obtained time-expanded network is presented for the fixed moment of time t for the given arc e = (v, z) with the transit time function in Fig. 13.3. Lower and upper capacities of arcs are written above each arc and costs are written below each arc.

Fig. 13.4
figure 4_13

The part of the constructed time-expanded network N T for the fixed moment of time t for the arc e = (v, z)

The solution of the dynamic problem can be found on the basis of the following results.

Lemma 13.2.

Let x T : E T → R + be a flow in the static network N T . Then the function x: E × T → R + defined as follows:

$$\begin{array}{rcl} & & {x}_{e}(t) = {x{}_{\widetilde{e}(t)}}^{\mathrm{T}} = {x{}_{{ e}^{p}(t)}}^{\mathrm{T}} \\ & & \mbox{ for }e = (v,z) \in E,\ \widetilde{e}(t) = (v(t),e(v(t))) \in \widetilde{ {E}}^{\mathrm{T}}, \\ & & {e}^{p}(t) = (e(v(t)),z(t + {\tau }_{ e}^{p}({x}_{ e}(t),t))) \in {\overline{E}}^{\mathrm{T}}, \\ & & p \in {P}_{e,t}\mbox{ is such that }{x{}_{\widetilde{e}(t)}}^{\mathrm{T}} \in \left (\overline{{x}_{ e}^{p-1}}(t),\overline{{x}_{ e}^{p}}(t)\right ],\ t \in T, \\ \end{array}$$

represents a flow in the dynamic network N.

Let x: E × T → R + be a flow in the dynamic network N. Then the function x T : E T → R + defined as follows:

$$\begin{array}{rcl} & & {x{}_{\widetilde{e}(t)}}^{\mathrm{T}} = {x}_{ e}(t)\mbox{ for }\widetilde{e}(t) = (v(t),e(v(t))) \in \widetilde{ {E}}^{\mathrm{T}},\ e = (v,z) \in E,\ t \in T; \\ & & {x{}_{{e}^{p}(t)}}^{\mathrm{T}} = {x}_{ e}(t)\mbox{ for such }p \in {P}_{e,t}\mbox{ that }{x}_{e}(t) \in \left (\overline{{x}_{e}^{p-1}}(t),\overline{{x}_{ e}^{p}}(t)\right ] \\ & & \mbox{ and }{x{}_{{e}^{p}(t)}}^{\mathrm{T}} = 0\mbox{ for all other }p \in {P}_{ e,t} \\ & & \mbox{ for }{e}^{p}(t) = (e(v(t)),z(t + {\tau }_{ e}^{p}({x}_{ e}(t),t))) \in {\overline{E}}^{\mathrm{T}},\ e = (v,z) \in E,\ t \in T, \\ \end{array}$$

represents a flow in the static network N T .

Theorem 13.2.

If x T is a static minimum cost flow in the static network N T , then the corresponding according to Lemma  13.2 dynamic flow x in the dynamic network N is also a minimum cost flow and vice-versa.

The proofs of the above lemma and theorem can be obtained by using the arguments similar to the ones in the proofs of Lemma 13.1 and Theorem 13.1.

3.6 The Maximum Flow Problem on Dynamic Network

Let be given a dynamic network N, determined by a directed graph G = (V, E), where V is a set of vertices and E is a set of arcs. As above, we consider the discrete time model, in which all times are integral and bounded by horizon T. The object of the dynamic problem is to find a maximum flow over time in the network N within makespan \(\mathbb{T} =\{ 0,1,2,\ldots ,T\}\) while respecting the following restrictions. Each arc e ∈ E has a nonnegative time-varying capacity u e (t) which bounds the amount of flow allowed on each arc at every moment of time. Moreover, each arc e has an associated nonnegative transit time τ e which determines the amount of time it takes for flow to travel through the arc.

A feasible dynamic flow in the network N is a function \(x\mbox{ : }E \times \mathbb{T} \rightarrow {R}_{+}\) that satisfies conditions (13.10)–(13.11) and the following conditions:

$${\sum \nolimits }_{e\in {E}^{-}(v)}{x}_{e}(t)-{\sum \nolimits }_{\begin{array}{c}e\in {E}^{+}(v) \\ t-{\tau }_{e}\geq 0 \end{array}}{x}_{e}(t-{\tau }_{e}) = \left \{\begin{array}{ll} {y}_{v}(t),\ v \in {V }_{+}, \\ 0,\ v \in {V }_{{_\ast}}, \\ - {y}_{v}(t),\ v \in {V }_{-},\\ \end{array} \right.\forall \,t \in \mathbb{T},\ \forall \,v \in V ;$$
$${y}_{v}(t) \geq 0,\ \forall \,t \in \mathbb{T},\ \forall \,v \in V.$$

The total value of the dynamic flow x in the network N is defined as follows:

$$\vert x\vert ={ \sum \nolimits }_{t\in \mathbb{T}}{ \sum \nolimits }_{v\in {V }_{+}}{y}_{v}(t).$$

The maximum dynamic flow problem consists in finding a feasible dynamic flow that maximizes this objective function.

To solve the considered problem we propose an approach, which is based on the reduction of the maximum dynamic flow problem to a well studied maximum static flow problem. We show that our problem on network N can be reduced to a classical problem on the time-expanded network N T, which is defined in the following way:

  1. 1.

    \({V }^{\mathrm{T}}\mbox{ : } =\{ v(t)\,\vert \,v \in V,\ t \in \mathbb{T}\}\);

  2. 2.

    \({E}^{\mathrm{T}}\mbox{ : } =\{ (v(t),z(t + {\tau }_{e}))\,\vert \,e = (v,z) \in E,\ 0 \leq t \leq T - {\tau }_{e}\}\);

  3. 3.

    u e(t) T: = u e (t) for e(t) ∈ E T;

  4. 4.

    y v(t) T: = y v (t) for v(t) ∈ V T.

The correspondence between feasible flows in the dynamic network N and feasible flows in the time-expanded network N T is defined by (13.13).

Lemma 13.3.

The correspondence (13.13) is a bijection from the set of feasible flows in the dynamic network N onto the set of feasible flows in the time-expanded network N T .

Proof.

It is easy to see that the correspondence (13.13) is a bijection from the set of T-horizon functions in the dynamic network N onto the set of functions in the time-expanded network N T. In the following, we have to verify that each flow in the dynamic network N is put into the correspondence with a flow in the time-expanded network N T and vice-versa. Moreover, we have to show that a feasible flow in the dynamic network N is a feasible flow in the time-expanded network N T and vice-versa.

Henceforward, we define

$$\begin{array}{rcl}{ d}_{v}(t) = \left \{\begin{array}{ll} {y}_{v}(t),\ v \in {V }_{+}, \\ 0,\ v \in {V }_{{_\ast}}, \\ - {y}_{v}(t),\ v \in {V }_{-},\\ \end{array} \right.\ \forall t \in \mathbb{T},\ \forall v \in V,& & \\ \end{array}$$

and continue the proof of the lemma in the way similar to the one for Lemma 13.1.

The lemma is proved.

Remark 13.1.

The following condition is true:

$$\begin{array}{rcl} {\sum \nolimits }_{t\in \mathbb{T}}{ \sum \nolimits }_{v\in {V }_{-}}{y}_{v}(t) ={ \sum \nolimits }_{t\in \mathbb{T}}{ \sum \nolimits }_{v\in {V }_{+}}{y}_{v}(t).& & \\ \end{array}$$

The total value of the static flow in the time-expanded network N T is defined as follows:

$$\begin{array}{rcl} \vert {x}^{\mathrm{T}}\vert ={ \sum \nolimits }_{t\in \mathbb{T}}{ \sum \nolimits }_{v(t)\in {V }_{+}^{\mathrm{T}}}{y{}_{v(t)}}^{\mathrm{T}}.& & \\ \end{array}$$

Theorem 13.3.

If x is a flow in the dynamic network N and x T is a corresponding flow in the time-expanded network N T , then

$$\begin{array}{rcl} \vert x\vert = \vert {x}^{\mathrm{T}}\vert.& & \\ \end{array}$$

Moreover, for each maximum flow x in the dynamic network N there is a corresponding maximum flow x T in the static network N T such that

$$\begin{array}{rcl} \vert {x}^{{_\ast}}\vert = \vert {x}^{{_\ast}\mathrm{T}}\vert & & \\ \end{array}$$

and vice-versa.

Proof.

Let x : E ×T → R  +  be an arbitrary dynamic flow in N. Then according to Lemma 13.3 the unique flow x T in N T corresponds to the flow x in N, and we obtain:

$$\begin{array}{rcl} \vert x\vert ={ \sum \nolimits }_{t\in \mathbb{T}}{ \sum \nolimits }_{v\in {V }_{+}}{y}_{v}(t) ={ \sum \nolimits }_{t\in \mathbb{T}}{ \sum \nolimits }_{v(t)\in {V }_{+}^{\mathrm{T}}}{y{}_{v(t)}}^{\mathrm{T}} = \vert {x}^{\mathrm{T}}\vert.& & \\ \end{array}$$

So, the first part of the theorem is proved. The second part of the theorem is proved in the way similar to the one for Theorem 13.1. The theorem is proved.

In such a way, the maximum flow problem on dynamic networks can be solved by applying network flow optimization methods and algorithms for static flows directly to the time-expanded network. To solve the maximum flow problem on dynamic network we have to construct the time-expanded network, after what to solve the classical maximum flow problem on the static network, using one of the known algorithms [111131422273134434648], and then to reconstruct the solution of the static problem to the dynamic problem.

4 Dynamic Multicommodity Flow Problems and Algorithms for their Solving

In this section we study dynamic versions of the minimum cost multicommodity flow problem and the maximum multicommodity flow problem on networks. These problems are considered on dynamic networks with time-varying capacities of arcs and transit times on arcs that depend on sort of commodity entering them. For the minimum cost multicommodity dynamic flow problem we assume that cost functions, defined on arcs, are nonlinear and depend on time and flow, and demand-supply functions depend on time. We also consider optimal multicommodity flow problems on dynamic networks with transit time functions that depend on flow and time. For solving the considered dynamic problems we propose methods and algorithms based on reduction of dynamic problems to static ones on an auxiliary time-expanded network. The algorithm for construction a special reduced time-expanded network for an acyclic network is also proposed.

4.1 The Minimum Cost Multicommodity Flow Problem on Dynamic Network

We consider a dynamic network N = (V, E, K, τ, d, u, w, φ), determined by directed graph G = (V, E), where V is a set of vertices and E is a set of arcs, set of commodities \(K =\{ 1,2,\ldots ,q\}\) that must be routed through the same network, transit time function τ: E ×K → R  + , demand-supply function d: V ×K ×T → R, mutual capacity function u: E ×T → R  + , individual capacity function w: E ×K ×T → R  +  and cost function \(\varphi \mbox{ : }E \times {R}_{+} \times T \rightarrow {R}_{+}\). So, \({\tau }_{e} = ({\tau }_{e}^{1},{\tau }_{e}^{2},\ldots ,{\tau }_{e}^{q})\) is a vector, each component of which reflects the transit time on arc e ∈ E for commodity k ∈ K. We consider the discrete time model, where all times are integral and bounded by horizon T, which defines the set \(T =\{ 0,1,\ldots ,T\}\) of time moments.

In order for the flow to exist it is required that ∑ t ∈ T v ∈ V d v k(t) = 0,  ∀k ∈ K. As above without losing generality we consider that for every commodity k ∈ K the set of vertices V is divided into three disjoint subsets \({V }_{+}^{k},{V }_{-}^{k},{V }_{{_\ast}}^{k}\), such that:

V  +  k consists of nodes v ∈ V , for which d v k(t) ≥ 0 for t ∈ T and there exists at least one moment of time t 0 ∈ T such that d v k(t 0) > 0;

V  −  k consists of nodes v ∈ V , for which d v k(t) ≤ 0 for t ∈ T and there exists at least one moment of time t 0 ∈ T such that d v k(t 0) < 0;

V  ∗  k  consists of nodes v ∈ V , for which d v k(t) = 0 for every t ∈ T.

So, V  +  k is a set of sources, V  −  k is a set of sinks and V  ∗  k is a set of intermediate nodes for the commodity k ∈ K in the network N.

A feasible dynamic multicommodity flow in the network N is determined by a function x: E ×K ×T → R  +  that satisfies the following conditions:

$$\begin{array}{rcl} & {\sum \nolimits }_{e\in {E}^{-}(v)}{x}_{e}^{k}(t) -{\sum \nolimits }_{{ e\in {E}^{+}(v) \atop t-{\tau }_{e}^{k}\geq 0} }{x}_{e}^{k}(t - {\tau }_{ e}^{k}) = {d}_{ v}^{k}(t),\ \forall \,t \in T,\ \forall \,v \in V,\ \forall k \in K;&\end{array}$$
(13.19)
$$\begin{array}{rcl} & {\sum }_{k\in K}{x}_{e}^{k}(t) \leq {u}_{e}(t),\ \forall \,t \in T,\ \forall e \in E;&\end{array}$$
(13.20)
$$\begin{array}{rcl} & 0 \leq {x}_{e}^{k}(t) \leq {w}_{e}^{k}(t),\ \ \forall \,t \in T,\ \forall \,e \in E,\ \forall k \in K;&\end{array}$$
(13.21)
$$\begin{array}{rcl} & {x}_{e}^{k}(t) = 0,\ \forall \,e \in E,\ t = \overline{T - {\tau }_{e}^{k} + 1,T},\ \forall k \in K.&\end{array}$$
(13.22)

Here, the function x defines the value x e k(t) of flow of commodity k entering arc e at moment of time t. Condition (13.22) ensures that the flow of commodity k does not enter arc e at time t if it has to leave the arc after time horizon T. Individual and mutual capacity constraints (13.21) and (13.20) are called weak and strong forcing constraints, respectively. Conditions (13.19) represent flow conservation constraints.

The total cost of the dynamic multicommodity flow x in the network N is defined as follows:

$$\begin{array}{rcl} F(x) ={ \sum \nolimits }_{t\in T}{ \sum \nolimits }_{e\in E}{\varphi }_{e}({x}_{e}^{1}(t),{x}_{ e}^{2}(t),\ldots ,{x}_{ e}^{q}(t),t).& &\end{array}$$
(13.23)

The minimum cost dynamic multicommodity flow problem consists in finding a feasible dynamic multicommodity flow that minimizes the objective function (13.23).

4.2 The Algorithm for Solving the Minimum Cost Dynamic Multicommodity Flow Problem

To solve the formulated problem we propose an approach based on the reduction of the dynamic problem to a static problem. We show that the minimum cost multicommodity flow problem on network N can be reduced to a static problem on a special auxiliary network N T. In the case of the minimum cost multicommodity flow problem on dynamic network with different transit times on an arc for different commodities the auxiliary time-expanded network N T = (V T, E T, K, d T, u T, w T, φT) is defined in the following way:

  1. 1.

    \({\overline{V }}^{\mathrm{T}}\mbox{ : } =\{ v(t)\,\vert \,v \in V,\ t \in T\}\);

  2. 2.

    \(\widetilde{{V }}^{\mathrm{T}}\mbox{ : } =\{ e(v(t))\,\vert \,v(t) \in {\overline{V }}^{\mathrm{T}},\ e \in {E}^{-}(v),\ t \in T \setminus \{ T\}\}\);

    skip

  3. 3.

    \({V }^{\mathrm{T}}\mbox{ : } ={ \overline{V }}^{\mathrm{T}} \cup \widetilde{ {V }}^{\mathrm{T}}\);

  4. 4.

    \(\widetilde{{E}}^{\mathrm{T}}\mbox{ : } =\{\widetilde{ e}(t) = (v(t),e(v(t)))\,\vert \,v(t) \in {\overline{V }}^{\mathrm{T}}\mbox{ and corresponding }e(v(t)) \in \widetilde{ {V }}^{\mathrm{T}},\ t \in T \setminus \{ T\}\}\);

  5. 5.

    \({\overline{E}}^{\mathrm{T}}\mbox{ : } =\{ {e}^{k}(t) = (e(v(t)),z(t + {\tau }_{e}^{k}))\,\vert \,e(v(t)) \in \widetilde{ {V }}^{\mathrm{T}},\ z(t + {\tau }_{e}^{k}) \in {\overline{V }}^{\mathrm{T}},\ e = (v,z) \in E,\ 0 \leq t \leq T - {\tau }_{e}^{k},\ k \in K\}\);

  6. 6.

    \({E}^{\mathrm{T}}\mbox{ : } ={ \overline{E}}^{\mathrm{T}} \cup \widetilde{ {E}}^{\mathrm{T}}\);

  7. 7.

    \({d{}_{v(t)}^{k}}^{\mathrm{T}}\mbox{ : } = {d}_{v}^{k}(t)\mbox{ for }v(t) \in {\overline{V }}^{\mathrm{T}},\ k \in K;\) \({d{}_{e(v(t))}^{k}}^{\mathrm{T}}\mbox{ : } = 0\mbox{ for }e(v(t)) \in \widetilde{ {V }}^{\mathrm{T}},\ k \in K;\)

  8. 8.

    \({u{}_{\widetilde{e}(t)}}^{\mathrm{T}}\mbox{ : } = {u}_{e}(t)\mbox{ for }\widetilde{e}(t) \in \widetilde{ {E}}^{\mathrm{T}};\) \({u{}_{{e}^{k}(t)}}^{\mathrm{T}}\mbox{ : } = \infty \mbox{ for }{e}^{k}(t) \in {\overline{E}}^{\mathrm{T}};\)

  9. 9.

    \({w{}_{{e}^{k}(t)}^{l}}^{\mathrm{T}}\mbox{ : } = \left \{\begin{array}{ll} {w}_{e}^{k}(t),&\mbox{ if }l = k\mbox{ for }{e}^{k}(t) \in {\overline{E}}^{\mathrm{T}},\ l \in K; \\ 0, &\mbox{ if }l\neq k\mbox{ for }{e}^{k}(t) \in {\overline{E}}^{\mathrm{T}},\ l \in K;\\ \end{array} \right.\) \({w{}_{\widetilde{e}(t)}^{l}}^{\mathrm{T}} = \infty \) for \(\widetilde{e}(t) \in \widetilde{ {E}}^{\mathrm{T}},\ l \in K\);

  10. 10.

    \({\varphi {}_{\widetilde{e}(t)}}^{\mathrm{T}}({x{}_{\widetilde{e}(t)}^{1}}^{\mathrm{T}},{x{}_{\widetilde{e}(t)}^{2}}^{\mathrm{T}},\ldots ,{x{}_{\widetilde{e}(t)}^{q}}^{\mathrm{T}})\mbox{ : } = {\varphi }_{e}({x}_{e}^{1}(t),{x}_{e}^{2}(t),\ldots ,{x}_{e}^{q}(t),t)\mbox{ for }\widetilde{e}(t) \in \widetilde{ {E}}^{\mathrm{T}};\) \({\varphi {}_{{e}^{k}(t)}}^{\mathrm{T}}({x{}_{{e}^{k}(t)}^{1}}^{\mathrm{T}},{x{}_{{e}^{k}(t)}^{2}}^{\mathrm{T}},\ldots ,{x{}_{{e}^{k}(t)}^{q}}^{\mathrm{T}})\mbox{ : } = 0\mbox{ for }{e}^{k}(t) \in {\overline{E}}^{\mathrm{T}}.\)

In the following, we construct the time-expanded network N T for the dynamic network N given in Fig. 13.1 with set of two commodities K = { 1, 2}, set of time moments T = { 0, 1, 2, 3} and transit times \({\tau }_{{e}_{1}}^{1} = 2\), \({\tau }_{{e}_{1}}^{2} = 1\), \({\tau }_{{e}_{2}}^{1} = 1\), \({\tau }_{{e}_{2}}^{2} = 3\), \({\tau }_{{e}_{3}}^{1} = 1\), \({\tau }_{{e}_{3}}^{2} = 2\). The mutual capacity, individual capacity, demand–supply, and cost functions are considered to be known. The constructed time-expanded network N T is presented in Fig. 13.5.

Fig. 13.5
figure 5_13

The time-expanded network (case of different transit times on an arc for different commodities)

Lemma 13.4.

Let x T : E T × K → R + be a multicommodity flow in the static network N T . Then the function x: E × K × T → R + defined in the following way:

$$\begin{array}{rcl} {x}_{e}^{k}(t)& = {x{}_{{ e}^{k}(t)}^{k}}^{\mathrm{T}} = {x{}_{\widetilde{ e}(t)}^{k}}^{\mathrm{T}} & \\ \mbox{ for }e& = (v,z) \in E,\ {e}^{k}(t) = (e(v(t)),z(t + {\tau }_{e}^{k})) \in {\overline{E}}^{\mathrm{T}},& \\ \widetilde{e}(t)& = (v(t),e(v(t))) \in \widetilde{ {E}}^{\mathrm{T}},\ k \in K,\ t \in T, & \\ \end{array}$$

represents a multicommodity flow in the dynamic network N.

Let x: E × K × T → R + be a multicommodity flow in the dynamic network N. Then the function x T : E T × K → R + defined in the following way:

$$\begin{array}{rcl} & & {x{}_{\widetilde{e}(t)}^{k}}^{\mathrm{T}}={x}_{ e}^{k}(t)\mbox{ for }\widetilde{e}(t)=(v(t),e(v(t))) \in \widetilde{ {E}}^{\mathrm{T}},\ e=(v,z)\! \in E,\ k\!\!\! \in K,\ t \in T; \\ & & {x{}_{{e}^{k}(t)}^{k}}^{\mathrm{T}} = {x}_{ e}^{k}(t);\ {x{}_{{ e}^{k}(t)}^{l}}^{\mathrm{T}} = 0,\ l\neq k \\ & & \mbox{ for }{e}^{k}(t) = (e(v(t)),\ z(t + {\tau }_{ e}^{k})) \in {\overline{E}}^{\mathrm{T}},\ e = (v,z) \in E,\ l,k \in K,\ t \in T, \\ \end{array}$$

represents a multicommodity flow in the static network N T .

Proof.

To prove the first part of the lemma we have to show that conditions (13.19)–(13.22) for the defined above x in the dynamic network N are true. These conditions evidently result from the following definition of multicommodity flows in the static network N T:

$$\begin{array}{rcl} & & {\sum \nolimits }_{e(t)\in {E}^{-}(v(t))}{x{}_{e(t)}^{k}}^{\mathrm{T}} -{\sum \nolimits }_{e(t-{\tau }_{e}^{k})\in {E}^{+}(v(t))}{{x}_{e(t-{\tau }_{e}^{k})}^{k}}^{\mathrm{T}} = {d{}_{ v(t)}^{k}}^{\mathrm{T}}, \\ & & \qquad \quad \ \forall \,v(t) \in {V }^{\mathrm{T}},\ \forall k \in K; \end{array}$$
(13.24)
$$\begin{array}{rcl} & & {\sum \nolimits }_{k\in K}{x{}_{e(t)}^{k}}^{\mathrm{T}} \leq {u{}_{ e(t)}}^{\mathrm{T}},\ \forall e(t) \in {E}^{\mathrm{T}};\end{array}$$
(13.25)
$$\begin{array}{rcl} & & 0 \leq {x{}_{e(t)}^{k}}^{\mathrm{T}} \leq {w{}_{ e(t)}^{k}}^{\mathrm{T}},\ \forall \,e(t) \in {E}^{\mathrm{T}},\ \forall k \in K;\end{array}$$
(13.26)
$$\begin{array}{rcl} & & {x{}_{e(t)}^{k}}^{\mathrm{T}} = 0,\ \forall \,e(t) \in {E}^{\mathrm{T}},\ t = \overline{T - {\tau }_{ e}^{k} + 1,T},\ \forall k \in K,\end{array}$$
(13.27)

where by v(t) and e(t) we denote \(\overline{v}(t)\) or \(\widetilde{v}(t)\) and \(\overline{e}(t)\) or \(\widetilde{e}(t)\), respectively, against context.

In order to prove the second part of the lemma it is sufficiently to show that conditions (13.24)–(13.27) hold for the defined above x T. Correctness of these conditions results from the procedure of constructing the time-expanded network, the correspondence between flows in static and dynamic networks and the satisfied conditions (13.19)–(13.22).

The lemma is proved.

Theorem 13.4.

If x T is a minimum cost multicommodity flow in the static network N T , then the corresponding according to Lemma  13.4 multicommodity flow x in the dynamic network N is also a minimum cost one and vice-versa.

Proof.

Taking into account the correspondence between static and dynamic multicommodity flows on the basis of Lemma 13.4, we obtain that costs of the static multicommodity flow in the time-expanded network N T and the corresponding dynamic multicommodity flow in the dynamic network N are equal. To solve the minimum cost multicommodity flow problem on the static time-expanded network N T, we have to solve the following problem:

$$\begin{array}{rcl} \begin{array}{c} {F}^{\mathrm{T}}({x}^{\mathrm{T}}) ={ \sum \nolimits }_{t\in T}{ \sum \nolimits }_{e(t)\in {E}^{\mathrm{T}}}{\varphi {}_{e(t)}}^{\mathrm{T}}\left ({x{}_{ e(t)}^{1}}^{\mathrm{T}},{x{}_{ e(t)}^{2}}^{\mathrm{T}},\ldots ,{x{}_{ e(t)}^{q}}^{\mathrm{T}}\right ) \rightarrow \min \\ \mbox{ subject to (13.24)\textendash (13.27)}. \end{array} & & \end{array}$$

In the case of the minimum cost multicommodity flow problem on dynamic network with common transit times on an arc for different commodities the time-expanded network N T can be constructed more simply:

  1. 1.

    V T: = { v(t) | v ∈ V,  t ∈ T};

  2. 2.

    \({E}^{\mathrm{T}}\mbox{ : } =\{ e(t) = (v(t),z(t+{\tau }_{e}))\,\vert \,v(t) \in {V }^{\mathrm{T}},\ z(t+{\tau }_{e}) \in {V }^{\mathrm{T}},\ e = (v,z) \in E,\ 0 \leq t \leq T - {\tau }_{e}\}\);

  3. 3.

    d v(t) k T: = d v k(t) for v(t) ∈ V T,  k ∈ K;

  4. 4.

    u e(t) T: = u e (t)  for e(t) ∈ E T;

  5. 5.

    w e(t) k T: = w e k(t) for e(t) ∈ E T,  k ∈ K;

  6. 6.

    \({\varphi {}_{e(t)}}^{\mathrm{T}}({x{}_{e(t)}^{1}}^{\mathrm{T}},{x{}_{e(t)}^{2}}^{\mathrm{T}},\ldots ,{x{}_{e(t)}^{q}}^{\mathrm{T}})\mbox{ : } = {\varphi }_{e}({x}_{e}^{1}(t),{x}_{e}^{2}(t),\ldots ,{x}_{e}^{q}(t),t)\) for e(t) ∈ E T.

The following lemma and theorem can be considered as particular cases of Lemma 13.4 and Theorem 13.4.

Lemma 13.5.

Let x T : E T × K → R + be a multicommodity flow in the static network N T . Then the function x: E × K × T → R + defined as follows:

$${x}_{e}^{k}(t) = {x{}_{ e(t)}^{k}}^{\mathrm{T}}\mbox{ for }e \in E,\ e(t) \in {E}^{\mathrm{T}},\ k \in K,\ t \in T,$$

represents the multicommodity flow in the dynamic network N.

Let x: E × K × T → R + be a multicommodity flow in the dynamic network N. Then the function x T : E T × K → R + defined as follows:

$${x{}_{e(t)}^{k}}^{\mathrm{T}} = {x}_{ e}^{k}(t)\mbox{ for }e(t) \in {E}^{\mathrm{T}},\ e \in E,\ k \in K,\ t \in T,$$

represents the multicommodity flow in the static network N T .

Theorem 13.5.

If x T is a minimum cost multicommodity flow in the static network N T , then the corresponding according to Lemma  13.5 multicommodity flow x in the dynamic network N is also a minimum cost one and vice-versa.

In such a way, to solve the minimum cost multicommodity flow problem on dynamic networks we have:

  1. 1.

    To build the time-expanded network N T for the given dynamic network N.

  2. 2.

    To solve the classical minimum cost multicommodity flow problem on the static network N T [44410891415].

  3. 3.

    To reconstruct the solution of the static problem on N T to the dynamic problem on N.

The complexity of this algorithm depends on the complexity of the algorithm used for the minimum cost multicommodity flow problem on the static network. If such an algorithm has complexity O(f(n′, m′)), where n′ is the number of vertices and m′ is the number of arcs in the network, then the complexity of solving the minimum cost multicommodity flow problem with different transit times on arcs for different commodities on the time-expanded network employing the same algorithm is \(O(f((n + m)T,m(k + 1)T))\), where n is the number of vertices in the dynamic network, m is the number of arcs in the dynamic network and k is the number of commodities.

4.3 The Construction of the Time-Expanded Network for Acyclic Graphs

In this subsection, we consider the minimum cost multicommodity flow problem on the acyclic dynamic network N = (V, E, K, τ, d, u, w, φ) with time horizon \(T = +\infty \) and common transit times on an arc for different commodities. Without losing generality, we assume that no arcs enter sources or exit sinks. Let \({T}^{{_\ast}} =\max \{ \vert L\vert \} =\max \{{ \sum \nolimits }_{e\in L}{\tau }_{e}\}\), where L is a directed path in the graph G = (V, E). It is not difficult to show that x e k(t) = 0 for ∀e ∈ E, ∀k ∈ K, ∀t ≥ T  ∗ . This fact allows us to replace the infinite time horizon with the finite one, by substituting T  ∗  for the positive infinity.

In many cases, a big number of nodes is not connected with a directed path both to a sink and a source. Removing such nodes from the considered network does not influence the set of flows in this network. These nodes are called irrelevant to the flow problem. Nodes that are not irrelevant are relevant. The static network obtained by eliminating the irrelevant nodes and all arcs adjacent to them from the time-expanded network is called the reduced time-expanded network.

The network in Fig. 13.6 is a dynamic network that conforms to the definition of the acyclic dynamic network, with \({V }_{+} =\{ {v}_{1}\}\) and \({V }_{-} =\{ {v}_{5}\}\). Let us consider that all transit times are equal to 1, and accordingly T  ∗  = 3.

Fig. 13.6
figure 6_13

The dynamic network N with five nodes, and six arcs

The time-expanded network built according to the definition is presented in Fig. 13.7. This network has 20 nodes and 18 arcs.

Fig. 13.7
figure 7_13

The time-expanded network \({N}^{\mathrm{{T}^{{_\ast}}} }\) for the dynamic network N

If we exclude the irrelevant nodes we obtain a smaller static network depicted in Fig. 13.8 with 13 nodes and 13 arcs.

Fig. 13.8
figure 8_13

The reduced time-expanded network \({N}^{\mathrm{r{T}^{{_\ast}}} }\)

It is proposed the following algorithm for constructing the reduced network \({N}^{\mathrm{r{T}^{{_\ast}}} } = ({V }^{\mathrm{r{T}^{{_\ast}}} },{E}^{\mathrm{r{T}^{{_\ast}}} },{d}^{\mathrm{r{T}^{{_\ast}}} },{u}^{\mathrm{r{T}^{{_\ast}}} },{w}^{\mathrm{r{T}^{{_\ast}}} },{\varphi }^{\mathrm{r{T}^{{_\ast}}} })\) which is based on the process of elimination of irrelevant nodes from the time-expanded network:

  1. 1.

    To build the time-expanded network \({N}^{\mathrm{{T}^{{_\ast}}} }\) for the given dynamic network N.

  2. 2.

    To perform a breadth-first parse of the nodes for each source from the time expanded-network. The result of this step is the set \({V }_{-}({V }_{-}^{\mathrm{{T}^{{_\ast}}} })\) of the nodes that can be reached from at least a source in \({V }^{\mathrm{{T}^{{_\ast}}} }\).

  3. 3.

    To perform a breadth-first parse of the nodes beginning with the sink for each sink and parsing the arcs in the direction opposite to their normal orientation. The result of this step is the set \({V }_{+}({V }_{+}^{\mathrm{{T}^{{_\ast}}} })\) of nodes from which at least a sink in \({V }^{\mathrm{{T}^{{_\ast}}} }\) can be reached.

  4. 4.

    The reduced network will consist of a subset of nodes \({V }^{\mathrm{{T}^{{_\ast}}} }\) and arcs from \({E}^{\mathrm{{T}^{{_\ast}}} }\) determined in the following way:

    $$\begin{array}{rcl}{ V }^{\mathrm{r{T}^{{_\ast}}} }& = {V }^{\mathrm{{T}^{{_\ast}}} }\cap {V }_{-}({V }_{-}^{\mathrm{{T}^{{_\ast}}} }) \cap {V }_{+}({V }_{+}^{\mathrm{{T}^{{_\ast}}} }),& \\ {E}^{\mathrm{r{T}^{{_\ast}}} }& = {E}^{\mathrm{{T}^{{_\ast}}} }\cap ({V }^{\mathrm{r{T}^{{_\ast}}} }\times {V }^{\mathrm{r{T}^{{_\ast}}} }). & \\ \end{array}$$
  5. 5.

    \({d{}^{\mathrm{r}}{}_{v(t)}^{k}}^{\mathrm{{T}^{{_\ast}}} }\mbox{ : } = {d}_{v}^{k}(t)\) for \(v(t) \in {V }^{\mathrm{r{T}^{{_\ast}}} },\ k \in K\).

  6. 6.

    \({u{}^{\mathrm{r}}{}_{e(t)}}^{\mathrm{{T}^{{_\ast}}} }\mbox{ : } = {u}_{e}(t)\) for \(e(t) \in {E}^{\mathrm{r{T}^{{_\ast}}} }\).

  7. 7.

    \({w{}^{\mathrm{r}}{}_{e(t)}^{k}}^{\mathrm{{T}^{{_\ast}}} }\mbox{ : } = {w}_{e}^{k}(t)\) for \(e(t) \in {E}^{\mathrm{r{T}^{{_\ast}}} },\ k \in K\).

  8. 8.

    \({\varphi {}^{\mathrm{r}}{}_{e(t)}}^{\mathrm{{T}^{{_\ast}}} }({x{}_{e(t)}^{1}}^{\mathrm{T{_\ast}}},{x{}_{e(t)}^{2}}^{\mathrm{T{_\ast}}},\ldots ,{x{}_{e(t)}^{q}}^{\mathrm{T{_\ast}}})\mbox{ : } = {\varphi }_{e}({x}_{e}^{1}(t),{x}_{e}^{2}(t),\ldots ,{x}_{e}^{q}(t),t)\) for \(e(t) \in {E}^{\mathrm{r{T}^{{_\ast}}} }\).

The complexity of this algorithm can be estimated to be the same as the complexity of constructing the time-expanded network. It can be proven by using the similar approach as in [39] that the reduced network can be used in place of the time-expanded network.

We’d like to mention that the proposed above approach with some modifications can be used for constructing the reduced time-expanded network for the optimal single-commodity dynamic flow problems and the optimal multicommodity dynamic flow problems with different transit times on an arc for different commodities.

4.4 Multicommodity Dynamic Networks with Transit Time Functions that Depend on Flow and Time

We propose an approach for solving the minimum cost multicommodity dynamic flow problem with transit time functions that depend on flow and time. This problem is considered on dynamic networks with time-varying lower and upper capacity functions, time-varying mutual capacity function and time-varying demand–supply function. It is assumed that cost functions, defined on arcs, are nonlinear and depend on flow and time. The transit time function τ e k(x e k(t), t) is considered to be a non-negative non-decreasing left-continuous step function for each commodity k ∈ K.

The method for solving the minimum cost multicommodity dynamic flow problem with transit time functions that depend on flows and time is based on the reduction of the dynamic problem to a static problem on an auxiliary time-expanded network N T = (V T, E T, d T, u T, w′ T, w′ T, φT) which is defined as follows:

  1. 1.

    \({\overline{V }}^{\mathrm{T}}\mbox{ : } =\{ v(t)\,\vert \,v \in V,\ t \in T\}\);

  2. 2.

    \(\widetilde{{V }}^{\mathrm{T}}\mbox{ : } =\{ e(v(t))\,\vert \,v(t) \in {\overline{V }}^{\mathrm{T}},\ e \in {E}^{-}(v),\ t \in T \setminus \{ T\}\}\);

  3. 3.

    \({V }^{\mathrm{T}}\mbox{ : } ={ \overline{V }}^{\mathrm{T}} \cup \widetilde{ {V }}^{\mathrm{T}}\);

  4. 4.

    \(\widetilde{{E}}^{\mathrm{T}}\mbox{ : } =\{\widetilde{ e}(t) = (v(t),e(v(t)))\,\vert \,v(t) \in { \overline{V }}^{\mathrm{T}}\mbox{ and corresponding }e(v(t)) \in \widetilde{ {V }}^{\mathrm{T}},\ t \in T \setminus \{ T\}\}\);

  5. 5.

    \({\overline{E}}^{\mathrm{T}}\mbox{ : } =\{ {e}^{k,p}(t) = (e(v(t)),z(t + {\tau }_{e}^{k,p}({x}_{e}^{k}(t),t)))\,\vert \,e(v(t)) \in \widetilde{ {V }}^{\mathrm{T}},\ z(t + {\tau }_{e}^{k,p}({x}_{e}^{k}(t),t)) \in { \overline{V }}^{\mathrm{T}},e = (v,z) \in E,\ 0 \leq t \leq T - {\tau }_{e}^{k,p}({x}_{e}^{k}(t),t),\ p \in {P}_{e,t}^{k} -\mbox{ set of numbers of steps }\mbox{ of the transit time function}{\tau }_{e}^{k}({x}_{e}^{k}(t),t),k \in K\}\);

  6. 6.

    \({E}^{\mathrm{T}}\mbox{ : } ={ \overline{E}}^{\mathrm{T}} \cup \widetilde{ {E}}^{\mathrm{T}}\);

  7. 7.

    \({d{}_{v(t)}^{k}}^{\mathrm{T}}\mbox{ : } = {d}_{v}^{k}(t)\mbox{ for }v(t) \in {\overline{V }}^{\mathrm{T}},\ k \in K;\) \({d{}_{e(v(t))}^{k}}^{\mathrm{T}}\mbox{ : } = 0\mbox{ for }e(v(t)) \in \widetilde{ {V }}^{\mathrm{T}},\ k \in K;\)

  8. 8.

    \({u{}_{\widetilde{e}(t)}}^{\mathrm{T}}\mbox{ : } = {u}_{e}(t)\) for \(\widetilde{e}(t) \in \widetilde{ {E}}^{\mathrm{T}}\); \({u{}_{{e}^{k,p}(t)}}^{\mathrm{T}}\mbox{ : } = \infty \) for \({e}^{k,p}(t) \in {\overline{E}}^{\mathrm{T}};\)

  9. 9.

    \({w{}_{{e}^{k,p}(t)}^{l}}^{\mathrm{T}}\mbox{ : } = \left \{\begin{array}{ll} \overline{{x}_{e}^{k,p-1}}(t),&\mbox{ if }l = k\mbox{ for }{e}^{k,p}(t) \in {\overline{E}}^{\mathrm{T}},\ l \in K, \\ &\mbox{ where }\overline{{x}_{e}^{k,0}}(t) = {w}_{e}^{k}(t); \\ 0, &\mbox{ if }l\neq k\ \mbox{ for }{e}^{k,p}(t) \in {\overline{E}}^{\mathrm{T}},\ l \in K;\\ \end{array} \right.\) \({w{}_{{e}^{k,p}(t)}^{l}}^{\mathrm{T}}\mbox{ : } = \left \{\begin{array}{ll} \overline{{x}_{e}^{k,p}}(t),&\mbox{ if }l = k\mbox{ for }{e}^{k,p}(t) \in {\overline{E}}^{\mathrm{T}},\ l \in K; \\ 0, &\mbox{ if }l\neq k\ \mbox{ for }{e}^{k,p}(t) \in {\overline{E}}^{\mathrm{T}},\ l \in K;\\ \end{array} \right.\) \({w{}_{\widetilde{e}(t)}^{l}}^{\mathrm{T}} = -\infty \); \({w{}_{\widetilde{e}(t)}^{l}}^{\mathrm{T}} = +\infty \) for \(\widetilde{e}(t) \in \widetilde{ {E}}^{\mathrm{T}},\ l \in K\);

  10. 10.

    \({\varphi {}_{\widetilde{e}(t)}}^{\mathrm{T}}({x{}_{\widetilde{e}(t)}^{1}}^{\mathrm{T}},{x{}_{\widetilde{e}(t)}^{2}}^{\mathrm{T}},\ldots ,{x{}_{\widetilde{e}(t)}^{q}}^{\mathrm{T}})\mbox{ : } = {\varphi }_{e}({x}_{e}^{1}(t),{x}_{e}^{2}(t),\ldots ,{x}_{e}^{q}(t),t)\mbox{ for }\widetilde{e}(t) \in \widetilde{ {E}}^{\mathrm{T}};\) \({\varphi {}_{{e}^{k,p}(t)}}^{\mathrm{T}}({x{}_{{e}^{k,p}(t)}^{1}}^{\mathrm{T}},{x{}_{{e}^{k,p}(t)}^{2}}^{\mathrm{T}},\ldots ,{x{}_{{e}^{k,p}(t)}^{q}}^{\mathrm{T}})\mbox{ : } = {\epsilon }^{k,p}\mbox{ for }{e}^{k,p}(t) \in { \overline{E}}^{\mathrm{T}},\mbox{ where }{\epsilon }^{k,1} < {\epsilon }^{k,2} < \cdots < {\epsilon }^{k,\vert {P}_{e,t}^{k}\vert }\mbox{ are small numbers}.\)

For example, let us consider the transit time functions for an arc e = (v, z) at the moment of time t presented in Figs. 13.9 and 13.10, which correspond to commodities 1 and 2, respectively.

Fig. 13.9
figure 9_13

The transit time function for commodity 1 for the fixed moment of time t and the given arc e = (v, z)

Fig. 13.10
figure 10_13

The transit time function for commodity 2 for the fixed moment of time t and the given arc e = (v, z)

The constructed part of the time-expanded network for the fixed moment of time t for the arc e = (v, z) is presented in Fig. 13.11.

Fig. 13.11
figure 11_13

The part of the constructed time-expanded network N T for the fixed moment of time t for the arc e = (v, z)

The following lemma and theorem give us the relationship between flows in network N and flows in network N T.

Lemma 13.6.

Let x T : E T × K → R + be a multicommodity flow in the static network N T . Then the function x: E × K × T → R + defined in the following way:

$$\begin{array}{rcl} & {x}_{e}^{k}(t) = {x{}_{\widetilde{e}(t)}^{k}}^{\mathrm{T}} = {x{}_{{e}^{k,p}(t)}^{k}}^{\mathrm{T}} & \\ & \mbox{ for }e = (v,z) \in E,\ \widetilde{e}(t) = (v(t),e(v(t))) \in \widetilde{ {E}}^{\mathrm{T}}, & \\ & {e}^{k,p}(t) = (e(v(t)),z(t + {\tau }_{e}^{k,p}({x}_{e}^{k}(t),t))) \in {\overline{E}}^{\mathrm{T}}, & \\ & p \in {P}_{e,t}^{k}\mbox{ is such that }{x{}_{\widetilde{e}(t)}^{k}}^{\mathrm{T}} \in \left (\overline{{x}_{e}^{k,p-1}}(t),\overline{{x}_{e}^{k,p}}(t)\right ],\ t \in T,\ k \in K,& \\ \end{array}$$

represents a multicommodity flow in the dynamic network N.

Let x: E × K × T → R + be a multicommodity flow in the dynamic network N. Then the function x T : E T × K → R + defined in the following way:

$$\begin{array}{rcl} & {x{}_{\widetilde{e}(t)}^{k}}^{\mathrm{T}} = {x}_{e}^{k}(t) & \\ & \mbox{ for }\widetilde{e}(t) = (v(t),e(v(t))) \in \widetilde{ {E}}^{\mathrm{T}},\ e = (v,z) \in E,\ k \in K,\ t \in T; & \\ & {x{}_{{e}^{k,p}(t)}^{l}}^{\mathrm{T}} = 0,\ l\neq k; & \\ & {x{}_{{e}^{k,p}(t)}^{k}}^{\mathrm{T}} = {x}_{e}^{k}(t)\mbox{ for such }p \in {P}_{e,t}^{k}\mbox{ that }{x}_{e}^{k}(t) \in \left (\overline{{x}_{e}^{k,p-1}}(t),\overline{{x}_{e}^{k,p}}(t)\right ],& \\ & {x{}_{{e}^{k,p}(t)}^{k}}^{\mathrm{T}} = 0\mbox{ for all other }p \in {P}_{e,t}^{k} & \\ & \mbox{ for }{e}^{k,p}(t) = (e(v(t)),z(t + {\tau }_{e}^{k,p}({x}_{e}^{k}(t),t))) \in {\overline{E}}^{\mathrm{T}}, & \\ & e = (v,z) \in E,\ l,k \in K,\ t \in T, & \\ \end{array}$$

represents a multicommodity flow in the static network N T .

Theorem 13.6.

If x 1 T is a minimum cost multicommodity flow in the static network N T , then the corresponding according to Lemma  13.6 multicommodity flow x in the dynamic network N is also a minimum cost one and vice-versa.

4.5 The Maximum Multicommodity Dynamic Flow Problem

We show that the proposed time-expanded network method can be used for the maximum multicommodity dynamic flow problem. The scope of this problem is to find the maximum flow of a set of commodities within a given time bound through a network without violating capacity constraints of arcs. As above, time is measured in discrete steps, the set of time moments is \(\mathbb{T} =\{ 0,1,\ldots ,T\}\).

We consider a network N determined by a directed graph G = (V, E) and a set of commodities K that must be routed through the same network. Each arc e ∈ E has a nonnegative time-varying capacity w e k(t) which bounds the amount of flow of each commodity k ∈ K allowed on arc e ∈ E at every moment of time \(t \in \mathbb{T}\). We also consider that every arc e ∈ E has a nonnegative time-varying capacity for all commodities, which is known as the mutual capacity u e (t). Moreover, each arc e ∈ E has an associated nonnegative transit time τ e k which determines the amount of time it takes for flow of commodity k ∈ K to travel through the arc.

A feasible multicommodity dynamic flow in N is determined by a function \(x\mbox{ : }E \times K \times \mathbb{T} \rightarrow {R}_{+}\) that satisfies conditions (13.20)–(13.22) and the following conditions:

$$\begin{array}{rcl} {\sum \nolimits }_{e\in {E}^{-}(v)}{x}_{e}^{k}(t) -{\sum \nolimits }_{\begin{array}{c}e\in {E}^{+}(v) \\ t-{\tau }_{e}^{k}\geq 0\end{array}}{x}_{e}^{k}(t - {\tau }_{ e}^{k}) = \left \{\begin{array}{@{}l@{\quad }l@{}} {y}_{v}^{k}(t),\ v \in {V }_{+}^{k}, \quad \\ 0,\ v \in {V }_{{_\ast}}^{k}, \quad \\ -{y}_{v}^{k}(t),\ v \in {V }_{-}^{k},\quad \\ \quad \end{array} \right.& & \\ \end{array}$$
$$\begin{array}{rcl} & \forall \,t \in \mathbb{T},\ \forall \,v \in V,\ \forall k \in K; & \\ & {y}_{v}^{k}(t) \geq 0,\ \forall \,v \in V,\,\forall t \in \mathbb{T},\ \forall k \in K.& \\ \end{array}$$

The total value of the multicommodity dynamic flow x in the network N is defined as follows:

$$\begin{array}{rcl} \vert x\vert ={ \sum \nolimits }_{k\in K}{ \sum \nolimits }_{t\in \mathbb{T}}{ \sum \nolimits }_{v\in {V }_{+}^{k}}{y}_{v}^{k}(t).& & \\ \end{array}$$

The object of the formulated problem is to find a feasible multicommodity dynamic flow that maximizes this objective function.

To solve the maximum multicommodity dynamic flow problem by its reduction to a static one we define the time-expanded network N T in a similar way as for the minimum cost multicommodity dynamic flow problem. The correspondence between flows in the dynamic network N and the static network N T is also determined as above.

Using the same reasoning we obtain that if x  ∗ T is a maximum multicommodity flow in the static network N T, then the corresponding multicommodity flow x  ∗  in the dynamic network N is also a maximum one and vice-versa.

In such a way, the maximum multicommodity flow problem on dynamic networks can be solved by applying network flow optimization techniques for static flows directly to the expanded network. To solve the maximum multicommodity flow problem on N we have to build the time-expanded network N T for the given dynamic network N, after what to solve the classical maximum multicommodity flow problem on the static network N T, using one of the known algorithms [44108915] and then to reconstruct the solution of the static problem on N T to the dynamic problem on N.

5 Game-Theoretic Approach for Solving Multiobjective Multicommodity Flow Problems on Networks

In this section, we consider the game-theoretic formulation of the multiobjective multicommodity flow problem. If we associate to each commodity a player, we can regard this problem as a game version of the problem, where players interact between them and the choices of one player influence the choices of the others. Each player seeks to optimize his own vector utility function in response to the actions of the other players and at the same time players are interested to preserve Nash optimality principle when they interact between them. The game theory fits perfectly in the realm of such a problem, and an equilibrium or stable operating point of the system has to be found.

5.1 Pareto–Nash Equilibria for Multiobjective Games

In order to investigate the multiobjective multicommodity flow problem we will use the game-theoretic concept from [238].

The multiobjective game with q players is denoted by \(\overline{\Gamma } = ({X}_{1},{X}_{2},\ldots ,{X}_{q},{\overline{F}}_{1},{\overline{F}}_{2},\ldots ,{\overline{F}}_{q})\), where X k is a set of strategies of player k, \(k \in \{ 1,2,\ldots ,q\}\), and \({\overline{F}}_{k} = ({F}_{k}^{1},{F}_{k}^{2},\ldots ,{F}_{k}^{{r}_{k}})\) is a vector payoff function of player k, \(k \in \{ 1,2,\ldots ,q\}\), defined on the set of situations \(X = {X}_{1} \times {X}_{2} \times \cdots \times {X}_{q}\):

$$\begin{array}{rcl}{ \overline{F}}_{k}\ :\ {X}_{1} \times {X}_{2} \times \cdots \times {X}_{q} \rightarrow {R}^{{r}_{k} },\ k \in \{ 1,2,\ldots ,q\}.& & \\ \end{array}$$

Each component F k i of \({\overline{F}}_{k}\) corresponds to a partial criterion of player k and represents a real function defined on the set of situations \(X = {X}_{1} \times {X}_{2} \times \cdots \times {X}_{q}\):

$$\begin{array}{rcl}{ F}_{k}^{i}\ :\ {X}_{ 1} \times {X}_{2} \times \cdots \times {X}_{q} \rightarrow {R}^{1},\ i = \overline{1,{r}_{ k}},\ k \in \{ 1,2,\ldots ,q\}.& & \\ \end{array}$$

In [38], the solution of the multiobjective game \(\overline{\Gamma } = ({X}_{1},{X}_{2},\ldots ,{X}_{q},{\overline{F}}_{1},{\overline{F}}_{2},\ldots ,{\overline{F}}_{q})\) is called the Pareto–Nash equilibrium and is defined in the following way.

Definition 13.1.

The situation \({x}^{{_\ast}} = ({x}_{1}^{{_\ast}},{x}_{2}^{{_\ast}},\ldots ,{x}_{q}^{{_\ast}}) \in X\) is called the Pareto–Nash equilibrium for the multiobjective game \(\overline{\Gamma } = ({X}_{1},{X}_{2},\ldots ,{X}_{q},{\overline{F}}_{1},{\overline{F}}_{2},\ldots ,{\overline{F}}_{q})\) if for every \(k \in \{ 1,2,\ldots ,q\}\) the strategy x k  ∗  represents the Pareto solution for the following multicriterion problem:

$$\begin{array}{rcl} op{t}_{{x}_{k}\in {X}_{k}} \rightarrow {\overline{f}}_{{x}^{{_\ast}}}^{k}({x}_{ k}) = ({f}_{{x}^{{_\ast}}}^{k1}({x}_{ k}),{f}_{{x}^{{_\ast}}}^{k2}({x}_{ k}),\ldots ,{f}_{{x}^{{_\ast}}}^{k{r}_{k} }({x}_{k})),& & \\ \end{array}$$

where

$$\begin{array}{rcl}{ f}_{{x}^{{_\ast}}}^{ki}({x}_{ k}) = {F}_{k}^{i}({x}_{ 1}^{{_\ast}},{x}_{ 2}^{{_\ast}},\ldots ,{x}_{ k-1}^{{_\ast}},{x}_{ k},{x}_{k+1}^{{_\ast}},\ldots ,{x}_{ q}^{{_\ast}}),\ i = \overline{1,{r}_{ k}},\ k \in \{ 1,2,\ldots ,q\}.& & \\ \end{array}$$

This definition generalizes the well-known Nash equilibrium for classical noncooperative games (single-objective games) and the Pareto optimum for multicriterion problems. If r k  = 1, \(k \in \{ 1,2,\ldots ,q\}\), then \(\overline{\Gamma }\) becomes the classical noncooperative game, where x  ∗  represents a Nash equilibrium solution; in the case q = 1 the game \(\overline{\Gamma }\) becomes the Pareto multicriterion problem, where x  ∗  is a Pareto solution.

In the following, we present the theorem from [38] which represents an extension of the Nash theorem for the multiobjective version of the game.

Theorem 13.7.

Let \(\overline{\Gamma } = ({X}_{1},{X}_{2},\ldots ,{X}_{q},{\overline{F}}_{1},{\overline{F}}_{2},\ldots ,{\overline{F}}_{q})\) be a multiobjective game, where \({X}_{1},{X}_{2},\ldots ,{X}_{q}\) are convex compact sets and \({\overline{F}}_{1},{\overline{F}}_{2},\ldots ,{\overline{F}}_{q}\) represent continuous vector payoff functions. Moreover, let us assume that for every \(k \in \{ 1,2,\ldots ,q\}\) each component \({F}_{k}^{i}({x}_{1},{x}_{2},\ldots ,{x}_{k-1},{x}_{k},{x}_{k+1},\ldots ,{x}_{q})\), \(i = \overline{1,{r}_{k}}\) , of the vector function \({\overline{F}}_{k}({x}_{1},{x}_{2},\ldots ,{x}_{k-1},{x}_{k},{x}_{k+1},\ldots ,{x}_{q})\) represents a concave function with respect to x k on X k for fixed \({x}_{1},{x}_{2},\ldots ,{x}_{k-1},{x}_{k+1},\ldots ,{x}_{q}\) . Then for the multiobjective game \(\overline{\Gamma } = ({X}_{1},{X}_{2},\ldots ,{X}_{q},{\overline{F}}_{1},{\overline{F}}_{2},\ldots ,{\overline{F}}_{q})\) there exists the Pareto–Nash equilibrium situation \({x}^{{_\ast}} = ({x}_{1}^{{_\ast}},{x}_{2}^{{_\ast}},\ldots ,{x}_{q}^{{_\ast}}) \in {X}_{1} \times {X}_{2} \times \cdots \times {X}_{q}\) .

The proof of Theorem 13.7 in [38] is based on the reduction of the multiobjective game \(\overline{\Gamma } = ({X}_{1},{X}_{2},\ldots ,{X}_{q},\overline{{F}_{1}},\overline{{F}_{2}},\ldots ,\overline{{F}_{q}})\) to an auxiliary game \(\Gamma = ({X}_{1},{X}_{2},\ldots ,{X}_{q},{f}_{1},{f}_{2},\ldots ,{f}_{q})\) for which Nash theorem from [45] can be applied. In order to reduce the multiobjective game \(\overline{\Gamma }\) to an auxiliary game Γ linear convolution criteria for vector payoff functions are used.

In such a way, if conditions of Theorem 13.7 are satisfied then Pareto–Nash equilibrium solution for the multiobjective game can be found by using the following algorithm:

  1. 1.

    Fix an arbitrary set of real numbers \({\alpha }_{11},{\alpha }_{12},\ldots ,{\alpha }_{1{r}_{1}},{\alpha }_{21},{\alpha }_{22},\ldots ,{\alpha }_{2{r}_{2}},\ldots ,{\alpha }_{q1},{\alpha }_{q2},\ldots ,{\alpha }_{q{r}_{q}}\), which satisfy conditions:

    $$\begin{array}{rcl} \left \{\begin{array}{ll} {\sum \nolimits }_{i=1}^{{r}_{k} }{\alpha }_{ki} = 1,&k \in \{ 1,2,\ldots ,q\}; \\ {\alpha }_{ki} > 0, &i = \overline{1,{r}_{k}},\ k \in \{ 1,2,\ldots ,q\}.\\ \end{array} \right.& & \end{array}$$
    (13.28)
  2. 2.

    Form the single objective game \(\Gamma = ({X}_{1},{X}_{2},\ldots ,{X}_{q},{f}_{1},{f}_{2},\ldots ,{f}_{q})\), where

    $$\begin{array}{rcl}{ f}_{k}({x}_{1},{x}_{2},\ldots ,{x}_{q}) ={ \sum \nolimits }_{i=1}^{{r}_{k} }{\alpha }_{ki}{F}_{k}^{i}({x}_{ 1},{x}_{2},\ldots ,{x}_{q}),\ k \in \{ 1,2,\ldots ,q\}.& & \\ \end{array}$$
  3. 3.

    Find the Nash equilibrium \({x}^{{_\ast}} = ({x}_{1}^{{_\ast}},{x}_{2}^{{_\ast}},\ldots ,{x}_{q}^{{_\ast}})\) for the noncooperative game \(\Gamma = ({X}_{1},{X}_{2},\ldots ,{X}_{q},{f}_{1},{f}_{2},\ldots ,{f}_{q})\) and fix x  ∗  as the Pareto–Nash equilibrium solution for the multiobjective game \(\overline{\Gamma } = ({X}_{1},{X}_{2},\ldots ,{X}_{q},{\overline{F}}_{1},{\overline{F}}_{2},\ldots ,{\overline{F}}_{q})\).

This algorithm finds only one of the solutions of the multiobjective game \(\overline{\Gamma } = ({X}_{1},{X}_{2},\ldots ,{X}_{q},{\overline{F}}_{1},{\overline{F}}_{2},\ldots ,{\overline{F}}_{q})\). In order to find all solutions in the Pareto–Nash sense it is necessary to apply the algorithm for every \({\alpha }_{11},{\alpha }_{12},\ldots ,{\alpha }_{1{r}_{1}},{\alpha }_{21},{\alpha }_{22},\ldots ,{\alpha }_{2{r}_{2}},\ldots ,{\alpha }_{q1},{\alpha }_{q2},\ldots ,{\alpha }_{q{r}_{q}}\), which satisfy condition (13.28), and then to form the union of all obtained solutions.

5.2 The Multiobjective Multicommodity Flow Models

In the following, we formulate the multiobjective multicommodity flow problem on static and dynamic networks. Such problem consists of shipping a given set of commodities from their respective sources to their sinks through a network in order to optimize different criteria so that the total flow going through arcs does not exceed their capacities.

5.2.1 The Static Model

The aim is to send the flow through the network in order to optimize the vector utility function \({\overline{F}}_{k} = ({F}_{k}^{1},{F}_{k}^{2},\ldots ,{F}_{k}^{{r}_{k}})\) for every commodity \(k \in \{ 1,2,\ldots ,q\}\):

$${ \overline{F}}_{k}\ :\ {X}_{1} \times {X}_{2} \times \cdots \times {X}_{q} \rightarrow {R}^{{r}_{k} },$$
$${F}_{k}^{i}\ :\ {X}_{ 1} \times {X}_{2} \times \cdots \times {X}_{q} \rightarrow {R}^{1},\ i = \overline{1,{r}_{ k}},$$

where X k is a set of flows of commodity k, r k is a number of criteria for commodity k.

5.2.2 The Dynamic Model

The purpose is to transport the flow through the network in order to optimize the vector utility function \({\overline{F}}_{k} = ({F}_{k}^{1},{F}_{k}^{2},\ldots ,{F}_{k}^{{r}_{k}})\) for every commodity \(k \in \{ 1,2,\ldots ,q\}\):

$$\begin{array}{rcl}{ \overline{F}}_{k}\ :\ ({X}_{1} \times \mathbb{T}) \times ({X}_{2} \times \mathbb{T}) \times \cdots \times ({X}_{q} \times \mathbb{T}) \rightarrow {R}^{{r}_{k} },& & \\ \end{array}$$
$$\begin{array}{rcl}{ F}_{k}^{i}\ :\ ({X}_{ 1} \times \mathbb{T}) \times ({X}_{2} \times \mathbb{T}) \times \cdots \times ({X}_{q} \times \mathbb{T}) \rightarrow {R}^{1},\ i = \overline{1,{r}_{ k}}.& & \\ \end{array}$$

where X k is a set of flows of commodity k, \(\mathbb{T}\) is a set of considered time moments, r k is a number of criteria for commodity k.

In the framework of the game theory each commodity is associated with a player. We consider a general model with q players, each of which wishes to optimize his own vector utility function \({\overline{F}}_{k}\), \(k \in \{ 1,2,\ldots ,q\}\), defined on the set of strategies of all players. Every component F k i, \(i = \overline{1,{r}_{k}}\), \(k \in \{ 1,2,\ldots ,q\}\), of the vector utility function F k of player k corresponds to a partial criterion of player k. The cost of transportation of a given resource, the time necessary to transport it to its destination as well as the quality of the transportation play the role of the components of the vector utility function of a player in the game-theoretic formulation of the problem.

Each player competes in a Nash equilibrium manner so as to optimize his own criteria in the task of transporting flow from its origins to its destinations. In our problem each player has several objectives, so we use the Pareto–Nash equilibrium concept extended to networks. In such a way, players intend to optimize their utility functions in the sense of Pareto and at the same time players are interested to preserve Nash optimality principle when they interact between them. So, control decisions are made by each player according to its own individual performance objectives and depending on the choices of the other players.

5.3 Comments

In real-life problems, users have to make decision concerning routing as well as type and amount of resources that they wish to transport. Different sets of parameters may suit the service requirements of a user. However, the performance measures depend not only on the user’s choices, but also on the decisions of other connected users, where this dependence is often described as a function of some network “state.” In this setting the game paradigm and the Pareto–Nash equilibrium concept become the natural choice at the user level.

Game-theoretic models are widely employed in the context of flow control, routing, virtual path bandwidth allocation and pricing in modem networking. Flow problems in multimedia applications (teleconferencing, digital libraries) over high-speed broadband networks can serve a good example of this. In a multimedia network telecommunication companies carrying different traffic types (voice, data, and video) may share the limited common network resources such as buffers or transmission lines. These companies may have different objectives of maximizing packet throughput or minimizing packet blocking probability. A Pareto–Nash equilibrium may be reached when companies achieve their objectives in such a way that no company can improve its own performance by unilaterally changing its traffic load admission and routing strategies.

The problem of providing bandwidth which will be shared by many users [3542] is one of the most important problems. As it is typical for games in such a problem the interaction among the users on their individual strategies has to be imposed. This can be done using a utility function that depends on the availability of bandwidth and other factors in the network.

6 Conclusions

In this chapter, the minimum cost flow problem and the maximum flow problem on dynamic networks, that generalize classical optimal flow problems on static networks, were investigated. The minimum cost flow problem was considered in the case when demand-supply and capacity functions depend on time and cost functions on arcs are nonlinear and depend both on time and on flow. The maximum flow problem was considered on dynamic networks with time-dependent capacities of arcs. The dynamic model with transit time functions that depend on the amount of flow and the entering time-moment of flow in the arc was formulated and studied. The properties of the optimal flows were stated and on their basis the methods and algorithms for solving the considered optimal dynamic flow problems were proposed. The time-expanded network method was generalized for the dynamic versions of the minimum cost multicommodity flow problem and the maximum multicommodity flow problem on networks. The dynamic multicommodity problems were studied on networks with time-varying capacities of arcs and transit times on arcs that depend on sort of commodity entering them. For the minimum cost multicommodity dynamic flow problem it was assumed that cost functions, defined on arcs, are nonlinear and depend on time and flow, and demand-supply functions depend on time. The case when transit time functions depend on flow and time was also analyzed. The methods and algorithms for solving the considered optimal dynamic multicommodity flow problems were developed. The multiobjective version of the optimal multicommodity flow problem was considered. Investigation of this problem was effectuated on the basis of the concept of multiobjective games using the notion of the Pareto–Nash equilibrium.