On PolynomialTime Combinatorial Algorithms for Maximum Bounded Flow
Abstract
Given a graph with two distinguished vertices and an integer , an bounded flow is a flow between and that can be decomposed into paths of length at most . In the maximum bounded flow problem the task is to find a maximum bounded flow between a given pair of vertices in the input graph.
The problem can be solved in polynomial time using linear programming. However, as far as we know, no polynomialtime combinatorial algorithm for the bounded flow is known. The only attempt, that we are aware of, to describe a combinatorial algorithm for the maximum bounded flow problem was done by Koubek and Říha in 1981. Unfortunately, their paper contains substantional flaws and the algorithm does not work; in the first part of this paper, we describe these problems.
In the second part of this paper we describe a combinatorial algorithm based on the exponential length method that finds a approximation of the maximum bounded flow in time where is the number of edges in the graph. Moreover, we show that this approach works even for the NPhard generalization of the maximum bounded flow problem in which each edge has a length.
1 Introduction
Given a graph with two distinguished vertices and an integer , an bounded flow is a flow between and that can be decomposed into paths of length at most . In the maximum bounded flow problem the task is to find a maximum bounded flow between a given pair of vertices in the input graph. The bounded flow was first studied, as far as we know, in 1971 by Adámek and Koubek [1]. In connection with telecommunication networks, bounded flows in networks with unit edge lengths have been widely studied and are known as hopconstrained flows [7].
For networks with unit edge lengths (or, more generally, with polynomially bounded edge lengths, with respect to the number of vertices), the problem can be solved in polynomial time using linear programming. Linear programming is a very general tool that does not make use of special properties of the problem at hand. This often leaves space for superior combinatorial algorithms that do exploit the structure of the problem. For example, maximum flow, matching, minimum spanning tree or shortest path problems can all be described as linear programs but there are many algorithms that outperform general linear programming approaches. However, as far as we know, no polynomialtime combinatorial algorithm^{1}^{1}1Combinatorial in the sense that it does not explicitly use linear programming methods or methods from linear algebra or convex geometry. for the bounded flow is known.
1.1 Related results
For clarity we review the definitions of a few more terms that are used in this paper. A network is a quintuple , where is a directed graph, denotes the set of vertices, the set of edges, is the edge capacity function , and are two distinguished vertices called the source and the sink. We use and to denote the number of edges and the number of vertices, respectively, in the network , that is, and . Given an bounded flow , we denote by the size of the flow, and for an edge , we denote by the total amount of flow through the edge .
An bounded flow problem with edge lengths is a generalization of the bounded flow problem: each edge has also an integer length and the length of a path is computed not with respect to the number of edges on it but with respect the sum of lengths of edges on it.
Given a network and an integer parameter , an bounded cut is a subset of edges in such that there is no path from to of length at most in the network . The objective is to find an bounded cut of minimum size. We sometimes abbreviate the phrase bounded cut to cut and, similarly, we abbreviate the phrase bounded flow to flow.
Although the problems of finding an flow and an cut are easy to define and they have been studied since the 1970’s, still some fundamental open problems remain unsolved. Here we briefly survey the main known results.
Lbounded flows
As far as we know, the bounded flow was first considered in 1971 by Adámek and Koubek [1]. They published a paper introducing the bounded flows and cuts and describing some interesting properties of them. Among other results, they show that, in contrast to the ordinary flows and cuts, the duality between the maximum flow and the minimum cut does not hold.
The maximum flow can be computed in polynomial time using linear programming [4, 17, 4, 21]. The only attempt, that we are aware of, to describe a combinatorial algorithm for the maximum bounded flow problem was done by Koubek and Říha in 1981 [18]. The authors say the algorithm finds a maximum flow in time , where denotes the set of paths in the constructed flow, is the size of the maximum flow, and , where . Unfortunately, their paper contains substantional flaws and the algorithm does not work as we show in the first part of this paper. Thus, it is a challenging problem to find a polynomial time combinatorial algorithm for the maximum bounded flow.
Surprisingly, the maximum bounded flow problem with edge lengths is NPhard [4] even in outerplanar graphs. Baier [3] describes a FPTAS for the maximum bounded flow with edge lengths that is based on the ellipsoid algorithm. He also shows that the problem of finding a decomposition of a given bounded flow into paths of length at most is NPhard, again even if the graph is outerplanar.
A related problem is that of bounded disjoint paths: the task is to find the maximum number of vertex or edge disjoint paths, between a given pair of vertices, each of length at most . The vertex version of the problem is known to be solvable in polynomial time for and NPhard for [15], and the edge version is solvable in polynomial time for and NPhard for [6].
Lbounded cuts
The bounded cut problem is NPhard [22]. Baier et al. [4] show that it is NPhard to approximate it by a factor of for in the case of the vertex cut, and for in the case of the edge cut. Assuming the Unique Games Conjecture, Lee at al. [19] proved that the minimum bounded cut problem is NPhard to approximate within any constant factor. For planar graphs, the problem is known to be NPhard [10, 24], too.
The best approximations that we are aware of are by Baier et al. [4]: they describe an algorithm with an approximation for the bounded vertex cut, and approximation for the bounded edge cut. The approximation factors are closely related with the cutflow gaps: there are instances where the minimum edge cut (vertex cut) is times (times) bigger than the maximum flow [4]. For the vertex version of the problem, there is a approximation algorithm for graphs of treewidth [16].
The bounded cut was also studied from the perspective of parameterized complexity. It is fixed parameter tractable (FPT) with respect to the treewidth of the underlying graph [8, 16]. Golovach and Thilikos [12] consider several parameterizations and show FPTalgorithms for many variants of the problem (directed/undirected graphs, edge/vertex cuts). On planar graphs, it is FPT with respect to the length bound [16].
1.2 Our contributions
In the first part of the paper, we show that the combinatorial algorithm by Koubek and Říha [18] for the maximum bounded flow is not correct.
In the second part of the paper we describe an iterative combinatorial algorithm, based on the exponential length method, that finds a approximation of the maximum bounded flow in time ; that is, we describe a fully polynomial approximation scheme (FPTAS) for the problem.
Moreover, we show that this approach works even for the NPhard generalization of the maximum bounded flow problem in which each edge has a length. This approach is more efficient than the FPTAS based on the ellipsoid method [3].
Our result is not surprising (e.g., Baier [3] mentions the possibility, without giving the details, to use the exponential length method to obtain a FPTAS for the problem); however, considering the absence of other polynomial time algorithms for the problem that are not based on the general LP algorithms, despite of the effort to find some, we regard it as a meaningful contribution. The paper is based on the results in the bachelor’s thesis of Kateřina Altmanová [2] and in the master’s thesis of Jan Voborník [23].
2 The algorithm of Koubek and Říha
2.1 Increasing an bounded flow
Before describing the problem with the algorithm by Koubek and Říha [18], we informally describe the purpose and the main attributes of an increasing system, a key structure used in the algorithm.
Consider a network and an arbitrary bounded flow from to in , together with its decomposition into paths of length at most (say paths carrying units of flow, resp.) that is not a maximum bounded flow. Given and , Koubek and Říha [18] build a labeled oriented tree where is the set of nodes, is the set of edges, is the root, is a vertex labelling and is an edge labeling. The tree is called an increasing system with respect to .
There are four types of the nodes of the tree ; to explain the error in the paper, it is sufficient to deal with three of them: son, son, son. With (almost) each node in , are associated two consecutive paths in : the first one, denoted by , contains only edges that are not used by the current flow , and the second one, denoted by , coincides with a subpath of some path from the current flow . (Fig. 1).
The tree encodes a combination of these paths with paths in and this combination is supposed to yield a larger flow than the flow .
The label of a vertex in the tree , denoted by LABV in the original paper, and the label of the edge connecting to its immediate ancestor, if there is one, denoted by LABE, are of the following form:
LABV  LABE  

son  none  
son or son 
where

is a path in that is edge disjoint with every path in the flow ,

are indices of paths in the flow ,

are positive integers (distances),

is a positive integer, if is a son, and is a pointer to a son, if is a son,

is a subset of edges in .
As for every node in the tree (except for the root) there is a unique edge connecting it to its parent, Koubek and Říha often refer to the label of the edge , and to its attributes, by the name of the vertex , e.g., they write instead of ; we shall use the same convention.
The tree is supposed to describe an flow derived from . In particular, each path and is a subpath of a new path between and of length at most . Very roughly speaking, the attributes and store information about the distance of the path segments and from along the paths used in the new flow , the attribute specifies the index of a path from s.t. is a subpath of , and the attributes and , resp., specify the number of edges along which the paths and are being followed by some of the new paths.
Consider a node in the tree such that at least one edge in , say an edge , is saturated in the flow (i.e., ). In this case, the properties of the tree enforce that the node has at least one son whose responsibility is to desaturate the edge by diverting one of the paths that use in along a new route; the attribute specifies the index of the path from that is being diverted by the son of (Fig. 2),
and specifies which saturated edges from are desaturated by the son of .
As the definition of the tree does not pose any requirements on the disjointness of the paths corresponding to different nodes of , it may happen that the paths and for two different nodes and of the tree overlap in a saturated edge . In this case, Koubek and Říha allow an exception (our terminology) to the rule described in previous paragraph: if one of the nodes and , say the node , has a son that desaturates , the other node, the node , need not have a son but it may have a son instead. The purpose of this son is just to provide a pointer to the son of that takes care about the desaturation of the edge .
2.2 Small mistakes and typos
The paper is full of small mistakes and typos which change the meaning. Here we mention the most striking typo. On the page 393 in the paper [18], there is the rule 3b:
If is a son of a son then has a son if and only if
.
where is note in the tree , is a vertex in the graph , denotes the last vertex of the path , and for a path , a vertex on and an integer , denotes the vertex on the path that is edges after . The correct reading of the above rule, with a significantly different meaning, is:
If is a son or a son, then has a son if and only if
.
The difficulty with the original version is that it does not guarantee that the paths in new flow terminate in the vertex .
2.3 The main error
We start by recalling a few definitions and lemmas from the original paper [18]; for the definition of the increasing system (more than one page long) we refer to [18].
Definition 1 (Definition 4.2 in [18]).
Let be an increasing system with respect to an flow in a network . Given an edge , we define:

is the number of vertices in the tree such that and if there is a saturated edge then there is a son of with , .

is the number of vertices in the tree such that .

is the number of vertices which are sons or sons with .
For we denote , , where the expressions that are not defined are omitted.
Lemma 1 (Lemma 4.2 in [18]).
If there is an increasing system with respect to an flow , then there is an flow with .
Definition 2 (Definition 4.3 in [18]).
Let , where and . We put .
Lemma 2 (Lemma 4.4 in [18]).
For each increasing system (with respect to an flow constructed by the above procedure it holds .
The above procedure in Lemma 2 refers to a construction of an increasing system that is outlined in the original paper. As Definition 2 implies , we also know by Lemma 2 that for every increasing system , .
Now we are ready to describe the counter example. Take and consider the following network with a bounded flow of size (Fig. 3 and 4); apparently, this is a maximum bounded flow.
We are going to show that there exists an increasing system for . According to Lemmas 1 and 2 this implies the existence of a bounded flow of size . As the flow is a maximum bounded flow in , this is a contradiction.
The increasing system is depicted in Figure 5; for the sake of simplicity, we list only the most relevant attributes. It is just a matter of a mechanical effort to check that it meets Definition 4.1 of the increasing system from the original paper.
In words, the essence of the counter example is the following. The purpose of the root of the tree, the node , is to increase the flow from to along the path which is (accidently) the path . As there is a saturated edge on this path, namely the edge , there is a son of the node , the node , whose purpose is to desaturate the edge by diverting one of the paths that use the edge along an alternative route; in particular, the node is diverting the path and it is diverting it from the very beginning, from , along the path which is (accidently) the path .
As there is a saturated edge on this path, namely the edge , there is a son of the node , the node , whose purpose is to desaturate the edge by diverting one of the paths that use the edge along an alternative route; in particular, the node is diverting the path and it is diverting it from the very beginning, from , along the path which is (accidently) again the path .
As there is a saturated edge on this path, namely the edge , and as there is already another node in the tree that is desaturating , namely the node , the node does not have a son but it has a son instead, which is a pointer to the son . This way, there is a kind of a deadlock cycle in the increasing system: is desaturating the edge for the node but it itself needs to desaturate the edge in it and in turn needs to desaturate the edge , but delegates this task back to .
3 FPTAS for maximum bounded flow
We first describe a fully polynomial approximation scheme for maximum bounded flow on networks with unit edge length. The algorithm is based on the algorithm for the maximum multicommodity flow by Garg and Könemann [11].
Then we describe a FPTAS for the bounded flow problem with general edge lengths. Our approximation schemas for the maximum bounded flow on unit edge lengths and the maximum bounded flow with edge lengths are almost identical, the only difference is in using an approximate subroutine for resource constrained shortest path in the general case which slightly complicates the analysis.
3.1 FPTAS for Unit Edge Lengths
Let us consider the path based linear programming (LP) formulation of the maximum bounded flow, P, and its dual, D. We assume that is a given network and is a given length bound. Let denote the set of all  paths of length at most in . There is a primal variable for each path , and a dual variable for each edge . Note that the dual LP is a relaxation of an integer LP formulation of the minimum bounded cut problem.
max  
s.t.  
min  
s.t.  
The algorithm simultaneously constructs solutions for the maximum bounded flow and the minimum fractional bounded cut. It iteratively routes flow over shortest paths with respect to properly chosen dual edge lengths and at the same time increases these dual lengths; dual edge length of the edge after iterations will be denoted by . During the runtime of the algorithm, the constructed flow need not respect the edge capacities; however, with the right choice of parameters the resulting flow can be scaled down to a feasible (i.e., respecting the edge capacities) flow (Lemma 3) that is a approximation of the maximum bounded flow (Theorem 1).
For a vector of dual variables, let denote the length of the shortest path from the set of paths and let . Note that a shortest path with respect to edge lengths that uses at most a given number of edges can be computed in polynomial time by a modification of the Dijkstra’s shortest path algorithm.
Let denote the size of the flow after iterations, , and let denote the total number of iterations performed by Approx; then is the output of the algorithm and its size.
Lemma 3.
The flow scaled down by a factor of is a feasible bounded flow.
Proof.
By construction, for every , is an bounded flow. Thus, we only have to care about the feasibility of the flow
(1) 
For every iteration and every edge , as , we also have and so . It follows that
(2) 
Consider an arbitrary edge and suppose that the flow along has been routed in iterations and the amount of flow routed in iteration is . Then and . Because each was chosen such that , we have by Bernoulli’s inequality that and
(3) 
Combining inequalities (2) and (3) gives
which completes the proof. ∎
Claim 4.
For ,
(4) 
Proof.
For a vector of dual variables, let and let . Note that is equal to the optimal value of the dual linear program. For notational simplicity we abbreviate as .
Let be the path chosen in iteration and be the value of in iteration . For every we have
which implies that
(5) 
Now consider the length function . Note that and . Hence,
(6) 
By combining relations (5) and (6) we get
Now we define and for , . Note that for each , . Furthermore,
Since , we have , and thus also, for , ∎
Theorem 1.
For every there is an algorithm that computes an approximation to the maximum bounded flow in a network with unit edge lengths in time .
Proof.
We start by showing that for every there is a constant such that , the output of Approx(), scaled down by as in Lemma 3, is a approximation.
Let denote the approximation ratio of such an algorithm, that is, let denote the ratio of the optimal dual solution () to the appropriately scaled output of Approx(),
(7) 
where the constant will be specified later.
By Claim 4 and the stopping condition of the while cycle we have
and hence
Plugging this bound in the equality for the approximation ratio , we obtain
Setting yields
Taylor expansion of gives a bound for and it follows for that
To complete the proof, we just put and run Approx(). It remains to prove the time complexity of the algorithm. In every iteration of Approx, the length of an edge with the smallest capacity on the chosen path is increased by a factor of . Because was chosen such that also for every edge . Lengths of other edges get increased by a factor of at most , therefore for every edge . Every edge has the minimum capacity on the chosen path in at most iterations, so Approx makes at most iterations.
Each iteration takes time so the total time taken by Approx is . ∎
3.2 FPTAS for General Edge Lengths
Now we extend the approximation algorithm to networks with general edge lengths that are given by a length function . The dynamic programming algorithm for computing shortest paths that have a restricted length with respect to another length function, does not work in this case. In fact, the problem of finding shortest path with respect to a given edge length function while restricting to paths of bounded length with respect to another length function is NPhard in general [13]. On the other hand, there exists a FPTAS for it [14, 20].
We assume that we are given as a blackbox an algorithm that for a given graph , two edge length functions and , two distinguished vertices and from , a length bound and an error parameter , computes a approximation of the shortest path of length at most ; we denote by the length of such a path and we also introduce an abbreviation . Note that for every , . We can use the FPTAS of Lorenz and Raz [20] for this task.
The algorithm of Garg and Könemann [11] for approximating maximal multicommodity flow has been improved by Fleischer [9]. The original algorithm computes the shortest path between every terminal pairs in every iteration. Fleischer divided the algorithm to phases where she worked with commodities one by one. This way her algorithm effectively works with approximations of shortest paths while eliminates the dependency on the number of commodities and still gets a good approximation ratio. Using a similar analysis we show that we can work with an approximation shortest path algorithm to get an FPTAS to otherwise intractable maximum bounded flow problem with general edge lengths.
The structure of the bounded flow algorithm with general edge lengths stays the same as in the unit edge lengths case. The only difference is that instead of shortest bounded paths, approximations of shortest bounded paths are used (steps 2 and 5).
The analysis of the algorithm follows the same steps as the analysis of Algorithm 1 but one has to be more careful when dealing with the lengths.
As in the previous subsection, let denote the size of the flow after iterations and let denote the total number of iterations. Due to the lack of space, the proofs are given in the Appendix.
Lemma 5.
The flow scaled down by a factor of is a feasible bounded flow.
Proof.
For every edge and iteration , as , we also have . By description of the algorithms, this implies , and in particular,
(8) 
Combining this with from inequality (3) in previous subsection, we derive
which completes the proof. ∎
Claim 6.
For ,
(9) 
Proof.
By the same reasoning as in the proof of Claim 4, we obtain
(10) 
where the extra factors stems from the fact that we work, in iteration , not with a path of length but with a path of length . Combining this with from inequality (6), we obtain
From this point, we proceed again along the same lines as in the proof of Claim 4 (the only difference is that instead of , we work now with ) and get the desired bound. ∎
Theorem 2.
There is an algorithm that computes an approximation to the maximum bounded flow in a graph with general edge lengths in time .
Proof.
We show that for every there are constants and such that , the output of ApproxGeneral(), scaled down by as in Lemma 5, is a approximation to the maximum bounded flow with general capacities; the theorem easily follows.
Let denote the approximation ratio of such an algorithm, that is, let denote the ratio of the optimal dual solution () to the appropriately scaled output of ApproxGeneral(),
(11) 
where the constants and will be specified later.
By the stopping condition of the while cycle we have , that is, ; combining it with Claim 6, we get
Plugging this bound in the equality for the approximation ratio , we obtain
(12) 
Setting yields
(13) 
Thus, the bound on the approximation ratio (12) simplifies to
where the second inequality follows from the Taylor expansion of and the bound , for . By setting , for we get the promised bound
Concerning the running time, we observe that in every iteration the length of at least one edge gets increased by the ratio . For every edge we have . By the same arguments as in the previous subsection, our choice of the parameters ensures that the total number of iterations is at most . The FPTAS approximating the resource bounded shortest path takes time . Combining these two bounds completes the proof. ∎
We note that the exponential length method can be used for many fractional packing problems and using the same technique we could get an approximation algorithm for maximum multicommodity bounded flow.
References
 [1] J. Adámek and V. Koubek. Remarks on flows in network with short paths. Comment. Math. Univ. Carolin., 12(4):661–667, 1971.
 [2] K. Altmanová. Toky cestami omezené délky. Bachelor’s thesis, Charles University, Faculty of Mathematics and Physics, Department of Applied Mathematics, 2018. In Czech.
 [3] G. Baier. Flows with path restrictions. PhD thesis, TU Berlin, 2003.
 [4] G. Baier, T. Erlebach, A. Hall, E. Köhler, P. Kolman, O. Pangrác, H. Schilling, and M. Skutella. Lengthbounded cuts and flows. ACM Trans. Algorithms, 7(1):4:1–4:27, 2010.
 [5] C. Bazgan, T. Fluschnik, A. Nichterlein, R. Niedermeier, and M. Stahlberg. A More FineGrained Complexity Analysis of Finding the Most Vital Edges for Undirected Shortest Paths. CoRR, abs/1804.09155, 2018.
 [6] A. Bley. On the complexity of vertexdisjoint lengthrestricted path problems. Computational Complexity, 12(34):131–149, 2003.
 [7] A. Bley and J. Neto. Approximability of 3 and 4hop bounded disjoint paths problems. In F. Eisenbrand and F. B. Shepherd, editors, Integer Programming and Combinatorial Optimization, pages 205–218, Berlin, Heidelberg, 2010. Springer Berlin Heidelberg.
 [8] P. Dvořák and D. Knop. Parametrized complexity of lengthbounded cuts and multicuts. In Theory and Applications of Models of Computation, pages 441–452. Springer, 2015.
 [9] L. K. Fleischer. Approximating fractional multicommodity flow independent of the number of commodities. SIAM J. Discret. Math., 13(4):505–520, 2000.
 [10] T. Fluschnik, D. Hermelin, A. Nichterlein, and R. Niedermeier. Fractals for kernelization lower bounds, with an application to lengthbounded cut problems. CoRR, abs/1512.00333, 2015.
 [11] N. Garg and J. Könemann. Faster and simpler algorithms for multicommodity flow and other fractional packing problems. SIAM J. Comput., 37(2):630–652, 2007.
 [12] P. A. Golovach and D. M. Thilikos. Paths of bounded length and their cuts: Parameterized complexity and algorithms. In International Symposium on Parameterized and Exact Computation, 2009.
 [13] G. Y. Handler and I. Zang. A dual algorithm for the constrained shortest path problem. Networks, 10:293–310, 1980.
 [14] R. Hassin. Approximation schemes for the restricted shortest path problem. Math. Oper. Res., 17(1):36–42, 1992.
 [15] A. Itai, Y. Perl, and Y. Shiloach. The complexity of finding maximum disjoint paths with length constraints. Networks, 12(3):277–286, 1982.
 [16] P. Kolman. On algorithms employing treewidth for bounded cut problems. J. Graph Algorithms Appl., 22:177–191, 2018.
 [17] P. Kolman and C. Scheideler. Improved bounds for the unsplittable flow problem. J. Algorithms, 61(1):20–44, 2006.
 [18] V. Koubek and A. Říha. The maximum kflow in a network. In Mathematical Foundations of Computer Science 1981, pages 389–397. Springer, 1981.
 [19] E. Lee. Improved hardness for cut, interdiction, and firefighter problems. In International Colloquium on Automata, Languages, and Programming, 2017.
 [20] D. H. Lorenz and D. Raz. A simple efficient approximation scheme for the restricted shortest path problem. Oper. Res. Lett., 28(5):213–219, 2001.
 [21] R. A. Mahjoub and T. S. McCormick. Max flow and min cut with boundedlength paths: complexity, algorithms, and approximation. Math. Program., 124(12):271–284, 2010.
 [22] B. Schieber, A. BarNoy, and S. Khuller. The Complexity of Finding Most Vital Arcs and Nodes. Technical report, College Park, MD, USA, 1995.
 [23] J. Voborník. Algorithms for bounded flows. Master’s thesis, Charles University, Faculty of Mathematics and Physics, Department of Applied Mathematics, 2016.
 [24] P. Zschoche, T. Fluschnik, H. Molter, and R. Niedermeier. The Computational Complexity of Finding Separators in Temporal Graphs. ArXiv eprints, Nov. 2017.