Professional Documents
Culture Documents
IN NETWORKS
Nguyen Viet Anh
Supervisor: Tan Yap Peng
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)
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
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.
[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.