A multi-level bottleneck assignment approach to P.

advertisement
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.
Download