Approximate solution of length-bounded maximum multicommodity flow with unit edge-lengths
An improved fully polynomial-time approximation scheme and a
greedy heuristic for the fractional length-bounded maximum
multicommodity flow problem with unit edge-lengths are proposed.
Computational experiments are carried out on benchmark graphs and
on graphs that model software defined satellite networks to
compare the proposed algorithms and an exact linear programming
solver. The results of experiments demonstrate a trade-off between
the computing time and the precision of algorithms under
Keywords: Fully Polynomial-Time Approximation Scheme, Quality of Service, Software Defined Satellite Network
Sobolev Institute of Mathematics, Siberian Branch of Russian Academy of Sciences, 4 Koptyug Ave., 630090 Novosibirsk, Russia
Yaliny Research and Development Center, Paveletskaya naberezhnaya 2 block 2, Moscow, 115114, Russia
Research issues in telecommunications often involve requirements to quality of service such as bandwidth, delay, number of hops, etc. [14, 18]. These research issues may be interpreted as combinatorial optimization problems of finding a multicommodity flow through the network that satisfies some quality of service constraints.
Multicommodity flow (MCF) problems are defined on a directed graph with edge capacities and origin-to-destination pairs . These problems ask for a family of flows from to , so that some optimization criterion is maximized under the node flow conservation constraints and the requirement that the sum of flows on any edge does not exceed the capacity of the edge.
In particular, the maximum multicommodity flow problem (maximum MCF for short) is an MCF problem where the total flow needs to be maximized. Some authors assume that the maximum MCF also includes an assumption that the value of each flow is limited by a finite demand (see e.g. ).
A more general problem, called fractional length-bounded maximum multicommodity flow (fractional length-bounded maximum MCF for short), asks for computing the maximum MCF routed along a set of paths whose length does not exceed a specific bound. This problem was studied in [2, 3] assuming unbounded demands and in , assuming that finite demands are given. In particular, it was shown in  that the fractional length-bounded maximum MCF is NP-complete, while its special case where all edges have unit length is polynomially solvable.
A modification of the fractional length-bounded maximum MCF with an additional constraint that the flow on all edges must be integer-valued is called integral length-bounded maximum MCF. The results from  show that even when there is no length constraint at all, the edge capacities are equal to 1, and the graph is outerplanar, this problem does not admit approximation algorithms with constant approximation ratios, unless P=NP. A result from  implies that the integral length-bounded maximum MCF can not be approximated with a performance ratio for any in the special case where all edges have equal length and all edge capacities are equal to 1, assuming PNP. Complexity and non-approximability of this problem was also studied in [2, 4].
Fully polynomial time approximation schemes (FPTAS) for fractional length-bounded maximum MCF were proposed in [2, 5]. In , an FPTAS was shown to exist for a more general quality of service-aware MCF problem (QoS-aware max-flow). The present paper is aimed at fast approximate solution of a special case of fractional length-bounded maximum MCF where all edges have the length equal to one.
In Section 2, we give a formal statement of fractional length-bounded maximum MCF and describe some basic properties of this problem. In Section 3, using the approach from  and the improvement of  we develop an FPTAS for a special case of the problem where all edges have unit length. This FPTAS has a smaller time complexity compared to the FPTAS from  which was developed for arbitrary edge lengths. In Section 4, we propose a simple greedy heuristic applicable to fractional length-bounded maximum MCF as well as integral length-bounded maximum MCF (assuming unit edge lengths in both cases). In Section 5, we compare these algorithms to each other and to IBM CPLEX solver in computational experiments. The last section contains conclusions.
2 Problem Formulations and Basic Properties
A flow in a digraph from origin vertex to destination vertex is a nonnegative function such that for each node holds
is the amount of flow sent from to in . If are paths from to , then a sum of path-flows along gives a network flow from to again. Given that , we will say that is routed along the set of paths .
We will assume that flow of commodity has an origin and a destination . If are flows of commodities, then is called a multicommodity flow in .
An input instance of the maximum MCF consists of a directed network , where , an edge capacity function and a specification of commodity for . The objective is to maximize so that the sum of flows on any edge does not exceed and .
The fractional length-bounded maximum MCF has the same input, extended by an upper bound and the edge lengths and asks for a maximum MCF where the sum of flows on any does not exceed , and the flow of each commodity is routed along a set of paths, where each path has a length at most . A special case of this problem where all edges have a unit length requires that the flow of each commodity is routed along a set of paths at most edges long. In what follows, we will denote fractional length-bounded maximum MCF problem by LBMCF and its special case where all edges have unit length will be denoted by LBMCF1. Obviously, the maximum MCF may be considered a special case of LBMCF1, assuming . W.l.o.g. we will assume that all pairs are unique, since otherwise the demands with identical pairs may be summed together in one demand.
LBMCF1 is polynomially equivalent to its special case with unbounded demands. Indeed, given an LBMCF1 instance , , and , consider a new instance of this problem with unbounded demands on a network , obtained from as described below. Let be the set of all vertices where at least one commodity originating in is consumed, i.e. . For each vertex with :
New vertices are created and connected by arcs leading into vertex .
The new vertices are assigned to commodities with destinations in by a one-to-one mapping. So we can denote the new vertices connected to as where is such that .
The capacities of edges leading from vertices to are set to .
In the new problem the demands are and the new upper bound is
There is a bijection between the sets of feasible solutions of the original instance and the new instance and the objective function values of the corresponding solutions are equal. Now since the special case of LBMCF1 with unbounded demands is solvable by LP methods in weakly polynomial time , the above reduction implies that LBMCF1 with finite demands is also solvable in weakly polynomial time (the same follows from the LP formulation of this problem (1)–(4) presented below). The question of solvability of LBMCF1 in strongly polynomial time remains open. In the special case of maximum MCF, a strongly polynomial algorithm is known . Nevertheless, even in this special case existence of exact algorithms using the same combinatorial techniques as the Ford-Fulkerson method for the single-commodity flow is unlikely (see e.g. , § 70.13).
In the special case of maximum MCF there is a well-known formulation the problem in terms of the LP using edge flows (see e.g. , § 11) with constraints and variables. Assuming that variables give the amount of flow of commodity over edge the LP model is as follows.
An LP formulation of LBMCF1, involving constraints and variables, may be constructed using a multicommodity flow in a supplementary time-expanded network . The node set contains a copy of the node set of graph for every discrete time step . For every directed edge there is an edge in from vertex in time layer to vertex . Besides that, contains edges for all A multicommodity flow is sought in this time-expanded network under additional constraints which require that for each the sum of all flows traversing the edges is at most For all the origin of commodity is placed in the copy of vertex at level 1 and the destination is placed in the copy of vertex at level . The resulting LP formulation is as follows
where variables give the amount of flow of commodity over edge .
The practice shows that large MCF problems require a long time and a great amount of memory to solve using the exact LP methods either in path flow-based or edge flow-based formulations. (see e.g. , § 70.13). For this reason, it is important to develop faster algorithms to solve MCF problems approximately and LBMCF1 among them.
A feasible solution to a maximization problem is called a -approximate if it satisfies the inequality where and is the optimal objective function value. An algorithm is called a -approximation algorithm if in a polynomially bounded time it outputs a -approximate solution given a solvable problem instance. A family of -approximation algorithms parameterized by , such that the time complexity of these algorithms is polynomially bounded in and in the problem instance length is called a fully polynomial-time approximation scheme (FPTAS).
3 Fully Polynomial Time Approximation Scheme
3.1 The Case of Unbounded Demands
This subsection presents an FPTAS for LBMCF1 with unbounded demands, which is developed analogously to the FPTAS for maximum MCF with unbounded demands .
Let denote the set of all paths from to in and let denote the subset of which consists of paths at most edges long. Besides that, put The main difference from the preceding algorithms [7, 6] is that instead of here we use and search for the shortest paths in by means of a truncated version of Ford-Bellman algorithm.
LBMCF1 in the case of unbounded demands may be formulated as an LP problem (denoted by P) with an exponential number of path flow variables
The dual problem with a polynomial number of variables is
We first describe the general ideas of the -approximation algorithm for problem P according to the framework of Garg and Könemann  and after that a faster version will be described in detail.
The algorithm proceeds by iterative improvements of primal solutions to problem P simultaneously computing a sequence of dual feasible solutions. The latter ones allow to estimate the precision of the current primal solution and to find directions for further improvement. It is convenient to compute a set of parameters , called edge lengths instead of the current dual-feasible solution . The dual feasible may be reconstructed by scaling where the factor is the length of a shortest path in .
The algorithm starts with length function for all using some , and with a primal solution . While there is a path in of length less than 1, the algorithm selects such a path and updates the primal and the dual variables as follows. For the primal solution , the algorithm increases the flow along path by the minimum edge capacity in the path. Let us denote this bottleneck capacity by . The updated primal solution may be infeasible, so in order to return to feasible region, all of its components are scaled down by an appropriate scalar. Now the dual variables are updated so that the higher the congestion of an edge the greater multiplier is given to its length:
In particular, the length of the bottleneck edge always increases by a factor of . The lengths of edges not on remain unchanged.
In order to find out if there is a path of length according to the current length function, it suffices to compute a shortest path for each commodity, e.g. by executing iterations of Bellman-Ford algorithm, which would take a total of time (see e.g. Theorem 2.3 in ). Let denote the current shortest path length and let be a lower bound on , which will be evaluated implicitly at each iteration of the algorithm as described below.
Instead of looking through all origin-destination pairs of commodities, seeking for a shortest path in , we implement the improvement of L. Fleischer  which consists in using a path of length at most and spending less time to find such a path. To this end, we cycle through all commodities, staying with one commodity until the shortest origin-to-destination path for that commodity is above . The initial lower bound is set to . As long as there is some path of length , we augment the flow along such . When such a path does not exist, it means that either and it is time to terminate the algorithm or and . In the latter case one can update the lower bound by setting . With such updates, the lower bound will belong to the set . Upon the termination of the algorithm, . Since each time is increased by a factor of , the number of times that this happens is , where denotes the rounding down. This implies that the final value of is . Assuming that every new value of the lower bound defines a new phase of the algorithm, we obtain an FPTAS represented by Algorithm 1 with the main loop over phases as described below.
If there is a vertex such that no path from leads from to , then the corresponding demand can not be served at all. All such pairs of vertices may be identified at the preprocessing stage and the corresponding flows should be set to zero. W.l.o.g. we will assume that such pairs of vertices do not exist.
The detailed outline of the algorithm follows the -approximation algorithm for maximum MCF  with minor modifications.
In what follows we assume that denotes the sum of lengths of all edges comprising a path and . By a shortest path we mean a path from with minimal length .
-approximation algorithm for LBMCF1 with unbounded demands
Choose and assign .
Assign for all .
The main loop
For all do
For all do
Find shortest paths from to all
Choose . Let .
For all assign .
Augment the path-flow .
Find shortest paths in from to all
Choose Let .
End for-loop over
End for-loop over .
In the above algorithm, the length-bounded shortest paths from are found by performing only iterations of Bellman-Ford algorithm. Correctness of Algorithm 1 and its time complexity are established analogously to those of -approximation algorithm for maximum MCF , therefore the following Theorem 1 is given without a proof here. (The proof may be found in Appendix.)
(i) Algorithm 1 completes after augmentations.
(ii) Given the feasible solution to LBMCF1 with unbounded demands found by Algorithm 1 has a total flow value
Suppose a value is given. Then choosing and , by Theorem 1, part (ii) we conclude that the obtained flow has a value at least .
The length-bounded shortest paths from vertex are computed once in the beginning of each iteration in the loop over , additionally it is computed after each augmentation. In total there are at most applications of the truncated Bellman-Ford algorithm in Algorithm 1 that do not lead to augmentations. Besides that, Theorem 1, part (i) implies that the truncated Bellman-Ford algorithm is applied at most times with augmentations. Thus the total runtime of Algorithm 1 is and we have the following
Given Algorithm 1 with and computes a -approximate solution to LBMCF1 with unbounded demands in time.
The idea of adapting the approach from  to the length-bounded MCF has already been discussed by Baier  for the case with general edge lengths. It was already noted in  that the resource-constrained shortest path problem, which arises as a subproblem in the general case, is NP-hard and can only be solved approximately. In the present paper, we exploit the fact that in the unit edge length case, the subproblem becomes efficiently solvable.
3.2 The Case of Finite Demands
The reduction described in Section 2 allows to obtain -approximate solutions to LBMCF1 by applying Algorithm 1 to the transformed instance which consists of network with vertices and edges, the specification of commodities and the length bound . We can save some time by using the structure of where one can find the shortest paths from all new vertices attached to a vertex by a single execution of truncated Bellman-Ford algorithm, starting with vertex . Then in total there are at most calls of the Bellman-Ford algorithm that do not lead to an augmentation and there are at most of calls to the Bellman-Ford algorithm following the augmentations and we have
A -approximate solution to LBMCF1 may be computed in time.
4 Greedy Heuristic
As an alternative to the guaranteed approximation algorithm from Subsection 3.2, we propose a simple Greedy heuristic, based on augmenting paths, for LBMCF1. In what follows, by shortest path we mean a path with the minimal number of edges in .
The main idea of Greedy heuristic consists in iterative assignment of augmenting path-flows to the most distant origin-destination pairs (but not more than edges apart). In each iteration of Greedy, the shortest paths are found for all origin-destination pais and a maximum possible flow is routed along the path of maximal length among the paths with at most edges. After that we decrease the edge capacities along the path by the value of its flow, delete all edges where the remaining capacity has turned to 0 and proceed to the next iteration. The algorithm terminates when a set of shortest paths from , connecting the unsatisfied origin-destination pairs in the current network, becomes empty. Here we assume that is the set of paths at most edges long in the current network.
Greedy Heuristic for LBMCF1
Initialization of set
Compute a shortest path from to
for all , for which such paths exist.
Denote the set of computed paths by .
The main loop:
Choose a longest path in , put .
Let and be the first and the last vertices in path .
For all do
If there are edges , such that then
Delete all edges , such that , from .
Build a new set by computing shortest paths
from to for all , for which such paths exist.
Clearly, the collection of path-flows with found by Greedy constitutes a feasible solution. Besides that, since the set of length-bounded shortest paths is computed at most times, the time complexity of Greedy heuristic is if the Dijkstra algorithm with heaps is used. If the truncated Bellman-Ford algorithm is used, then the time complexity of Greedy is .
Greedy can easily be converted to compute approximate solutions for fractional length-bounded maximum MCF if instead of the number of edges in a path one takes the path length in terms of edge lengths . Note that Greedy outputs a feasible solution with an integer-valued flow on all edges if an instance is feasible and all demands and edge capacities are integer-valued.
5 Computational Experiments
This section describes the computational experiments in solving LBMCF1 by -approximation algorithm from Subsection 3.2, by Greedy heuristic from Section 4 and by the LP-solver CPLEX 11 in dual simplex mode, using the LP formulation based on the time-expanded networks. For the large instances, where this formulation required too much time and memory we used the LP formulation of Maximum MCF from  to find an upper bound for the optimum. All experiments were carried out on Xeon X5675, 3.07 GHz, 96 Gb RAM, 12 cores.
5.1 Implementation Details
The -approximation algorithm for LBMCF1 was implemented with a minor improvement  which allows to terminate the algorithm when the best-found primal solution and the best-found dual solution are within the required approximation ratio. Whenever the amount of some commodity , routed by the current iteration, achieved the corresponding demand , this commodity was excluded from consideration in subsequent iterations.
It is easy to see that the most time-consuming part of the Greedy algorithm is the procedure building the shortest paths tree. We found that this part of Greedy is so compute-intensive that CPU cache misses percent may slow down the execution significantly, so we reduced the memory footprint of the all-pairs shortest paths procedure by implementing compact data structures both for the input graph and for the temporary data. Also we used a specially designed version of the Dijkstra’s algorithm that may be called in parallel for each root vertex . With these optimizations, we reduced the final time-footprint of the Greedy up to a factor 0.1 of its first naïve implementation.
5.2 Problem Instances
The networks for testing instances were obtained using a modification of generator RMFGEN , besides that 7 instances with real-life structure were constructed. RMFGEN produces a given number of two-dimensional grids with arcs connecting a random permutation of nodes in adjacent planar grids of size . Arcs of the grids have capacities 3600, while the capacities of arcs connecting the grids are chosen uniformly at random from 1 to 100. Origins and destinations are randomly chosen.
The demands were assigned in two alternative modes. In mode I, the demands were scaled as in  so that there is a feasible flow with the maximum arc congestion , where is set to 0.6 or 1. In mode II, each randomly chosen origin-destination pair was assigned a random factor from 1 to 100 and the total multicommodity flow was maximized under constraint that the origin-destination flows are proportional to factors . Finally we assign the demand values to test the algorithms in situation where the demands exceed the network capacities.
The instances with real-life structure model prospective Software Defined Satellite Networks (SDSN) (see e.g. ) that provide world-wide telecommunication services. We suppose that the network consists of 135 satellites on low Earth orbit (LEO), 40 ground stations (gates to Internet) and a Network Operations Control Center (NOCC). The packet routes for each origin-to-destination pair are computed at NOCC in real time and each node (satellite or ground station) regularly receives the updated routs for all packets that originate in this node. Each packet sent from to contains some content data and a path of the packet route from to An upper bound on the number of edges in packet paths is imposed due to a natural technical limitation on the number of bits reserved for encoding a packet route. Short packet paths also tend to have low transmission delay. For simplicity we assume that each problem instance describes the system in a single time-frame and all demands for the time-frame are known in advance.
The graphs modelling the SDSN were constructed with different trade-off between the model accuracy and the size of . Networks of these instances contain vertices of low degree (from 2 to 7), corresponding to satellites and dummy nodes, and vertices with high degree (near to ), corresponding to Internet gates at ground stations. The demands for commodities were generated so as to model the global telecommunication flows. We assumed that the number of active users in each square unit of the Earth surface is proportional to population on the unit. The origin and the destination of each call is chosen at random among active users. All active users are assigned to the nearest satellite or ground station.
5.3 Experimental Results
The values of relative errors of solutions found by FPTAS and by Greedy heuristic were estimated a-posteriori in terms of upper bound , where is the value of objective function found by the algorithm and is the optimum in the LP model based on the time-expanded network (on grid graphs) or an upper bound on the optimum in maximum MCF LP formulation (on the instances with real-life structure).
The attained approximations and CPU times (in seconds) for the grid graphs with and are given in Table 2. Here demands are generated in mode I. One can see that the FPTAS occupies the position between Greedy heuristic and CPLEX solver both in terms of the precision and the running time, except for the two smallest instances where Greedy was able to find optimal solutions. The parallel version of Greedy using 12 cores is clearly the fastest one, achieving speed-ups of about 4.5 times compared to the serial version. On small instances this speed-up vanishes due to communication cost.
The growth of CPU times with further increase of is displayed in Fig 1. Here we use the largest grid graph with , . The demands are generated in mode II. Both approximate algorithms have run-time upper bounds independent of (see Sections 3 and 4), which agrees with Fig 1 where the corresponding curves are nearly horizontal. The size of LP formulation based on the time-expanded network depends significantly on and this is supported by Fig 1.
|CPU time||CPU time||CPU time|
Instances With Real-Life Structure.
The LP model based on the time-expanded network required prohibitive amount of time and memory. Therefore in the case of Instances 1-7 we could compute only an upper bound using the LP CPLEX solver. Still, in the case of Instance 1, CPLEX was unable to find an upper bound due to lack of memory and was set to the total value of demands.
Table 3 shows the a posteriori pessimistic estimates of approximations attained by the algorithms and the corresponding CPU times (in seconds). Here FPTAS always has a greater precision than Greedy and the latter one is up to times faster even in the sequential version. Note that
|CPU time||CPU time||CPU time|
|1 core||12 cores|
In order to evaluate the algorithms on a variety of different real-life instances with similar structure we generated 300 versions of graph that model SDSN analogously to Instance 7 but in different time-frames. Different satellite positions in these time-frames lead to different links between satellites and between satellites and ground stations. The bandwidth of the links varies as well. The specification of demands remained unchanged. Application of FPTAS and Greedy to these instances in the single-core version and the same parameters as in Table 3 gave the results shown in Tables 4 and 5. The average and maximum CPU times and estimates are close to those reported in Table 3 for Instance 7, which implies that both algorithms have a stable behavior on the input data that we considered.
The proposed FPTAS has a lower time complexity bound compared to the previously known algorithms designed for a problem with the length functions of more general form.
The FPTAS and Greedy heuristic proposed in this paper are significantly faster than the CPLEX LP solver, especially on the instances with large networks and great numbers of demands. The FPTAS is more accurate but requires more CPU time than Greedy which may be a decisive factor in practical applications. Implementation of the FPTAS (hopefully) may be improved using line search for updating the current primal and dual solutions as proposed in  and by the means of parallel computations.
The exact LP-model discussed in Section 2 is based on a Kirchoff-type formulation in an extended graph. The alternative column generation approach has no polynomial time-bound but is often more efficient in practice. Further research might include a comparison of the algorithms presented here to the column generation method, assuming that columns are the length-bounded paths.
Correctness of Algorithm 1 and its time complexity are established analogously to those of -approximation algorithm for maximum MCF . Before the proof of Theorem 1 we formulate and prove two lemmas. The reason why these proofs were omited in the paper is because they almost literally repeat the corresponding proofs in .
Algorithm 1 terminates after augmentations.
Proof. At start, for all edges . The last time the length of an edge is updated, it is on a path of length less than one, and it is increased by at most a factor of . Thus the final length of any edge is at most . Since every augmentation increases the length of some edge by a factor of at least , the number of possible augmentations is at most .
The flow obtained by Algorithm 1 satisfies the constraints for all .
Proof. Every time the total flow on an edge increases by a fraction of , its length is multiplied by . Since for all we have , when for all . Thus, every time the flow on an edge increases by its capacity divided by , the length of the edge increases by a factor of at least . Initially and at the end , so the total flow on edge cannot exceed .
(i) Algorithm 1 completes after augmentations.
(ii) Given the feasible solution to LBMCF1 problem with unbounded demands found by Algorithm 1 has a total flow value
Proof. Part (i) follows from Lemma 1.
Now consider part (ii). Let denote the length function after -th augmentation in Algorithm 1 and let denote the length of a shortest path in w.r.t. a length function . Given a length function , define and let Then is the dual objective function value corresponding to and is the optimal dual objective value. Let be the primal objective function value after -th augmentation and let be the augmenting path. Denote . Then for each ,
which implies that
Consider the length function . Note that . For any path used by the algorithm, the length of the path using versus differs by at most . Since this holds for the shortest path using length function , we have Hence
Using the bound on from equation (16), we obtain
Observe that, for fixed , this right hand side is a non-decreasing function on So, for any sequence of upper bounds on we have
where the last inequality uses the fact that for . We can use a valid upper bound , which implies
By the stopping condition, after the last augmentation (let it be the augmentation number ) we have
Recalling that we obtain
- thanks: This research is supported by the Russian Science Foundation grant 15-11-10009.
- Albrecht, Ch.: Global routing by new approximation algorithms for multicommodity flow. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 20(5) 622 – 632 (2001)
- Baier, G.: Flows with Path Restrictions. Ph.D. Dissertation, TU Berlin, Berlin (2003)
- Ben-Ameur, W.: Constrained-length connectivity and survivable networks, Networks 36(1) 170–33 (2000)
- Baier, G., Erlebach, T., Hall, A., Köhler, E. Kolman, P., Pangrác, O., Schilling, H. and Skutella, M.: Length-bounded cuts and flows. ACM Trans. Algorithms, 7(1), 4:1–4:27 (2010)
- Chaudhuri, K., Papadimitriou, C., Rao, S.: Optimum routing with quality of service constraints. Unpublished manuscript (2004).
- Fleischer L.K.: Approximating fractional multicommodity flow independent of the number of commodities, SIAM J.Disc.Math., 13, 505 – 520 (2000)
- Garg, N., Könemann, J.: Faster and simpler algorithms for multicommodity flow and other fractional packing problems. In: Proc. 39th IEEE Symposium on Foundations of Computer Science, FOCS’98, pp. 300–309. IEEE CS Press (1998)
- Goldberg, A.V., Oldham, A.D., Plotkin, S., Stein, C.: An implementation of an approximation algorithm for minimum-cost multicommodity flows. In: Proc. of 6-th Integer Programming and Combinatorial Optimization, LNCS vol. 1412, pp. 338-352, Berlin, Springer (1998)
- Garg N., Vazirani V., Yannakakis M. Primal-dual approximation algorithms for integral flow and multicut in trees, Algorithmica, 18, 3–20 (1997)
- Guruswami, V., Khanna, S., Rajaraman, R., Shepherd, B., and Yannakakis, M.: Near-optimal hardness results and approximation algorithms for edge-disjoint paths and related problems. In Proceedings of the 31st Annual ACM Symposium on Theory of Computing, pages 19–28 (1999)
- Hu, T.C.: Integer Programming and Network Flows. Reading, MA, Addison-Wesley Publishing Company (1970)
- Kolman, P., Scheideler, C.: Improved bounds for the unsplittable flow problem. J. Algor., 61 (1), 20–44 (2006)
- Nemhauser, G.L. and Wolsey, L.A.: Integer and Combinatorial Optimization. Wiley-Interscience. New York, NY (1988)
- Van Mieghem, P., Kuipers, F.A., Korkmaz, T., Krunz, M., Curado, M., Monteiro, E., Masip-Bruin, X., Sole-Pareta, J., Sanchez-Lopez, S.: Quality of service routing. In: Quality of Future Internet Services. Lecture Notes in Computer Science, vol. 2856, pp. 80–117. Springer, Berlin (2003)
- Schrijver, A. Combinatorial Optimization. Polyhedra and Efficiency. Vol. C. Springer, 2003.
- Tang, Z., Zhao, B., Yu, W., Feng, Z and Wu, C. Software defined satellite networks: Benefits and challenges. In: Proc. of Computing, Communications and IT Applications Conference (ComComAp), pp. 127-132. IEEE (2014)
- Tardos, E.: A strongly polynomial algorithm to solve combinatorial linear programs. Operations Research, 34 (2), 250-256 (1986)
- Tsaggouris, G. and Zaroliagis, C.: Multiobjective optimization: Improved FPTAS for shortest paths and non-linear objectives with applications. Theory of Computing Systems, 45 (1) 162–186 (2009)