You are on page 1of 6

MINIMUM-COST FLOW PROBLEM AND APPLICATIONS

IN NETWORKS
Nguyen Viet Anh
Supervisor: Tan Yap Peng

School of Electrical & Electronic Engineering


Nanyang Technological University
Nanyang Avenue, Singapore 639798

Keywords: convex, primal-dual, complementary slackness new problem. This is the problem of how to transport V units
conditions, min-cost of flow across a network such that a minimum cost is
incurred. MCF arises naturally in many contexts, including
virtual circuit routing in communication networks, VLSI,
Abstract layout, scheduling, and transportation, and hence has been
We consider the problem of finding the minimum cost of a studied extensively [18, 20, 21, 23] .
feasible flow in directed networks. We allow real-valued
upper bounds and convex and differentiable cost functions There is a large variety of methods for solving (MCF) the
for the flows on arcs. In this paper, we present an efficient most popular of which are primal simplex methods, primal-
algorithm to solve such a large class of minimum cost flow dual methods, and the out-of-kilter method (see [6, 9, 13]).
problem (MCF). A key innovation is the modified conditions Ford and Fulkerson [14] developed a classical and still
of primal-dual method that can be applied for convex and frequently used method for solving this problem is the
differentiable cost functions. Our algorithm modifies and primal-dual method. This algorithm based on the theory of
extends the maximum flow algorithm by Ford and Fulkerson linear programming [9]. The basic idea is to maintain a price
based on these modified conditions. It works on the principle for each vertex and a flow for each arc, which satisfy
of incrementing the network flow along augmenting paths of complementary slackness. The method makes progress
minimum cost. The algorithm presented in this paper towards primal feasibility by successive augmentations along
efficiently applies in many applications, especially in network paths with certain properties and by making price changes to
topology. The applications of this algorithm in a real network facilitate the creation of paths with such properties. Jewell
and drawbacks in practice are also discussed. [24], Busaker and Gowen [25] independently developed the
successive shortest path algorithm [2]. These researchers
showed how to solve the MCF as a sequence of shortest path
1 Introduction problems with arbitrary arc lengths. Edmonds and Karp [10]
independently observed that if the computations use vertex
Network flows are of fundamental importance in computer potentials, it is possible to implement these algorithms so that
science, engineering and operations research, to name a few the shortest path problems have non-negative arc lengths.
areas. The textbook [19] is an exhaustive reference on the
subject. Like shortest path problem and maximum flow Minty [16] and Fulkerson [4] independently developed the
problem [7, 12, 13], minimum cost problem (MCF) is a out-of-kilter algorithm [13, 19]. Aashtiani and Magnanti [27]
central problem in network flows. We are given a (directed) have described an efficient implementation of this algorithm.
network, i.e. a directed graph with non-negative capacities on The cycle-canceling algorithm is credited to Klein [15]. Three
its edges, and two distinguished vertices source - s and sink - special implementations of the cycle-canceling algorithms run
t. The maximum flow problem tries to find out a maximum in polynomial time: the first, due to Barahona and Tardos [8];
flow from s to t in which each arc (i, j) has a maximum the second due to Goldberg and Tarjan [1], augments flow
allowed flow of uij. Now we wish to associate a further along minimum mean cost (negative) cycles; and the third,
parameter cij with each arc, where cij is the cost of sending a due to Wallacher and Zimmerman [26], augments flow along
unit of flow along (i, j). This has an obvious interpretation in minimum ratio cycles.
any real network as well as any real application in practice
where the unit cost may vary from arc to arc depending upon Bertsekas and Tseng developed the relaxation algorithm and
the nature of applications. The cost can be thought with a conducted extensive computational investigation of it.
wide range of meaning. In a real network, it can be a real Grigoriadis [17] and Kennington and Wang [11] has
cost to send a unit of data from one point to another point. It described an efficient implementation of the relaxation and
can also be other network parameters such as bandwidth, the network simplex algorithm.
delay, probability. This extra consideration of costs poses a
In this paper, we are concerned with the minimum cost flow
problem, in which the cost function is not necessary a
∑f
j∈X + ( i )
ij − ∑f
j∈X − ( i )
ji = bi (3.3)

constant. It can be convex and differentiable functions. We a


modify and extend the Ford – Fulkerson algorithm for the c

maximum flow problem [12]. The idea is of finding s


augmenting paths that do not satisfy the minimum condition.
A key innovation of our algorithm is a modification of t
complementary slackness condition in primal-dual method b
[19, 22] for a convex and differentiable function. We then Figure 1: Example of a directed graph
modify our current feasible flow so that complementary
slackness is satisfied. Source strength can be thought as data discarded (bi < 0) or
data from another pairs of source and sink flowing throw the
In the last part of this paper, we tried to demonstrate this network (bi > 0).Without loss of generality, consider MCF
algorithm and show some their applications in a real network. that sends V unit (bits) of data from s to t. If there are some
Some drawbacks of using this algorithm in practice are also pairs of source and sink, we just introduce an artificial source
discussed. s and an artificial sink t then connect this source and this
sink to other sources and sinks respectively. The constraint
(3.3) becomes
2 Preliminaries - Flow models of real networks
∑ fij − ∑ fji = 0 i ∈ X and i ≠ s, t (3.4)
{ j:( i , j )∈E { j:( j ,i )∈E
Real networks can be modelled as a directed graph G(X, E),
where X is the set of n vertices (|X| = n) and E is the set of ∑
{ j:( s , j )∈E
fsj − ∑f
{ j:( j ,s )∈E
js = V (3.5)
directed arcs. Each vertex can be considered as a computer, a
printer, or other device (routers, hubs…) that is connected to ∑
{ j:( t , j )∈E
ftj − ∑f jt
{ j:( j ,t )∈E
= −V (3.6)
the network through cables. A cable can be thought as a pair
of directed arcs (i, j) and (j, i). Every arc (i, j) ∈ X is We assume throughout that there exists the feasible solution
associated with a set of non-negative values, referred to as arc (MCF). For simplicity in what follows we assume that there
attributes of a network [13, 18]. Examples of arc attributes in is at most one arc associated with each ordered pair of nodes
a real network are arc cost (c), bandwidth (b), delay (d), loss (i, j) & all arc cost are non-negative. In addition, we only
probability (l). consider the convex and differentiable cost function kij(fij) on
each arc in this paper. Mathematically [11],
One of the important parts in the operation of a network is kij(λx + (1 – λ)y) ≤ λkij(x) + (1 – λ)kij(y) for any λ ∈ [0, 1]
routing. Routing can be thought as sending data from one
vertex (source - s) to another vertex (sink - t) in a network. A Lemma 1: If a function f(x) is differentiable at every point in
routing task consists of finding a path Pa(s, t) suitable to a which the function is defined, then k-ij(x) = k+ij(x).
given application that has end-to-end constraints. In next Lemma 2: Consider a convex cost function g(x) with x ≥ 0.
section, we will present the min-cost flow problem that plays The point xo minimizes the convex function g(x) if and only if
an important role in network routing algorithm. g+(xo) ≥ 0 and g-(xo) ≤0 for xo > 0 and g+(xo) ≥ 0 for xo = 0.

3 Formulation of problem 4 Optimality conditions


Let G = (X, E) be a directed network with a cost cij and a MCF above is a classical non-linear programming. We extend
capacity uij associated with every arc (i, j) ∈ E. For vertex i in and modify the conditions of primal-dual method in linear
G, we define the out-neighbourhood - X+(i) and in- programming [19, 22] to apply for the case of convex and
neighbourhood - X-(i) of i by differentiable cost functions. The method introduces a price
vector {Pi} at each vertex that is known as dual variables. The
X+(i) = {j ∈ X | (i, j) ∈ E} optimal conditions (MCF) is shown below
X-(i) = {j ∈ X | (j, i) ∈ E}
THEOREM 1: A flow (fij) satisfying condition (3.2) & (3.3)
Let an intensity (source strength) bi be assigned to each minimizes the total cost (3.1) if and only if there exists for
n
each vertex i a number Pi (called potential or price) for which
vertex i with the relation ∑ b = 0 being valid. The MCF is to
i =1
i
it holds:
find a flow fij on G to minimize Pj – Pi ≤ k+ij(fij) if fij = 0
Pj – Pi = k-ij(fij) = k+ij(fij) if fij > 0 (4.1)
z (f) = ∑ kij ( fij ) (3.1)
( i , j )∈E
Proof
subject to 1. Necessity condition. Let the conditions (4.1) be satisfied
0 ≤ fij ≤ uij (3.2) for a flow { fij }. We will show that { fij } minimizes the total
cost. Since a flow is certainly not optimum if for an arc fij > 0
and fji > 0, we may put fji = 0 if fij > 0. Let assume that fij > fji Pj = Pi – k’ij( fij ) if fij > 0
> 0 we can reduce the cost by changing fij = fij – fji and fji = 0. Now, each vertex has been provided with a price. We will
These changes still preserve the conservation of low
show that the condition (4.1) is fulfilled. Suppose that in G
requirement at each vertex. We want to put kij(fij) = ∞ if the
arc (i, j) does not lie in G at all or if fji > 0. Then, the modified there exists and arc (u, v) with fuv > 0 and Pv – Pu ≠ k’uv. In
vertex condition (4.5) assumes the form the spanning tree G ' the value Pu has been coordinated to u
n n
along a chain (io, i1, …, im = u) and the value Pv to v along a
∑f
j =1
ij − ∑f j =1
ji = bi (i = 1, …, n) (4.2)
chain (io = ip, ip-1,…, im+1 = v). Together with the arc (u, v) we
As well know in linear programming [4], {fij} and {Pi} are get a cycle.
µ = (io, i1,…, im = u, im+1 = v, …, ip = io)
feasible solutions of primal and dual problems respectively.
The flow going on each arc of µ is always positive. Now, we
There is a relation between them
n n n n modify the flows on the arcs of µ slightly and show that the
∑P ∑ f = ∑P ∑ f i ji j ij (4.3) new flow can be transported with lower costs. On the arcs of
i =1 1 i =1 1 µ+ (there are arcs on which the flow goes in the same
Substitute (4.2) into the total cost function & use (4.3), we direction as the orientation of µ) we increase the fluxes by a
have value h; on the arcs of µ- we decrease the fluxes by the value
n n n n n
h, and the fluxes on all the other arcs remain unchanged.
∑ k ( f ) = ∑ k ( f ) + ∑ P (∑ f − ∑ f
i , j =1
ij ij
i , j =1
ij ij
i =1
i
j =1
ij
j =1
ji − bi ) Obviously, the vertex condition continues to be satisfied
n n when affecting this step.
= ∑ (k ( f ) + ( P − P ) f ) − ∑ P b
i , j =1
ij ij i j ij
i =1
i i
Consider the cost difference resulting between the old flow
Obviously, together with kij(fij), also g(fij) = kij(fij) + (Pi – and the new one
Pj)fij is convex. Moreover, ∆ = ∑ [kij ( fij ) −kij ( fij + h )] + ∑ [kij ( fij ) −kij ( fij − h )]
g+(fij) = k+ij(fij) + (Pi - Pj) (4.4) ( i , j )∈µ + ( i , j )∈µ −

g-(fij) = k-ij(fij) + (Pi – Pj) (4.5) Using the Taylor series, we get
At the optimum, if fij > 0 then g+(fij) ≥ 0 and g-(fij) ≤ 0 or if fij ∆ = h[ − ∑ k ' ij ( fij ) + ∑ k' ij ( fij )] + o( h )
( i , j )∈µ + ( i , j )∈µ −
= 0 then g+(fij) ≥ 0 (Lemma 2). Hence, from (4.4) & (4.5) we
have According to the formation rule for the Pi, it results
k-(fij) ≤ Pj – Pi ≤ k+(fij) if fij > 0 (4.6) ∆ = h(Pio – Pi1 + Pi1 - .. - Pu – k’uv( fij ) + Pv -. – Pio) + o(h)
Pj – Pi ≤ k+(fij) if fij = 0 (4.7) ∆ = h(Pv – Pu – k’uv( fuv )) + o(h)
We can see that the condition (4.6) & (4.7) is exactly the For sufficiently small h > 0, however, this expression is
n
certainly greater than zero if Pv – Pu > k’uv( fuv ). But if Pv – Pu
same (4.1). The convex function ∑k ( f )
ij ij assumes its
i , j =1 < k’uv( fuv ), we modify the flow as follow: on the arcs µ+ we
minimum value when each summand is minimum. Since the decrease the flow by h, on that of µ- we increase it by h. The
n
resulting difference may be estimated in an analogous way. If
summand ∑Pb i i is a constant, and thus without any
i =1 G is not connected, we assume G has q sub-graphs . We
influence on the situation of the minimum, the total costs form a graph G ' by introducing a vertex n+1 and connecting
become minimum when the conditions (4.1) of the theorem
vertex it (1 ≤ t ≤ q) of each sub-graph of G . We perform
are fulfilled.
above studies with the graph G ' as described above with the
2. Sufficient Condition. We show the sufficiency of the price Pi for the vertex it, n+1 being equated to zero.
condition (4.6) for the minimality of the total costs. Let { fij }
be a minimum flow. In order to verify the necessity of (4.1)
we have to define a suitable price. 5. Algorithm
THEOREM 2. Let the cost functions be convex and
Consider the sub-graph G ( X , E ) of G(X, E) which has the differentiable. Then a flow {fij} is optimum if and only if
same set of vertices as G, but the set E = {(i, j) : k+ij( fij ) = there exists a price {Pi} such that
Pj – Pi ≤ k+ij(fij) for fij = 0 (5.1)
k-ij( fij j) = k’ij( fij )} of arcs. Let us presuppose that G is Pj – Pi = k’ij(fij) for 0 < fij < uij (5.2)
Pj – Pi ≥ k’ij(fij) for fij = uij (5.3)
connected. Let G ' be a spanning tree of G [4]. Starting from
source s, to which the price Ps = 0 is assigned, we assign a
Steps for the algorithm of above min-cost flow problem is
price to all other vertices in the following manner: let the
shown as below
value Pi be already assigned to vertex i. Then, we put
Pj = Pi + k’ij( fij ) if fij > 0
algorithm tree-augmenting path; take this modification to be P(u) ← P(u) +1 if and only if, u
begin is not labelled in the last application of the labelling process.
for all u ∈ X do Pu = 0;
for all (u, v) ∈ E do fuv = 0; An example below will demonstrate the algorithm process.
while (V # 0 ) do The cost function is kij(fij) = cijfij, hence k’ij(fij) = cij. Assume
begin after some iteration, the graph is shown in figure 2 . For the
Carry out the labelling process; ease of implementation, other convex cost functions can be
if the destination t is labelled then approximated as a piecewise linear function. The idea is to
begin allow some interior points to be breakpoints of the function
Find the augmenting path by label; and linearize the function between these breakpoints.
Modify the arc flows;
end;
if the destination t is not labelled then On each arc, there are 3 numbers indicating
modify the vertex numbers Pu; cost/capacity/flow respectively (cij/uij/fij). On each vertex,
end; there are 2 numbers indicating price/label (pi/li) respectively.
end; li is the previous vertex of vertex i in the label process with
the notation as follow
The present algorithm uses a labelling process. This is as
follows. Initially, every vertex except the source - s is Vertex Value
unlabeled. New vertices v are labelled if they are adjacent to s 1
one, u, that has already been labelled if either: a 2
f(u, v) < u(u, v) and P(v) – P(u) = k’uv(fuv) b 3
or if c 4
f(v, u) > 0 and P(u) – P(v) = k’vu(fvu) t 5
unlabelled 0
Notice that if within this process the sink becomes labelled,
then a flow-augmenting path has been found. According to
the label, a path Q from the source – s to destination - t is Table 1: Notation during the labelling process
defined Q = (vo = s, v1,…., vk = t). If there is a flow from vi to
vi+1, the arc (vi, vi+1) is called forward-arc. Otherwise, if there a/2/3 1/4/0
c/3/2
is a flow from vi+1 to vi, the arc (vi, vi+1) is called reverse-arc. 1/2/2
3/5/0
1/2/2
s/0/1
We define a positive increment of each arc for the flow 1/2/0
augmenting path as follow:
3/3/0
a. if (vi, vi+1) is a forward-arc then: 1/2/2
t/5/0

∆i = u(vi, vi+1) – f(vi, vi+1) > 0 b/3/1


b. if (vi, vi+1) is a reverse-arc then: Figure 2: Example of labelling process
∆i = f(vi+1, vi) > 0
A common positive increment δ is defined as δ = min ∆i. A Initially, s is labelled (ls = 1). Since fsb = usb and Pb – Ps =
new flow will be constructed such that the value of new flow csb, b is labelled and lb = 1 (vertex s). Now b is labelled and
will be equal to the value of old flow plus ∆. We do this by fab > 0 and Pb - Pa = cab. Thus, a is labelled and la = 2 (vertex
increasing the flow of forward-arc and decreasing the flow of b). Continuously, we have c is also labelled as shown in
reverse-arc by δ. figure 2. The sink - t is not labelled in this step. Therefore, the
a. if (vi, vi+1) is a forward-arc then: price - Pt is increased to 6. Repeat the labelling process we
f(vi, vi+1) ← f(vi, vi+1) + ∆ have the detail graph as shown below
b. if (vi, vi+1) is a reverse-arc then:
f(vi+1, vi) ← f(vi+1, vi) - ∆ a/2/3 1/4/0
c/3/2
1/2/2
Clearly, these changes preserve the conservation of flow 1/2/2 3/5/0
requirement at each vertex excluding s and t so that the new s/0/1
1/2/0
flow is a feasible flow. Moreover, the cost is reduced since
the condition in the THEOREM 1 is still satisfied. 3/3/0 t/6/4
1/2/2
b/3/1
Now let us consider the case where the destination does not Figure 3: Example of augmenting path
become labelled. If the network is not saturated (the total
network flow does go to V bit data sent), the modification As we can see, in this step, all vertices are labelled. The
process for price vector Pi will be taken. For the present, we augmenting path found is (s, b, a, c, t). Let 2 bits of data flow
along this path. Notice that (a, b) is reversed arc in this path
so the flow along this arc will be decreased by 2. This result According network model [2, 3], we can express the average
in the flow in a network as follow delay constraint as
1 fij

γ ( i , j ) Bij − fij
≤T (6.1)

a/2/0 1/4/2 where γ is the total arrival rate into the network. It is
c/3/0
1/2/2 intuitively clear that the constraint will be satisfied as an
1/2/0 3/5/2 equality at the optimum. Let β is a Lagrange multiplier and
s/0/1
1/2/0
form the Lagrangian function.
t/6/0
3/3/2
β fij
b/3/1
1/2/2
L= ∑( p B
(i, j )
ij ij +
γ Bij − fij
)

Figure 4 : Example of modifying the flow Accordance with the Lagrange multiplier technique [6],
solving ∂L / ∂Bij = 0
βfij
6 Applications in network Bij = fij +
γpij
In this section, we will discuss how the minimum-cost flow Substitute in the constraint equation (6.1), and rearrange we
problem is applied in routing in data networks. Routing refers have
to the decision of transferring data from one node to another 1 pijfij
in a network. Routing in a network typically involves a rather β = ∑
T (i, j ) γ
complex collection of algorithms that work more or less
By substitution in the cost function, the optimal cost is
independently and yet support each other. Routing system
expressed as
must satisfy several requirements such as reliability, high
performance. In this section, we are concerned with routing optimal cost = ∑ pij fij + 1 ( ∑ pijfij ) 2 (6.2)
algorithms capable of finding routes that comply with (i, j ) γT ( i , j )
application requirement and achieve high performance. The cost function (6.2) has many local minima and is very
difficult to minimize. It becomes a hard combinatorial
As discussed previously, a real network can be modelled as a problem. This may be the limit of this algorithm. Some
graph. Let us consider the case when we want to send data heuristic methods is tried to solve this problem. [9, 22].
from one vertex s – source to another vertex t – sink in a
graph. In practice, routing decision need to find the way to 8. Closing Remarks
send data that satisfy such requirements as minimum cost,
delay, and loss. The cost function in each arc of network can We presented a new algorithm for the MCF with convex and
be thought as a function of these network attributes such as differentiable cost functions. The algorithm is a modification
real cost, delay, network. Therefore, if the cost of a link and combination of the maximum flow algorithm by Ford &
equals the average packet delay to cross the link, the Fulkerson and primal-dual method in linear programming.
minimum cost route is also a minimum delay route. The The class of this problem has a crucial application in
interested readers are drawn to the textbook of D. Bertsekas networks. However, designing practical algorithms for the
and R. Gallager [3]. MCF on large and complicated networks is under study.

7 Future Work References


In simple form, such cost functions can considered in form of [1] A. V. Goldberg and R. E. Tarjan. Finding minimum-cost
kij(fij) = cijfij as in the example of section 5. Unfortunately, in circulations by cancelling negative cycles. Journal of the
a data network, network atributes such as delay, loss ACM, 36:388-397, 1989.
probability depends on the traffic load carried by the link,
which in turn depends on the routes selected by the routing [2] Alan Gibbons, Algorithmic Graph Theory in Network
algorithm. Because of this feedback effect, the minimum Application, Cambridge University Press, 1985
average delay routing problem is more complex.
[3] Andrew S. Tanenbaum, Computer Networks, Prentice-
Let give an example that we want to choose the link Hall International, Inc, 1992
capacities so as to minimize a linear cost
∑ pijBij subject to
(i , j ) [4] Dimitri Bertsekas, R. Gallager, Data Networks, Prentice-
the constraint that the average delay per packet should not Hall Internaltional, Inc, 1992
exceed a given constant T. Bij is the capacity (bandwidth) of
each link and pij is a know positive price per unit capacity.
[5] D. R. Fulkerson. An out-of-kilter method for minimal cost [19] R. Ahuja, T. Magnanti and J. Orlin, “Network Flows”,
flow problems. SIAM Journal, 1961. Prentice-Hall, 1993.

[6] E.L. Lawler, Combinatorial optimization: Networks and [20] S. Kapoor and P.M. Vaidya. Fast algorithms for convex
matroids (Holt, Rinehart & Winston, NewYork, 1976). quadratic programming and multi-commodity flows. In
Proc. 18th Annual ACM Symposium on Theory of
[7] Ermolev, Ju. M., and I. M. Mel’nik: Extremal Problems Computing, pages 147-159, 1986
on Graphs [Russian], Kiev 1968.
[21] T. C. Hu. Multi-Commodity Network Flows, J.ORSA,
[8] F. Barahona, E. Tardos, ``Note on Weintraub's minimum 11:344-360, 1963
cost circulation algorithm,'' SIAM J. Computing, 18
(1989) 579-583. [22] Trustrum, K. Linear Programming, Routledge and
Keegan Paul (London) (1971).

[9] G.B. Dantzig, Linear programming and extensions [23] T. Leighton and S. Rao. An approximate max-flow min-
(Princeton University Press, Princeton, New Jersey, cut theorem for uniform mutil-commodity flow
1963). problems with applications to approximation
algorithms. In Proc. 29th IEEE Annual Symposium on
[10] J. Edmonds and R. M. Karp. Theoretical improvements Foundations of Computer Science, pages 422-431,
in algorithmic efficiency for network flow problems. 1988.
Journal of the ACM, 19:248{264, 1972.
[24] W. S. Jewell. Optimal flow through networks. Technical
[11] J.L. Kennington and Z. Wang. An empirical analysis of Report 8, Operations Research Center, MIT, 1958.
the dense assignment problem: Sequential and parallel
implementations. ORSA. J. Comput. 3:299-306, 1991 [25] R. G. Busacker and P. J. Gowen. A procedure for
determining a family of minimum-cost network flow
patterns. Technical Report 15, Operations Research,
[12] L.R. Ford and D.R. Fulkerson, Maximal flow through a Johns Hopkins University, 1961.
network, Canadian Journal of Mathematics, 8 (1956),
399-404.
[26] Wallacher, C., and Zimmerman, U. 1991. A
[13] L.R. Ford, Jr. and D.R. Fulkerson, Rows in networks combinatorial interior point method for network flow
(Princeton University Press, Princeton, New Jersey, problems. Tech Rep. Preprints in Optimization, Institute
1962). for Angewandte Mathemtik, Technische Universitat
Braunschweig, Germany.
[14] L.R. Ford, and D.R. Fulkerson, "A simple algorithm for [27] W. Aashtiani, and Magnanti, T. L. Implementing primal-
finding maximal network flows and an application to the dual network flow algorithms. Working Paper OR 055-
Hitchcock problem," Canadian Journal of Mathematics, 76, Operations Research Center, Massachusetts Inst. of
vol. 9, 1957, pp. 210-218. Technology, Cambridge, Mass. 1976.

[15] M. Klein, A primal method for minimal cost flows with


applications to the assignment and transportation
problems, Management Science 14 (1967) 205-220

[16] Minty, G.J., Monotone networks, Proceeding Royal


Society of London, A, Vol. 257, 1960, pp. 194-212.

[17] M.D. Grigoriadis. An Efficient Implementation of the


Network Simplex Method. Math.Org.Study, 26:83-111,
1986

[18] P. Klein, S. Plotkin, C. Stein, and E. Tardos. Faster


approximation algorithms for the unit capacity
concurrent flow problem with applications to routing and
finding sparse cuts. SIAM Journal on Computing, June
1994.

You might also like