You are on page 1of 8

Mathematical Programming 5 (19 73) 217-224.

North-Holland Publishing Company

MORE PATHOLOGICAL EXAMPLES


FOR NETWORK FLOW PROBLEMS

Norman ZADEH
LB.M. Research, Yorktown Heights, N.Y., U.S.A.

Received 5 June 1972


Revised manuscript received 8 June 1973

Two examples are presented. The first example is "bad" for a large subset of the "primal"
minimum cost flow algorithms, namely those algorithms which start with the required amount
of s - t flow distributed in a feasible, but nonoptimal manner, and which get optimal by send-
ing flow about negative cycles. In particular, the example is bad for the "primal" method which
always sends flow about a cycle which yields the largest decrease in the objective function.
The second example requires O(n 3) flow augmentations using tie-breaking variants of either
the Edmonds-Karp shortest path or fewest reverse arcs in path maximum flow algorithms. This
example implies that it is not possible to substantially improve the performance (in a worst case
sense) of either algorithm by resolving ties.

1. Introduction

In a previous paper [7], we have discussed the worst case behavior of


currently known methods for solving minimum cost flow problems,
including the simplex method. The simplex method, as applied to mini-
m u m cost flow problems, is a special case of a more general minimum
cost flow algorithm [5] which starts with a feasible but not necessarily
optimal solution, and which gets optimal by sending flow about a
sequence of negative cycles. A special case of this algorithm, which we
refer to as cycle*, always sends flow about a cycle which yields the
largest decrease in the objective function.
We construct a network with essentially fourteen nodes for which
cycle* requires an arbitrarily large number of cyclic augmentations,
depending only on the magnitude of its integral capacities.
The simplex m e t h o d cannot exhibit such behavior on a network with
a fixed number of nodes, because such a network allows only a fixed
218 N. Zadeh

number of basic solutions. Consequently, in some worst case sense, the


simplex method is "better" than another primal m e t h o d which would
initially seem more powerful.
It should be noted that the "maximum decrease" or cycle* method
which we are discussing cannot normally be implemented, because the
determination of the maximum decrease cycle at each iteration is
usually as hard as the traveling salesman problem. However, any method
which sends flow about a random sequence of negative cycles may
exhibit the same pathological behavior as does the cycle* method.

2. Notation and definitions

Most of the notation we use (which is minimal) may be found in


[7]. s and t have their usual meanings as source and sink, respectively.
By an arc (u, v), we will mean the directed arc from u to v. Its cost
should be interpreted as the cost per unit of flow. An augmentation will
b e synonymous with an act of sending flow. Finally, we will refer to
cycle* as that primal m e t h o d which always augments about a cycle
which produces the largest decrease in the objective function. This
decrease is measured by the cost of the cycle times the amount of flow
sent about it.
The bad network which we will construct for the cycle* method has
capacities which are sums of Fibonacci numbers. The n th Fibonacci
number, denoted by F n, is the n th term in the sequence 1, 1, 2, 3, 5, 8,
13, 21, 34 .... defined byFn+ 2 =Fn+ a + F n forn~> 1.

3. Explanation of the "bad" network for cycle*

The bad network for cycle* is shown in Fig. 1. It is built around


three " k e y " arcs, (6, 3), (5, 2) and (4, 1). Arcs (s, 6), (s, 5), (s, 4), (2, t),
(1, t), and the paths with capacities ]~/.2kl-
F3/. from s t o @ , and ~,2x
~i=l
E 31"+1
from @ to t, are used merely to get the "right" initial flow in the net-
work. They become irrelevant after the fifth augmentation (see Table
1). An arc without a capacity means that its capacity is large enough to
be irrelevant. There are only three arcs with positive costs, (s, t), (3, 1)
and (6, 4). Besides paths used to obtain the starting solution, there are
two paths (referred to as upper and lower) from s to nodes (j), (2), @ ,
and from @ , @ and @ to t. When started with the initial feasible but
More pathological examples for network flow problems 219

k / ~- I \ / I~u ~. k

k \
Z F
j=i 6L

2k
I Z F
6j-I
3=i ,

F k E F
j=l 63-2 F6k+l 2 F +i j=l 6j-4
j=1 33

t t s

Fig. 1. A bad network for the cycle* method. The capacities in the network are functions of k,
which may be chosen to be arbitrarily large. When started with the right initial flow, the cycle*
method will require 6k + 1 cyclic augmentations.

non-optimal flow, cycle* will augment about the repeating sequence of


cycles shown in Table 1. Notice that the sequence of cycles 1, 2 and 3 is
essentially the same as the sequence of cycles 4, 5 and 6; i.e., cycle 1 is
similar to 4, 2 to 5, and 3 to 6.
An alternative view of the sequence of cyclic augmentations is given
in Fig. 2. In this figure, upper and lower paths from s t o @ ( ( ~ ) t o t) are
replaced by a single arc, so that cycles 1 and 4 (2 and 5, 3 and 6) are
made to look identical. The flows on key arcs after each augmentation
are shown at the right of the figure. Prior to the first cycle augmenta-
tion, the flows on the key arcs are as follows: Arc (6, 3) has a flow o f
zero, arc (5, 2) has a flow of f6k+2, and arc (4, 1) has a flow ofF6k+l.
The first augmentation which occurs about cycle 1 carries F6k+l units
220 N. Zadeh

Table 1
Sequence of augmentations for Fig. 1.

Noncyclic augmentations which generate the initial feasible, but nonoptimal flow

Flow in arcs Objective


Path function
(6, 3) (5, 2) (4, 1) change

st 0 0 0 + 4"~/-6k1+1F/

s3 1t 0 0 0 + 1 .~,lkl Fa/

s64t 0 0 0 + 1 .~,~.k1 F'3j+I

s52t 0 F6k+2 0 0

s4 1t 0 F6k+2 F6k+l 0

Cyclic augmentations starting from the initial feasible flow

Flow in arcs after augmentation Objective


Cycle function
(6, 3) (5, 2) (4, 1) change

1 s'-'l 4 6 3 2 ~'tS F6k+l F6k 0 - 5 . F6k+l

2 s2 5 4 1 3 6"tS F6k_l 0 F6k - 5 . F6k

3 ~3 6 5 2 1 4""ts 0 F6k_l F6k_2 - 4 . F6k_l

4 sl 4 6 3 2 5t s F6k_2 F6k_3 0 - 5 . F6k_2

5 s2 5 4 1 3 6 t s F6k.. 4 0 F6k_3 -5"F6k_3

6 s3 6 5 2 1 4 t s 0 F6k_4 F6k_s - 4 . F6k_4

7 s l 4 6 3 2 5"~ s F6k_s F6k_6 0 -5"F6k_s

Repeats

A line above two nodes, e.g. s 3, stands for the upper path between s and 3 . A line below, e.g.
s3, stands for the lower path.

of flow. The flow value is determined by the flow in arc (4, 1) prior to
the augmentation. The key arcs are traversed in such a fashion that arcs
(5, 2) and (4, 1) have their flows decreased by F6k+l while (6, 3) has its
flow increased by F6k+l. The resulting flows on the key arcs are shown
in Table 1 and also in Fig. 2.
More pathological examples for network flow problems 221

Initial Flow in Key Arcs


0

F6K*2
o 6
F6K+I
6 ~

Arcs in Cycle
(Direction of Flowin Key Arcs Flow in Key Arcs
is Indicoted by Arrows) After Augmentation

® ®
CYCLE FLOW COST*
F6K
I(4) F6K+I (F6K-2) - 5 s - - -. -' + ; b

0
C~- g

F6K. I
® ®

2(5) -5 .= t 0
F6K (F6K-3)

0 ~ ( ~ F6K
6" b

3(6) F6K-I (F6K-4) -4


® ®

REPEATS F6K-2 .

Fig. 2. An alternative view of the sequence of augmentations starting from the initial feasible
flow. * Cost of sending one unit of flow about cycle. °
222 N. Zadeh

The process proceeds in much the same fashion. The next augmenta-
tion is over cycle 2. Its flow value of F6~ is determined by the flow in
arc (5, 2) prior to the augmentation. The key arcs are traversed as indi-
cated in Fig. 2. The resulting flows are shown in Table 1 and also in
Fig. 2.
The "last" augmentation is over cycle 3. Its flow value o f F6k_l is
determined by the flow in arc (6, 3) prior to the augmentation. After
this augmentation, the process essentially repeats, except that lower
paths instead of upper paths are used.
In order to show that cycle* performs the sequence of augmentations
as indicated, it is necessary to verify that each cycle in the sequence is a
maximum-decrease cycle. A p r o o f of this is given in [9].

4. Some tie-breaking max flow algorithms

Most of the currently known methods for finding maximum s - t


flows in a network do so by augmenting along a succession of paths
until no further augmentations can be made. A problem of some con-
cern is to find the most "efficient" way of choosing the augmenting
path at each iteration.
In the following, the length of a path will refer to the number of arcs
in it. Also, an arc (u, v) will be said to be a reverse arc o f a path P, if
sending flow along P decreases the flow in (u, v).
In [1], Edmonds and Karp proposed three different methods for
choosing the augmenting path:
(i) Choose a shortest path. Abbreviated to Short.
(ii) Choose a path with the fewest number o f reverse arcs. Abbrevi-
ated to Reverse.
(iii) Choose a path with the maximum capacity. Abbreviated to Capa-
city.
By a tie-breaking method (~, t3, c), for example (Short, Capacity, Re-
verse), we mean a method which among all shortest paths, determines
those with the maximum capacity, and from the latter set chooses on
augmenting path with the fewest number of reverse arcs.
At the present, no bound independent of the capacities is known for
Capacity. On the other hand, for networks with n nodes, it is shown in
[8] that the methods (Short) and (Reverse) have upper bounds of n3/12
augmentations. Consequently, n3/12 is also an upper bound for the
methods (Short, Reverse, Capacity), (Short, Capacity, Reverse), (Re-
More pathological examples for network flow problems 223

All capacities are I

Fig. 3. An illustration of the construction of networks which require ~ n 3 augmentations


using any of the tie-breaking methods. The numbers 6 and 3 represent capacities. The dotted
lines represent arcs from N i to N s (N t to Nj) which are not drawn in. In order to have r ~ s n 3
augmentations, the above figure should have 9 more N s and 9 more N t nodes, in which case the
capacities should increase by a factor of 4. All nodes labelled s (t) correspond to one node;
nodes labelled N s (Nt), however, are distinct.

verse, Short, Capacity), and (Reverse, Capacity, Short). It may be con-


jectured that one of these four tie-breaking strategies yields an algo-
rithm which requires O(n 2) augmentations.

Assertion. The four tie-breaking strategies given above all yield algo-
rithms which may require O(n 3) augmentations.

Proof By construction. See Fig. 3 and Table 2.

Table 2
Sequence of augmentations for Fig. 3.

Path Length Number of Capacity


reverse arcs

s N 3 N 2 t, s N s N 4 t 3 0 6
s N 7 N 6 t, s N 9 N 8 t
All paths of the form:
sNsNtt 3 0 1
s N l N2 N3 N t Ns N8 N9 N10 t 9 2 o
1
sN1 N2 N3 N~ N 5 N s N t N 6 N 7 N 8 N 9 N l o t 13 4 1
224 N. Zadeh

The sequence of augmentations shown in Table 2 will be carried out


regardless of which of the above tie-breaking rules is used. In an exam-
ple with ½n N s nodes, ½n N t nodes, and ½n other nodes, there will be
1 3
(½n) 2. (½n).¼ or ~o--6-~-n augmentations.

References

[1] J. Edmonds and R.M. Karp, "Theoretical improvements in algorithmic efficiency for net-
work flow problems", Journal of the Association for Computing Machinery 19 (1972)
248-264.
121 L. Ford and D.R. Fulkerson, Flows in networks (Princeton University Press, Princeton, N.J.,
1962).
[3] T.C. Hu, Integer programming and network flows (Addison-Wesley, Reading, Mass., 1969).
I41 R.M. Karp, "Reducibility among combinatorial problems", Computer Sciences Technical
Report No. 5, Univeristy of California, Berkeley, Calif. (1972).
[5 ] M. Klein, "A primal method for minimal cost flows", Management Science 14 (1967) 2 0 5 -
220.
[6] A. Weintraub, "A primal approach to network flow problems with convex costs", Opera-
tions Research Center, University of California, Berkeley, Calif., No. ORC 71-30 (1971).
[7] N. Zadeh, "Theoretical efficiency and partial equivalence of minimum cost flow algorithms:
a bad network problem for the simplex method", Operations Research Center, University
of California, Berkeley, Calif., No. ORC 72-7 (1972).
[8] N. Zadeh, "Theoretical efficiency of the Edmonds-Karp algorithm for computing maximal
flows", Journal of the Association for Computing Machinery 19 (1972) 184-192.
[9] N. Zadeh, "More pathological examples for network flow problems", Operations Research
Center, University of California, Berkeley, Calif., No. ORC 72-12 (1972).

You might also like