163 A multi-level bottleneck assignment approach to the bus drivers' rostering problem P. C A R R A R E S I Department of lnforraatics, University of Pisa, Italy G. G A L L O Department of lnformatics, University of Pisa, Italy, and Faculty of Economics, University of Venice, Italy Received November 1981 Revised December 1982 The problem of finding a work assignment for drivers in a given time horizon, in such a way as to have an even distribution of the workload, is considered. This problem is formulated as a Multi-level Bottleneck Assignment Problem (MBA). The MBA problem is studied: it is shown that it is NP-complete and an asymptotically optimal algorithm is presented. Some computational results are illustrated which prove the efficiency of the algorithm. 1. Introduction Very often, when the Bus Drivers' Scheduling problem is referred to, only the problem of finding a list of shifts which satisfy the service requirements, together with a set of additional constraints, is considered. Actually this is only a part of the problem and a second level problem, the rostering problem, i.e., to assign each shift to one of the drivers, has still to be solved. For some Public Transit Companies the rostering problem is rather easily solved. For instance in most North American Companies the assignment of the shifts is left to the drivers themselves and selection is made on a seniority basis. This is not actually the case in some European countries. Very often the clauses of the union conventions require the shifts to be assigned to the drivers in such a way that each driver receives an even balance of each type of shift during a given time horizon. In the following a simplified, although quite general, formulation of this problem is considered. To each shift a weight is assigned, which represents a measure of the cost of the shift for the drivers; such a weight can be simply equal to the length in time of the shift or may take into account other factors such as the lateness of the shift, the total time elapsed in the case of split shifts, the time for the driver to arrive at the point on the route where the shift starts, etc. The problem of finding an even balance of shifts over a given interval of time is then formulated as a bottleneck problem: we want the maximum total weight of the shifts assigned to a single driver to be minimized, i.e., we want the sum of the weights of the shifts assigned to the driver who is worse off to be minimal. In particular the problem is formulated as a Multi-level Bottleneck problem. This problem is studied and an algorithm to find a sub-optimal solution is proposed. It is shown that the solutions provided by the proposed algorithm are asymptotically optimal. Moreover, the results of a rather wide numerical experimentation, to prove the efficiency of the algorithm and the goodness of the solutions obtained, are presented; both randomly generated problems and real life problems have been used. In the last section a The authors are grateful to P. Camerini for having suggested the proof of Proposition 2. North-Holland European Journal of Operational Research 16 (1984) 163-173 0377-2217/84/$3.00 © 1984, Elsevier Science Publishers B.V. (North-Holland) 164 P. Carraresi, G. Gallo / Multi -level bottleneck assignment approach new algorithm for the Bottleneck Assignment problem is presented and used as a sub-routine to solve the rostering problem. The results of an experimentation to compare such an algorithm with that of Derigs and Z i m m e r m a n n (1978) are -]lustrated. 2. The multi-level assignment model Let us consider an m days time horizon; for each day n shifts are given. Should the number of shifts not be the same for all the days, then d u m m y shifts can be added to have an equal number of shifts. Each shift is assigned a real weight; let wkj denote the weight of t h e j t h shift of day k. The time duration of the shift or any other measure of the workload for the shift may be used as a weight. For each i and each k we denote by Sk(i ) the set of shifts which can be assigned in day k + 1 to the same worker to whom shift i has been assigned in day k, and by Pk(i) the set of shifts which can be assigned in day k to the same worker to whom shift i has been assigned in day k + 1. Let us consider the graph of Fig. I, where node ( k , j ) corresponds to t h e j t h shift of the kth day. Each node ( k , j ) has weight wk~. The set Sk(j) corresponds to the set of the successors of node (k,j) in the graph, while P k - ~ ( J ) corresponds to the set of predecessor nodes. A feasible work assignment to a single worker corresponds to a path from one of the nodes of the first set to one of the nodes of the ruth set; its total workload, or length, is given by the sum of the weights of the nodes in the path. The problem of finding n work assignments such that the maximum workload be minimized, can be formulated as the problem of finding, in the graph of Fig. I, n node disjoint paths from the first set of nodes to the last one, such that the longest path has a minimum length. If m = 2 this is a standard Bottleneck Assignment problem. For m > 2 we call it a Multi-level Bottleneck Assignment problem (MBA). o e Fig. I. ..... ..... P. Carraresi, G. Gallo / Multi-level bottleneck assignment approach 165 Its mathematical formulation is given next. Minimize subject to Z~ (a) Z x,kj= 1; k = 1. . . . . m - 1; i = 1. . . . . n; x~j-- 1; k = 1. . . . . m - .I~S~(i) (b) Z 1 ; j = 1. . . . . n; iEP,(j) (C) s,' = w , , ; j= (d) s, = w,, + (2.1) l ..... n; E j=l . . . . . n ; k = 2 . . . . . m; iEP~_ I(J) (e) sT (f) x~ ~ (0, 1); 1. Problem ( 2 . 1 ) has a Proposition Yk={x*: z; j = l ..... m; k=l ..... m-l;i,j=l ..... n. feasible solution if and only if for each ~'. x , ~ = l ; j~Sk(i) ~ x~=l;xk, j~(O,l);i,j=l k = 1..... m - I the set ..... n) tEPk(j) is not empty. Proof. The proof follows from the fact that constraints from (2.1(c)) to (2.1(e)) are just definition constraints and that constraints (2.1(a)), (2.1(b)) and (2.1(t)) define a feasible set Y which can be partitioned into the m - i disjoint sets YI, Y2. . . . . Y,,- 1. From Proposition 1 it follows that a feasible solution to (2.1) can easily be determined just by finding the feasible solutions to m - 1 assignment problems. It is worth noting that the problem of finding a feasible solution for MBA when m = 3, is a particular case of the 3-Matching Problem which is well-known to be NP-complete (Garey and Johnson (1979)). The fact that it can be solved in polynomial time is due to its particular structure. Unfortunately the problem of finding an optimal solution is not as easy as the problem of finding a feasible one. Actually, as shown by the following proposition, no polynomial time algorithm seems to exist for MBA. Proposition 2. MBA is NP-complete. P r o o f . To prove the NP-completeness of MBA we will show that the Partition Problem, which is NP-complete (Garey and Johnson (1979)), can be transformed into a MBA problem. Given a set A and a function w: A --. Z +, the partition problem is to find a partition of A, (A', A"), if such exists so that E aEA' w(a)= E aEA'" w ( a ) = ½ E w(a). a~A Given an instance of the partition problem with IAI = m, build the graph of Fig. 2. In this graph each Fig. 2. 166 P. Carraresi, G. Gallo / M u l t i - l e v e l bottleneck asstgnment approach n o d e aj ~ A is assigned a weight w(aj), and each node b j , j = 1. . . . . m, is assigned a zero weight. If we solve on this graph a Multi-level Bottleneck Assignment we find two paths, *h and ~r2 such that each node a j, j = 1. . . . . m, belongs to either one of them and ~ w(aj), ~., w(aj)}>~½ ~-~ w(a). z=max{ a/ E~t I alEet 2 aE.4 Since in MBA one seeks to minimize z, if a solution to the partition problem exists then it is also an optimal solution for MBA. Moreover if in the optimal solution of MBA we have z > ½F.o~Aw(a ), then no solution for the partition problem exists. Note. If we hold the n u m b e r of m levels fixed, we cannot state that the problem is still NP-complete. In fact on a set of m elements the partition problem is reduced to an M B A problem with m levels. Therefore, it might be possible to find a polynomial time algorithm for MBA when the n u m b e r of levels is held fixed. This fact is rather interesting since in most practical applications the n u m b e r of levels is 5 or 6, which corresponds to weekly workload assignments. 3. Stable solutionsfor MBA Let (X; z) denote any feasible solution to (2.1), where . . . . . x=-,) and Define the vectors s k and v k, k = 1. . . . . m: { s)=wu; v7 j=l . . . . . n; E s: ; X s.t j=l ..... n;k=2 . . . . . m; (3.1a) iEPk-j(j) I=w,.,; i = 1 . . . . . n; ; i=1 ..... n;k=m-2 . . . . . i. (3.1b) j~S, . di) Clearly z = max(s~: i = 1. . . . . n) = max(vl; i = I . . . . . n). Definition. A feasible solution (X; z) of (2.1) is a stable solution if, for k = 1, 2 . . . . . m - 1, (x k, z) is an optimal solution of the following Bottleneck Assignment Problem, BA k (X) : Minimize ~, subject to Y'~ ~ , j = l ; i = l . . . . . n; Y~ j=l ~,j=l; . . . . . n; ie/',(.t) E v,%; i = l . . . . . n; y~S,O) ~ , j ~ { 0 , 1); i,j= 1 . . . . . n; where s~ and v ~ , j = ! . . . . . n are defined by (3.1a) and (3.1b). It is easy to check that any optimal solution o f M B A is a stable solution. P. Carraresi, G. Gallo / Multi-level bottleneck assignment approach 167 We shall now give a characterization of the stable solutions for the case in which Sk(i) = Pk(i) = (1 . . . . . n) for each i -- 1. . . . . n and for each k = 1. . . . . m, i.e., for the case in which in a feasible sequence each shift m a y be followed by any shift. Let A be the m a x i m u m range of weights for each set of nodes, i.e., A=max{max(wk,--wkj)}. k t.J Then the following theorem provides us with bounds on the error made when a stable solution is considered in place of the optimal one. Theorem 1. Let us consider MBA such that Sk ( i ) = Pk ( i ) = (1 . . . . . n) and ( l / n )~.jwk, >1 W > Ofor each i and k and some real W; let (X*; z*) be an optimal solution and (X; S) be any stab@@solution, then i-z* lim - - = 0 . S--z*~A, m~OC Z$ Proof. It is well known (Lawler (1976)) that an optimal solution to (3.2) for the case of complete bi-partite graphs can be obtained as follows: Let , . . . , >_ s ',. a n d ,..., then set t , . . = 1. h = l . . . . . m and ~ij = 0 for all other pairs ( i , j ) . It is easy to check that any solution obtained in this way satisfies the following conditions /~,s=l and ~,,=I=,(S,k--Sk,)(V)--V~)<~O. (3.3) We can always derive from ( X, S) a new solution ( X, S) which satisfies conditions (3.3) where )f m a y or m a y not be different from ~'. Consider this new solution k and let s~" = m a x ( s [ " ) and s~'-- m i n ( s T ) . i We m a y state that s T - s ~ < ~ A . Assume that this is not true, i.e. s T - s q > A . Let ¢ r ' = ( ( l , p l ) , (2, P2 ) . . . . . ( m - 1, p,,_ i ), (m, p )) and or" = (( 1, q l ), (2, q2 ) . . . . . ( m - 1, q,,_ i X m, q)) be the paths which, in the solution (Jr', S), end into nodes (m, p ) and (m, q) respectively. Since conditions (3.3) are satisfied for each k ~ (i . . . . . m - 1) we have, for h = 1. . . . . m - 1, either ~ (w,, -W,q.)>A (a) and k-I (w,m-W,q,)~<O k-h+l or h (b) ~ (wk, , - w k q . ) ~ < 0 and ~. (w~p,-wA, q , ) > z l . k-h+l k=l For h = I, (b) is true because of the definition of ,5. Let r be the first value of h such that (a) is true, then: r--I r E (w~p - w,,.)~0. Z ( , % - w~q.)>,~ k-I k**Â and by subtraction we get Wrg"-- Wrq"> A which contradicts the definition of A. We have 1 1 ~.,s~'>~Sq Z* >1 n WkJ~ n j--I k-| m Then and i -- sp. ~ - z* <~sp - Sq <~A. j-I P. Carraresi, G. Gallo / Multi-let.wl bottleneck assignment approach 168 Since z*mW, we have iim - - m~+oo 6 lim = 0 m---* + oo B r i W Zs and the proof is so completed. From Theorem 1 it follows that any heuristic algorithm for MBA which finds stable solutions is asymptotically optimal; moreover the error is bounded. Unfortunately Theorem I is not valid if for some k the bi-partite graph of the single-level Bottleneck Assignment (3.2) is not complete. Actually in practice, also for these cases, the error becomes smaller and smaller as the number of levels increases. In Fig. 3 the results of some computational experience are reported. Two different sets of 13 problems have been generated; for both the sets n is equal to 50 and m goes from 5 to 40. In the first set each bi-partite graph is complete (arc density = 1), while in the second the average number of arcs starting from each node is 25 (arc density -- 0.5). arc arc density density = - .5 I. ! 10 Fig. 3. a 20 t 30 40 tn P. Carraresi. G. Gallo / Multi-level bottleneck assignment approach 169 For each problem a stable solution has been determined and the value = - 1E~"- 'g~'- lwkJ Z-z* l nY'7,, t Y''= two, z* has been computed. The curves of Fig. 3 suggest that the stable solution is a good sub-optimal solution for MBA. This consideration is widely supported by the computational experience which is illustrated in the next section. 4. An algorithm for M B A We shall now present an algorithm which finds a stable solution for MBA. This algorithm, which we shall call SSMBA (Stable Solutions for Multi-level Bottleneck Assignment), has two phases. In the first phase a feasible solution is determined; in the second phase this solution is improved until a stable solution is found. In the first phase we start from the solution ( ,Y, 5) where . ~ = (o~t, ~02. . . . . w .... ~) with ~ a null vector for each k, and 5 = 0. First problem B A , ( , ~ ) is solved and a feasible assignment between the first two sets of nodes is determined. Let .~ be the vector defining such an assignment and z ~ the value of the objective function; we set X = (Y,~, w 2. . . . . w " ) , 2 = z j, solve p r o b l e m BA2(.~). and so on until after the solution of m - 1 single-level bottleneck assignment problems, a feasible solution (.~" 5) is obtained. Let us call FBA(k, X) a function which for given k and X gives an optimal solution ( x k, z ) for B A , ( X ) . If problem B A ~ ( X ) has no feasible solution then the function F B A ( k , X) gives the solution (0, + ~c). If for some k no feasible solution exists then no feasible solution exists for MBA and the algorithm stops. In the second phase the solution (.~, 5) is improved by solving a sequence of problems of the type BA~(.~) until a stable solution is found. A formal description of the algorithm is given next. Procedure S S M B A begin ( * first phase * ) (X;z):=(~,~2 . . . . . w" ~ ; 0 ) : fork:= 1 t o m - 1 do begin ( . ~ , .~ ): = FBA(k, X): if 5 ~ = + oe then stop else .~; 5): =(.~n . . . . . . ~ , w ~ + l . . . . . w'" l : 5 ~): end: repeat * second phase * ) flag = O; fork:= 1 tom1 do begin (.~k, ,~): = FBA(k, ,,~); if ,~ < ? t h e n begin (.~: ~): = (.~J . . . . . y ~ - J , .~A, y ~ , i . . . . . .~"' ~, 5); P. Carraresi, G. Gallo / Multi-level bottleneck assignment approach 170 flag: = 1; end; end; until flag -- 0; end. The main operation performed by procedure SSMBA is the solution of a single-level Bottleneck Assignment; then the efficiency of the algorithm depends mainly on the efficiency of the bottleneck assignment algorithm which is used. One of the most efficient algorithms for this problem is that of Derigs and Zimmermann (1978). This algorithm, like most of the algorithms presented in the literature (Lawler, 1976) is of the dual type; it starts with a solution which is not feasible but satisfies some optimality conditions which are kept satisfied at each iteration while the infeasibility is reduced. The algorithm ends when the first feasible solution is found. In our problem, except for the initialization phase, a feasible solution is always known; then a primal type algorithm seems to be more appropriate. Moreover, the particular structure of the BA problems solved suggests that ad hoc algorithms might perform better than general ones. In view of these considerations, a new algorithm PBM (Primal Bottleneck Assignment), has been designed. This algorithm is described in the following section and an experimental comparison with the algorithm of Derigs and Zimmermann is presented. Algorithm SSMBA has been tested both on randomly generated problems and on real life problems. Six sets of problems have been generated with n = 100, m -- 5. Each set of problems is characterized by a given value of arc density: 0.1, 0.3, 0.5, 0.7, 0.9 and 1. In Table 1 the results of the experiments on these problems are summarized; each figure is the average over five runs. By zl we denote the objective value of the solution produced by phase 1; by z 2 we denote the objective value of the final solution, while by z* we denote the optimal value of the objective function. Actually the problems have been generated in such a way that a feasible solution always exists and the optimal solution is known. This has been accomplished by properly generating the arcs, and by giving to the nodes in the first four sets, weights uniformly distributed between 1 and 100 and to the nodes in the last set, weights chosen in such a way that one solution always exists with all the paths having equal length; clearly such a solution is an optimal solution. Finally T is the average CPU time, in seconds × 10--', to solve MBA and T2 is the average time of phase 2, while t~ and t: are the average times to solve a single BA in the first phase and in the second phase respectively. The results of Table 1, in accordance with those illustrated in Fig. 3, show that also for intermediate values of arc density the proposed algorithm yields good sub-optimal solutions. It can be noted that the results for the case in which the arc density is 1.0 are much worse than expected. In fact in this case the bi-partite graph for each BA problem is complete and its solution should be particularly easy. The high solution times for the BA problems shown by the table in this case are due to the fact that the algorithm makes use of the previously found solution as a starting solution instead of Table I Arc density z..._._~* z2 100 z" : l - :2 100 z° T ~ Average n u m b e r of BA solved tI t2 0. I 0.3 0.5 0.7 0.9 1.0 I 1.04 8.33 3.22 3.88 3.56 4.8 15.38 21.68 25.53 25.65 29.25 27.68 203.8 340.8 452.6 437.4 621.2 570.6 153.0 268.4 358.4 337.4 550.6 511.0 21.6 27.4 30.0 21.8 28.6 24.0 12.69 16.1 23.55 25.0 17.65 14.9 8.65 I 1.68 13.99 19.37 23.51 26.58 P. Carraresi, G. Gallo / Multi-level bottleneck assignment approach 171 Table 2 Type of sequence Shift lengths (minutes) HWWWW SHWWW WSHWW WWWSH WWWWS WWWWW Weekly assignment length (minutes) Minimum Average Maximum Minimum Maximum 334 334 333 328 328 328 376 375 372 373 375 374 400 400 400 399 399 400 1876 1872 1859 1865 1872 1869 1878 1878 1861 1867 1876 1870 solving the problems from scratch. This feature, which is very effective when the density is low, slows down the algorithm in the case of higher values of arc density. Should the algorithm only be used with problems with high arc density, it should be slightly modified in such a way as to have the BA routine starting from scratch also in Phase 2. In the practical problem on which SSMBA was used, the arc density always had values far below 1. Algorithm SSMBA has also been tested on a real life problem. The problem was to determine the weekly assignments for the drivers, starting from a given set of shifts. Each weekly assignment consisted of a sequence of five shifts. Seven distinct types of sequences were considered, depending on the starting and on the ending days: weekdays (W), Saturday (S) and Sunday (H). 50 sequences of each type were generated. The results are illustrated in Table 2. The type of weekly assignment is indicated in the first column. Columns 2 to 4 give information on the length of the shift used to build up the assignment: i.e., m i n i m u m length, average length and m a x i m u m length, all in minutes. The 5th and 6th columns give the m i n i m u m length and the m a x i m u m length respectively for each type of sequence. These results confirm the effectiveness of SSMBA: actually, starting from shifts with a difference in length of about one hour, sequences with differences from 1 to 4 minutes were obtained. 5. Bottleneck assignment algorithm In the present section, algorithm PBA is outlined and a few experimental results are illustrated. Denote by N 1 and N: the two sets of nodes of the bi-partite graph, by a,, i ~ N I. and by bs, j ~ N 2, the node weights, and by A the set of arcs. Assume that a feasible solution)7 is known; for each i ~ N~, q ( i ) is the element of N 2 for which)7,qt,> = 1, and for e a c h j ~ N 2, p ( j ) is the element of N t for which )Tp~,~,= 1. Define the set M = ( ( i , j ) : fiis = 1). The algorithm seeks successive improvements of solution i ~ as follows. First a bottleneck arc (r, s) is found (a, + bs = max(a, + bq~,~: i ~ N~)). Then a decreasing alternating chain from r to s is looked for, i.e. a chain from r to s such that: (i) it does not contain (r, s); (ii) its arcs are alternately in M and not in M; (iii) its arcs not in M have weights smaller than a r + b,. Once such a chain is found, the solution is updated as follows: )-;,~= 0, )5,j = 1 -)7,s for all the arcs in the chain, and )7,j --- )7,s for all the remaining arcs. If no decreasing alternating chain exists then the solution is optimal. Procedure PBA begin repeat ( * main cycle *) w i t h j ~ N 2 do label [ j ] : = 0; flag : = 0; select r such that 172 3 4 5 6 7 8 9 10 !1 12 13 14 15 16 17 18 19 20 21 22 23 24 25 P. Carraresi. G. Gallo / Multt-let~el bottleneck assignment approach a, + bqlrl = max(a, + hql,l: i ~ N,): Q: = ( r ) ; repeat ( * find a decreasing alternating chain * ) select u ~ Q; Q : = Q - ( u ) : A: = a ~ + b , t l ~ l - a , , . withv~(jeN2: bj < A) do begin if (u, v) and label [v] = 0 then begin label [ v ] : = u; if v = q[r]then Q: = 0 else Q : = Q u ( p [ v ] ) ; end; end; until Q = O; if label [q[r]] < > 0 then begin ( • update the current solution * ) f l a g : - I; v: = q[r]; repeat u: = label Iv/; p [ v ] : = u: w: = q[u]: q [ u ] : = v, v : = w; until v = q[r]; end; until flag = 0; end. If set N 2 is pre-sorted executed rather cheaply: to consider the nodes of which b,, >1 A. Since procedure PBA following operations are (i) sets N 2 and A are according to the increasing order of the weights b,. the loop from 6 to 14 can be since ( j ~ N_~: bj < ,.4} -- (l, 2 . . . . . h) where b h = m a x ( j ~ N,: h, < A), it is enough N 2 in their natural order, starting from v --1. until the first v is encountered, for requires a starting solution, an initialization phase is needed. In this phase the performed: enlarged with d u m m y nodes and arcs: N~=N2u(n+l,n+2 . . . . . 2n} and A'=AU((I.n+ I),(2. n+2) ..... (n,2n)): each d u m m y node is assigned a weight + ~c. (ii) a solution on the enlarged graph is obtained as follows: consider the nodes of N) in decreasing order of weights and assign to each of them the first unassigned node in N4. We assume that the nodes of N', are ordered according to increasing weights. For all the unassigned n o d e s . / ~ ,V_~we set p(./) = 0. (iii) If the solution obtained is not feasible for the original problem, i.e. for some j ~ N, we have p ( j ) = O, then procedure PBA is used on the enlarged graph where statement 12 has been replaced by: if v = q[r] o r p [ v ] = 0 then Q : = 0 else Q : -- O u ( p [ t ' ] ) : The effect of this modification on PBA is that decreasing ahernating chains from r to nodes not already assigned 1 will also be taken into consideration. If set M contains d u m m y arcs then one of these arcs. say (r, n + r), will be the bottleneck arc. The execution of the loop between statements 5 and 15 will result in the determination of an alternating chain from node r to a non-assigned node s ~ N. which does not contain any d u m m y arc. Then the execution of the loop between statements 17 and 23 will produce a new solution in which node s is assigned to one of the nodes in N. and the number of d u m m y arcs in M is J Such nodes are usually called 'exposed mvdes' in the papers on a~,signment and matching prohlems. P. Carraresi. G. Gallo / Multi-level bottleneck as.~tgnment approach 173 Table 3 Arc Weight range density I - 10 1- 100 I - 1000 0.1 8.5 17.4 9.9 17.3 I 1.5 27.3 0.3 11.1 14.6 15.6 26.8 16.2 40.4 0.5 12.8 26.6 18.4 58.7 19.8 63.8 0.7 10.5 17.0 I 1.8 58.7 16.4 79.8 0.9 7.9 30.5 9.5 73.2 16.8 96.5 decreased by one. Eventually the modified algorithm will find a feasible solution, if any: from that point on it will improve it passing through a sequence of feasible solutions. The starting feasible solution obtained in this way is usually fairly good. Actually in the case of complete bi-partite graphs the procedure outlined in step (it) yields the optimal solution (Lawler (1976)). This feature, which depends on the fact that the weights are attached to the nodes instead of being attached to the arcs, explains the goodness of the results obtained in the experimentation described below. It can be noted that the modified algorithm is actually an algorithm which solves the bottleneck bi-partite matching problem. Algorithm PBA has been compared with that of Derigs and Z i m m e r m a n n (1978) (DZ) on a set of randomly generated problems with n = 100. The problems have been generated with different values of arc density and the costs with uniform distribution within given ranges. For each arc density and each cost range, ten random problems have been generated and solved by means of both algorithms. The average CPU time over the ten runs is indicated in Table 3: the top figure gives the time with PBA, the lower the time with DZ. Times are in seconds × 10-2; an IBM 370/168 computer was used. The results show that PBA is much faster than DZ, which is not strange since PBA exploits the special structure of the problem, while DZ is a general algorithm. It is interesting to note that the problems with an intermediate value of density seem to be the most difficult ones for PBA, while the running time of DZ increases for increasing values of arc densitv. Note. In order to have an unbiased comparison the Fortran implementation of DZ which is given in Derigs and Zimmerman (1978) has been used. References Lawler, E.L. (1976). Combinatorial Optiml=atton. Networks and Mutrolds. Hoh, Rinehart and Winston, New York. Garey, M.R. and D.S. Johnson (1979). Computer,~ and lntructabthtv. A Guide" to the Theory" of NP-Completene,rs, Freeman, San Francisco. Derigs, U. and U. Zimmermann (1978). An augmenting path methcxl for solving linear bottleneck assignment problems, Computing 19. 285-295.