Annals Anna ls of Opera Operati tions ons Res Resea earc rchh 20 19 89 )67 -9 6
THE
UC CT TIO ON N
67
LGORITHM FOR THE TR
NSPORT
TION
PROBLEM
Dimitri P. BERTSEKAS Laboratory for Information and Decision Systems
M.I.T
Cambridge MA 02139 USA
an d David A. CA ST ANON Alphatech
Inc. Ill Middlesex Turnpike. Burlington MA 01803
USA
Abstract The auction algorithm is a parallel relaxation nictliod for solving the classical assignment problem. It resembles a competitive bidding process whereby unussigncd persons bid sim ultaneously for obje cts, ther eby raising raising their prices . Once all bids arc in, objects arc awarded to the highest bidder. Tliis paper generalizes the auction :ilgoritliin to solve linear transportation problems. The idea is to convert the transportation problem into an assignment problem, and then to inodily the auction algorithm algorit hm to exploit the special special structure of this problem . Com putation al results sl sliow iow Ihat this modified version of the auctio n algorithm is very eefficie fficient nt for certain types of transportation problems.
1.
Introduction
In this paper, we propose a new relaxation algorithm for linear transportation problems. The algorithm resembles classical coordinate descent, Gauss-Seidel, and Jacobi methods for solving unconstrained nonlinear optimization problems or systems of nonlinear e quatio ns. It modifies modifies th e dual variables variables nod e prices), either one at a time Gauss— Seidel version) or all at once Jac obi version) using only local node information, while aiming to improve the dual cost. It is well suited for implementation on massively parallel machines. The first relaxation algorithm for linear network flow problem was the auction algorithm for the classical assignment problem, proposed by the first author in 1979 [3] and further discussed in [ 8 , 1 3 ] . The algorithm operates like an auction whereby unassigned unassigned p ersons bid simultaneo usly for objects,, thereby rai raising sing their their prices. Once all bids are in, objects are awarded to the highest bidder. The algorithm can also also be interprete d as a Jacobi-like relaxation m etho d for sol solving ving a dual proble m. The variables of the dual problem may be viewed as the prices of the objects and are
J.C. Baltzer Baltzer AG, Scientific Scientific Publishing Publishing Company
6 S
D.P. Bertsekas, D.A. Castanon, The auction algorithm
adjusted upwards as the algorithm progresses. Just as iin n a real auction, a person's bid is required to be higher than the current price of the object and this provides the mechanism for for increasing the object prices. The algorithm makes gradual progress towards a full assignment of persons to objects as the prices of some of the assigned objects becomes sufficiently high, so that unassigned objects become attractive and receive bids. Computational results [10] show that for for large sparse problems, the auction algorithm is superior to the best existing assignment methods even without the benefit of parallelism. The reason for for this can be traced to the complexity estimate OiNAlogiNQ for an efficient implementation of the auction algorithm derived in [ 8 , 1 0 ] ; h e r e , N is the number of persons, A is the number of arcs, and C is the maximum absolute value of arc cost coeffi coefficie cient. nt. Competing methods, [1 ,2, 4,1 4,1 5, 1 8 - 2 0 , 2 3 , 2 4 ] , , including the Hungarian method, have complexity 0(;V''), so for large sparse problems the complexity of the auction algorithm is superior. This paper extends the auction algorithm to solve Unear transportation problems. The basic idea is to convert the transportation problem into an assignment problem by creating multiple copies of persons (or objects) for each source (or sink, respectively), and then to modify the auction algorithm to take advantage of the presence of the multiple copies. Section 2 describes the basic form of the auction algorithm. Section 3 considers a variation of the auction algorithm that takes into accoun t similar objects. objects. (Rough ly, two objects are called similar if every person to whom they can be assigned considers them as equally valuable.) We also consider a variation of the algorithm algorithm that takes takes into accoun t similar persons. (Rough ly, two persons are called similar if each person assigns the same value to every object as the other person.) The variation of the auction algorithm that takes into account similar objects is useful, among other things, for handling asymmetric assignment problems, where there are M persons and A objects with M > A^ A^.. We can convert such problems to assignment problems with an equal number of persons and objects by introducing M - N additional similar objects, each offering equal value (e.g. zero) to all persons. The auction algorithm that takes into account both similar persons and similar objects ca n be restructured so that it solves efficiently transportation problems. This is described in sections 4 and 5, and computational results showing the effectiveness o f the corresponding transportation algorith algorithm m are given in section 6.
2 .
Th Thee auc auction tion algor algorit ithm hm for the as assignment signment problem
Consider JV persons who wish to divide among themselves A^ objects. We number persons and objects as 1,2,...,A . For each person / there is a n o n e m p t y subset A{i of objects that can be assigned to i. An assignment assignment 5 is a (poss (possibly ibly e mp ty) se t of person-object pairs (/, /) such that:
D.P. Bertsekas, D.A. Castanon, The auction algorithm
69
(a) /•G>l(OforaU(/./)e 5. (b) For each per person son / there is at most one pair (/, / ) £ S. (c)
For e each ach object / there is at most one pair (/, y) G G S.
A complete assignment is a an n assi assignment gnment con contai tainin ning g A A^ ^ pairs (i.e. (i.e . every every person is assigned assi gned to a distinct ob object ject). ). In th the e conte co nte xt of a given given assignmen assignmentt 5, we say say that person / is is if there exists an object / such that (/,/) e S\ otherwise we say assigned that / is is We use similar terminology termin ology for for ob objects. jects. There is a given given integer unassigned. value a,y ^^hat a person / associates with an ob je ct / G .4 .4(0 (0 - W We e want to fmd a complete assignment that maximizes
,
nss
overr all complet ove complete e assignments S. We ca call ll this the the The primal assignment problem. auction algorithm solves the dual assignment problem ([13,21,25,26])
N
X ''i * X P/
mnms
subject to
) = i
r, + pj > ajj, \/i, and / £ Aii).
(1)
The dual variable /?y is called the the of /. We call the vector vector pwith coordinates price 1 , . . . .A .A* , a price vector. For a given given price vector f, the cost of this problem Pj. i = = is minimized minimiz ed when r,- equals equal s tthe he maxi m aximum mum value of a, a,y y - pj over ; G A{i). G A{i). We may therefore vie view w the prices pp - as the only optimiza opti mization tion variables of the dual problem. For a give given n price vector, vec tor, we defme the the value of an object object jG A{i) for a by person ii by u.y = = a.^ - p^.
(2)
The The i.e. profit iti of person iis the maximum value of objects / G Aii),
TT = From
linear
max u,,-. programming
(3) the or ory, y,
we
know
that
a
complet e
assignment assignment S
= { ( ^ / ) l ' = 1, .., A'} an and d a pr pric ice e v vect ector or pare simultaneously primal and dual opti mal, respectively, if and only if •n
max = max {a-. - pJ k Aii)
^,/ ~ Pi, =^,/ ~ '
'
for each (i, /) ^ S ,
7 0
D.P. Bertsekas, D.A. Castanon, The auction algorithm
that is, if and only if each person realizes his profit by being assigned to an object offering maximum value. This is known as the complem entary slackness condition. A relaxation of the complementary slackness condition is to allow persons to be assigned to objects that come within e of attaining the maximum in the profit definition (3). Formally, we say that an assignment S (not necessarily complete) and a price vector p satisfy e-complem entary slackness (e-CS) if TT, - 6 =
m ax
fcG-4(i)
(a-f (a-frr - pf pfc} c} - e < iz
- p ,
fo forr each each (/, /) G 5 ,
(4)
where e iiss a nonnegative co nsta nt. The m ain fact for our purposes is is tha t a complete assignment S that satisfies e-CS together with some price vector is optimal if e < MN . This was shown in the original proposal of the auction algorithm [3 ], and is is a special special case of proposition 4 to be proved later. We now describe formally the auction algorithm. We fix e > 0, and we start with some (possibly empty) assignment and price vector satisfying e-CS. The algorithm proceeds iteratively and terminates when a complete assignment is obtained. At the starte-CS of . the we tion have, an assignment S and a price vector p satisfying sati sfying At generic the end iteration, of the itera S and some prices are updated while maintaining the e-CS condition. There are two phases in each iteration, the bidding phase and the assignment phase, described below; BIDDING PHASE For each person / that is unassigned under the assigment 5: Co m pu te the cu rren t v alue U; U;^- = a object /'* having maximum value
- pj of each object / G Aii), find a best
and find the best value offered by objects other than /
(If /* is the only object in Aii), we define define w,- to be -«> or, for com pu tatio nal purpose s, a num ber that is much smaller than u,.*.) Co mp ute the b id 6,-^* of person i for object /* given by u^^. ^.* - w,. w,. + e = a..* - w. -^ e . b.-i. = p. ^ + u^
(7 )
(We characterize this situation by saying that person / bid for object /*, and that object / received received a bid from from perso n :. The algorith m works if the bid has any value value
D.P. Bertsekas, D.A. Ca stanon, The auction algorithm
71
betw een p * + e and p * + u,-:* - w ^ + e, but tends to w ork fastest for the maximal choice 7) . The calculation of the bid of a pers on is illustra ted in fig. 1. 1.) Values V; of objects j tor person i
V... V... : The value of j , the best object for person i j i) [equal to ihe profit profit n of w : The value of the second best object or perso person n i
Price increment b increment b jj* - p i- implicit in the bid of s best object j * . it is equal to the , person i for U for Us difference between the old price of j * and its new price if the bid b jj is accepted
ri g . . 1. Illustration of the bid of person i. The objects /* and /, that offer the v-j* und second best value w, best value value v-j* w,--, respectively, are determ ined. The bidding increnieni 66^^ * - py* is then set to the difference u,-* - Wj- plus e.
ASSIGNMENT PHAS PHASE E
For each object/: Let P / ) be the set of persons from from which / received received a bid iinn the bidding phase of the iteration. If/* /) is nonempty, increase pj to the highest bid p . :=
max
8
remove from the assignment assignment S any pair i , / ) if one exists), and add to S the pair i*,/), where /* is some person in Pij) attaining the maximu m above. If P{/) is em pty , Py Py iiss lef leftt unchang ed. An impo rtant fact s that the algorithm preserves e-CS throughout its execution, i.e. if if the assignment and price vector availabl availablee at the start of an iteration satisfy satisfy e-C S, the same is true for the assignment and price vector obtained at the end of the iteration. A proof may be found in [ 3, 8 ,1 3 ], where iitt is is al also so shown that the algorithm algorithm term inates in a fmit fmitee num ber of iteration s assuming the problem is feasible, feasible, i.e. there exists a com plete assignm ent). As a result, if e < 1/A^, then the assignment obta ined upon termination is optimal.
D.P. Bertsekas, D.A. Castanon, The auction algorithm
.
Variations of the auction algorithm algorithm
It is possible to apply th e auction algorithm o f the p revious section t o a transportation problem after it has been converted to an assignment problem by replacing each source (sink) with multiple copies o f persons (objects). Unfortunately, th e performance o f the method can be quite poor, as shown in the example o f fig. 2. Much PERSONS
OBJECTS InHial price > 0 Here a^ C > 0 for all {\\ except lor aj ^ which is 0
Initial price i 0
Fig. 2. Example w here the num ber of bidding phases iiss brgc and is propo rtional to C /e. Here, at each bidd ing p hase the persons 1, 2. and 3 bid the pri prices ces of of objects 1 and 2 up by an increm ent ent e until the time that these prices reach the level level C . This problem corresponds to a transportation prob lem , where persons 1 and 2 correspon U'to a supply supply node with suppl supplyy equal to 2 and objects 1 and 2 correspond to a dem and node w ith ith demand equal to 2.
better performance is obtained with a variation of the auction algorithm which recognizes th e special structure derived from th e transp ortation problem. This structure structure man if ifests ests itself itself in the presence of several several simila r persons and objects, and is is fformalized ormalized below. ay that tw o objects Given th e assignment problem of the previous section, w e ssay i and /' are similar, a n d w rit ritee / ~ /', if
(9 ) .- = a--.
for all i with / €
Aii .
(10)
We sa sayy that tw o persons i a n d V ar aree similar, a n d write / - /', if A{i
= AiV
a .j .j = a . .
(11) for all / / € A{i
.
(12)
D.P. Bertsekas, D.A. Castanon , The auction algo rithm
73
For each person object) /, the set set of all all persons obje cts, respectively) similar similar to / is called the similarity c lass of i a n d is d e n o t e d ^ 0 For a given price vector p, we define the price of the similarity class M ;) of an object j as PI
-
min
p^.,
j - I,. . . ,N.
13)
Note that the profit of a person i given by 3) can also also be be writte n as = m ax
i2, 2,yy ~ P/} ~ rnax {a,.y ~ Pj) •
14)
It can be seen that: a) All persons in the same similarity class have the same pro fit. b) The person person profits profits TT- are determined by the prices p- oftheobjectsimilarity classes. It follows that if a complete assignment S and a similarity class price vector p satisfy sati sfy e-C S, and e < 1/A^, then S is optimal, even though 5 and the price vector p may not satisfy satisfy e-CS. This is im por tan t because in in the following following algorithm s, e-CS of the pair 5 , p) is main tained b ut e-CS of the the paii {S,p) may be violated. An additional benefit of working with the similarity class price vector is that the threshold value for e tha t guarantees o ptima lity can be increased, as indicated in the foll following owing proposition, which wOl be proved in the next section after we introduce the equivalence between assign assignment ment and and transportation problems cf. proposition 4). PROPOSITION
L et s
= number of similarity classes of persons,
s^ = number of similarity classes of objects.
If a complete assignment S and a similarity class price vector p satisfy e-CS and
{} then S is optimal. In what follows in this section, we describe two variations of the auction algorithm. The first variation is actually a special case of the second, but it is easier to understand and illustrates the main ideas more clearly.
7 4
D.P. Bertsekas, D.A. Castanon, The auction algorithm
THE AUCTION ALGORITHM FOR SIMILAR OBJECTS
Consider a variation of the auction algorithm which is the same as the one of the previous section except that the bidding increments are determined by the values of the similarity classes of the objects rather than the values of the objects themselves. Specifically, in the bidding phase , each person / determ ines the object /* that off offers ers maximum value u--» u--» =
ma x V --
(cf, (5 )), bu t the sec on d best lev el w,- is defined n ow as as w. =
max
V j,
(16)
instead of vv^. =
m a x
Vj..
Roughly, W j is the value of the second best similarity clas s rather than the value of the se cond best ob ject. We refer refer to this algorithm as AUC TION-SO (for Similar Objects) to distinguish it from the auction algorithm of the previous section, which will be referred to as AUCTION. Because we have max
u,y <
it follows that the bid (cf. (7))
ma x
v, v,,, ,
^
bij* = pj* + u,.^.* - w. + e ,
(17)
with w - given as in AUCTION-SO (cf. (16)), will be at least as large as the corresponding bid for AUCTION, where w ^ is given given b y ( 6) . As a result, th e price changes of the objects in AUC TION-SO are poten tially larger tha n in AUCTION (see fig. 3) . The termination of AUCTION-SO is also potentially faster because, with larger price increases, the gap between values of unassigned and assigned objects will be diminishing faster. As an example, the problem of fig. 2 will be solved much faster with AUCTION-SO than with AUCTION (see fig. 4). The key factor regarding AUCTION-SO is that, assuming the initial assignment S satisfies e-CS together with the initial similarity class price vector p, that is, TT TT,,-- e =
m ax {^ik~
Pk^ ~ ^ ^ ^ij~
Pj ^
fo forr eac eachh (i ,/ ) e 5 ,
(18)
D.P. Bertsekas D.A. C astanon. The auction algorithm
Price increment b,j> - P Pjj< impiicit in in the bid of person I for its best object j in the case of AUCTION
Values vj of objects objects j for person i
V
Stmilartty dass o f best l or person I)
: The value of j . the best object for person person i {- n i )
The value of the second best object for person i Similarity class ol ^ second best for person i)
: The value of the second best similarity similar ity dass for person i
Price incremen l b^ b^-- - pj- impli implicit cit in the bid of person i for its best object j In tthe he case of AUCTION-SO l ' i g . 3 . Il l u st rat i o n o f t h u b i d o f p erso n / in AU CT ION -S O . Th e o b j ect / * offers the best value u--* u--* for person i. When all all tlie second b est o bjc cls belo ng to tho sim ilaiity c bs s of / * (as in in the figure), tl tlie ie bid 6,-* will bo h i gghh e r i n A U C T I O N - S O t h a n i n A U C T I O N .
PERSONS
O B JE C TS Initial price = 0
Objects and 2 farm a similarity class
Here aj =« C >0 for all i.i.j) j) except lor a^^ which is 0 Initial price - 0
F-ig.4. Application of A UCTION-SO to the problem of fig. fig. 2. Here, the objects 1 and 2 form a similarity class. At the first bidding phase, this similari simil arity ty class class is best for all persons. Pers Person on 3 submits a bi bidd C + e for cither object object I or 2 . while persons 1 and 2 submit a very high bid fo forr either object 1 or 2 beca use the re is only one similarity class class of objects to which they can be assigned . If If persons 1 aand nd 2 bi bidd for diff different erent objec ts, then after the first iteration the prices of objects and 2 will be very high and only person 3 will be unassign ed. As a result it is is seen tha t AU CTION SO will terminate at the next iteration when person 3 will bid for object 3. If persons 1 and 2 bid for the same object at the fi first rst itera tion, it can be seen that AUCTION-SO will terminate after three iterations.
75
D.P. Bertsekas, D.A. D.A. C C astanon, The auct auction ion algorithm algorithm
76
the same is true of the assignment and the vector p obtained at the end of each assignment phase. T o show this, w e assume assume that (18) is true at the beginning o f all iterations u p t o a given iteration, a n d we show th at it is true at the end of that iteration. Indeed, suppose that object / * received a bid from person ( and was assigned to i during th e are tthe he object prices before an d after th e iteration and piteration. iterati on. Th en, if pj pj and p are i s , is t h e price o f the similarity class o f / after t h e iteration, that is p]=
m i n p'
k G Af(/)
j=l,...,N,
(19)
+ e .
(20)
we have (cf. ( 7) , (8)) p'f* = b^i* = a ^ j * -
w .
for al l/ , it follows that Using (16) a n d (17) and the easily verifiabl verifiablee fact py > pj pj for p'l** - On* - b;;* b;;* = W; <^ii* ~ p'l
e =
max
[a^- - pj] - e [a^-
{a.. - - p'.} - e =
x
m a x x
{a.. - p]) - e . (21)
We also h ave p - * < p - » , so we obtain a..* - p;* >
max
{fl.. - p '.\ -
e .
(22)
pj** = a-y - p'j for all / e Mij*), we see that (22) implies th at t h e Since w e have a,y* - pj e-CS condition (18) holds after th e assignment phase of an iteration, for any pair ( / , / * ) that entered th e assignment during th e iteration. Consider also a pair ( / . / * ) that belonged to the assignment just before a n iteration a n d also belongs to the assignment after th e iteration. L e t p be the price vector just after th e iteration in which (j , / * ) entered th e assignment. The n, as in (21), w e obtain V
- P j* >
max
{a.. -p''}-e,
(23)
where =
m in
We have p ^ > pJ since t h e prices a re m onoton ically non decrea decreasing, sing, a n d pJ * = p'.* since / * m u s t n o t have received a bid since it was last assigned to /. Therefore, from (23) w e obtain •
D.P. Bertsekas, D.A. Castanon , The auction algorithm
a..
- pj
>
max
11
{a,.- - p
In view of the fact pj < p '* , we obtain the e-CS condition (18) for for the pair pair ((/, /, / * ) . The conclusion is that if AUCTION-SO terminates, the assignment obtained at termination is complete and satisfies e-CS together with the corresponding price vector p. Thus, if e
1 number of object similarity classes
(cf. prop ositio n 1), the assignment obtain ed is optim al. The re remains remains to to show that AUCTION-SO terminates. We will show this in the context of the following more general algorithm, that takes into account both similar persons and similar objects. THE AUCTION ALGORITHM FOR SIMILAR PERSONS AND OBJECTS
We consider a variation of the auction algo rithm tha t takes into accou nt similar persons. The idea is to submit a common bid for all persons in a similarity class if at least one person in the class is unassigned. As a result, persons in the same similarity clas classs do not co m pe te against against each other for for the same objec t, and the bids su bm itted are higher than th ey would othe rwise b e. This idea idea is is com bined with the variation discussed earlier that takes into account similar objects to accelerate termination even further. Th e algorithm will will n ow be described formally. We fix fix e > 0 , and we start with some assignment S (possibly the em pty assignment) and a price vector p satisfying the following condition: e-COMPL e-COMPLEMENTA EMENTARY RY SLACKNE SLACKNESS SS STRENGT STRENGTHENED HENED (e-CSS): If (i, / ) G 5 , th en fl.. - P j >
m a x
\°ik~
Pk^ ~ ^ •
tha t is, the value value o f/ for i can be worse by at most e over the highest value offered by similarity classes classes othe r than the one of/. We note that the e-CS S co nditio n is stronger than (i.e. implies) e-CS of S and the similarity class price vector p (the reverse is not true). Indeed, from (24) and the defin ition( 13)o f p , weha ve for for all all (i ,/ ) € 5, m ax Since we also have have
m aaxx { a ,,.. ^^ - ^^;; ^} ^} - e, V ( / . / ) e 5
follows. The algorithm algorithm proceeds iteratlvel iteratlvely, y, and terminates w hen a complete assignment assignment is obtained. At the start of the generic iteration, we have a pair {S.p) satisfying e-CSS. At the end of the iteration, we obtain an othe r pair (5 . p ) tha t will will be show n to satisfy e-CSS, As earlier, there are two phases in each iteration, the biddingphase and the assignment phase, described below: BIDDINGPHASE F or e a c h si m i l a r i t y c l a ss of pe r sons M{i) c o n t a i n i n g a p e r s o n / th th a t i s u n a s s i g n e d und er the assignment 5 : Co mp ute
the
v a l u e Vij = a-.-p.
curren t
of
each
obj e c t j e A{i).
L et
m ^^ ^^^ pe r sons i n M(i) t h a t a rree a ss p h -s s iigg n eedd u n d e r 5 , a n d l e t / , , y ^ , . . . , / ^ n ^^ b e t h e c o r r e s p o n d i n g o b j e c t s t o w h i c h t h e y a rree a s s i g n e d . L e t / , n ^ , . i ^^
the persons in M{i) that are are unassigned und er S. Denote Denote al also so by y ^ ^ j . y ^^, ,/ , the objects that belong to ^ ( 0 and are are not assigned assigned to any person in M{i) under j , and assume that these objects are ranked in order of decreasing value, i.e. >
V..
>
.>
u .
,
.
•
25)
Co m pu te the scalar w,. (wh ich is ana logo us to the scalar iv, iv,. of (6 ) and (16 )) as follow s: Case (a)
If r t < r t a n d / p / j . . . ,y^ ,y^ do not belong to the same similarity class, let
Case (b) If n < n an d j^Jj in belong to the same sim ilarity class, let w^ be the value u,-y of the first object j ^{j^^^ ,. - ., ; „ ) tthat hat does not belong belong to the comm on similarity class Case (c)
If /? /? = rt , which is the e xcep tional case where all the objects in A{i) must be assigned to the persons in the similarity class of person /, we define w . to be -«> or, for computational purposes, a number that is much smaller thanmin,-
79
D.P. Bertsekas D.A. Castano n The auction algorithm
for the the object
Compute th the e b i d of each person respectively, as
„
a,. - - w- + e . , = a,.
27
(As before, we characterize this situation by saying that person i^ bid for object y'^, and that object j ^ received a bid from person i^ i^.. Note here that the objects i\ , i^ which ar are e assigned under S will bid for their assigned objects /'i. /2, •, / ^ Cases a) and (b) and the corresponding bids are illustrated in fig. 5.)
Values v| v| of objects j tor person i ^
Vab e ot best objects lor simflanty class ol i
st Similarity Clau
Common valiM ot already assignsd obfecis to oersor n the simiiantY class ol i Value V
In
Case a
Value v;i Object values after the bid
2nd Sindanly Class
Is accepted Value V..
n Values v^ of object objects] s] for person i
Value ot best oBjeas tor SMnflarity class of i istSimilar ty Class Class
Common vahie ol alrea<}y assigned objects lo persons n the simdanty class ot I
Case b
rva rvalue lue of first object j J] ^f
2 n d S i m i U f « y Cl a u
- ^ that does not belong to the
| | _ Object values after the bid s accepted
he bid o off a similaiity class of an unassigned person /. There Fig. 5. Illustr Illustration ation of tthe are n persons in this cclass lass.. The objects that the si simil milari arity ty cbss bi bids ds for aare re / , , . . . , ; ; , . The common value of those of the objects fo forr which the bid is accepted is shown for case a) (ob (obje ject ctss /i ,- .. ./ n bel belong ong to the different similarity classes) and for case (b) (objects / j . . . ./n belong to the same similarity class).
80
D.P. B ertsekas. D.A. C astanon, The auction algorithm
ASSIGNMENT PHASE
For each object /: Le t P{f) from which / received received a bid in the bidding P{f) be the set of persons from phase of the iteration. iteration. U P{j) set pj to the highest bid, i.e. P{j) is nonem pty, set pj to p} = max 6,..,
(28 )
remove fromHhe assignment assignment S any pair (/, /) (if one exists), and add to to S the pair {i*. I), I), where /* is some person in P{J) P{J) attaining the maximum above. If P j) j) is empty, P empty, left unchanged , i.e. pj P j i iss left p j p^ . The problem can be easily transformed so that the exceptional case (c) of the bidding phase does no t arise. To simplif simplifyy the subs equent analysis, we will will henceforth assume tha t, if if necessary, this transform ation is done so that case case (c) never never arises. arises. Our results, however, hold even when case (c) can arise, provided we allow the object prices prices to take the val value ue -« » and we interpret interpret ap propriately propriately the arithmetic of extended reall num bers. rea The preceding algorithm will be referred to as AUCTION-SOP (for Similar Objects and Persons). Note that the case where all similarity classes of persons consist of a single person corresponds to m = 0 and « = in the bidding phase. Then case (a) of the bidding phase never arises and AUCTION-SOP coincides with AUCTION-SO. Note also that the structure of the algorithm is such that if at the end of an iteration we have have (/, (/, /) e S and (/ , / ) e S, S, an d i -^ i\ i\ then
that is, objects assigned to persons from the same similarity class have the same value for these persons. If If in addition / - / , it foll follows ows that /?- = p -. We now show the validity validity of AUCTION-SOP. PROPOSITION 2 At each iteration prior to termination of AUCTION-SOP, all the object prices do not decrease, and at least one object price increases by at least e. Furthermore, e-CSS holds at the end of each iteration. Proof Suppose e-CSS holds before a given iteration, and let let p- p- and an d p - be the prices of the objects / before and after the iteration, respectively. Let also TT- b bee the person profits and 5 be the assignment assignment before th e itera tion . Suppose that person ij^ G M{i) bids for object /^ e A/(/) during the iteration. W will sho show w that We e will
D.P. Bertsekas, D.A. Castanon , T he auction a lgorithm
'^
^ik
\ i k ^ \ ^ ^
iik-lk)^S
.
'^ ^k i k ) ^ S .
81
(29) (30)
Suppose first that (i^^, j^) j^ ) € 5. Then by e-CSS we have °i^L ~ PL ^ * *
'*
^^^
{^is~ P s^ ~ ^
iGX(i), iGX(i ),J*M(/ J*M(/) )
(31)
^^
* •
'
If the bid of the similarity class of i^ is based on case (a) in the bidding phase, we have m ax
{a
- p^) > v^ -
= w . ,
while if case case (b) hold s, we ha have ve m ax
{a. - pJ = w . .
s&A{i),s(^MU)
Thus, in either case, the e-CS condition (31) yields k Ik
^'k ^'k
'
Using this relation together with the bid definition (27), we obtain
proving provi ng (29 ). Suppose next that {i^, ; ^ ) ^ S S.. Then in bo th case case (a) an d ( b) , in in view of t h e ordering (2 5), we have have a
f
p.
>
w
and using this relat relation ion together w ith (27 ), we obtain b: , >Pi + e , fc fc
k
:
proving prov ing (30 ). Since the price of ^ after the iteration is equal to the highest bid (cf. (2 8) ), fro from m (29) and (30 ) we obtain
P i^>Pi
if
( V4) V4 ) e - y
(32)
P}^>Pi,^
if
iik-ik)^S.
(33)
82
D.P. Bertsekas, D.A. Castanon The auction algorithm
We also have pj - p^ for every every / that did not receive receive a bid during the itera tion . Th us , the object prices cannot decrease during an iteration. Furthermore, since at least one unassigned person bids at each iteration, it foUows from (33) that at least one object price will increase by at least e. We next show that e-CSS is satisfied following an iteration. Suppose that (/fc./fc). with i^eM{i) an d }\eM{j), belongs to the assignment follo following wing an iteration and that /^ bid for /^ during the iteration. Then
,j - Pj\s E A{i),s ^ M{)\),s
did no t receive a bid from any person in M{i)) - e
, j - Pj\s G A(i),s ^ M{jf^),s did no t receive receive a bid from from an y person in M{i)\ - e, where the next to last inequality holds as an equation if case (b) holds when the bid of the similarity class of i^ is calculated. We also also have
for all s e A{i) such that s received a bid from a person i^ e M(i). By combining the last two relations, we see that e-CSS holds at the end of the iteration. Con sider now the case w here (/j^. (/j^. y^), with i^ e M(i) a n d /\ G M{j), belongs to the assignment following an iteration, but i^ did not bid for /^ during the iteration because all persons in M{i^) were assigned assigned during the itera tion . Let p be the price vector at the end of the last iteration where all persons in M{if^) w ere assigned. Then Then by e-CSS we have e-CSS ' ^
{a , , - D } - e .
It is seen that the price of /^ remained unchanged since the last iteration where all persons in M{ij^) were assigned, while the other prices could not have decreased, i.e.
By combining combining the last three relations, we see that e-CSS holds for the pair pair (ij^. 4 (ij^. 4 . Q . E. D .
D.P. Bertsekas, D.A. Castano n, T he auction algorithm
83
PROPOSITION 3
AUC TION-SOP termin ates if the p roblem is feasible, feasible, i.e. if there exists at least one complete assignment. Proof
We make the following observations: (a) Once an an object is is assigned, it remains assigne assignedd throu gho ut the remain der of the algorithm's duration. Furthermore, except at termination, there will always exist at least one o bject that ha s never been assigne assignedd and that has a price equal to its its initial price. This is due to the fact that a bidding and assignment phase can result in a reassignment of an already assigned object to a different person, but cannot result in the object becoming unassigned. (b) When the similarity clas classs of a person bids during an itera tion , tthe he price price of at least one of the objects that it bids for increases by at least e (cf. proposition 2). (c)
The profit rr, rr, of a perso n / decreases by at least e when the person
(together with all other persons in its similarity class) bids during a number of iterations which is greater than or equal to
Z
IA/(/ JI ,
(34)
where \MiJ)\ is the cardinality of the similarity cl class ass of object /. The reason is tha t the number of objects that attain within e the maximum in the definition (3) of 7r. is at most equal to the sum (34), and the price of each of these objects must increase (by at least e, thereby decreasing 7r- by at least e) before the similarity class of person / will submit a bid for any other objects. We now ar argue gue by contrad iction and assume that th e algori algorithm thm never term inate s. The n the prices prices of a proper and no nem pty subset 7 of objects objects increase increase to + °° (cf. observations (a) (a) and (b) above ), while the profits profits rr rr- of a no nem pty subset / of persons decrease decrease to - « (cf (cf.. observa tion (c) above). For all all z E / , we mus t have y D Aii), since since otherw ise, from from definition ( 3) , it is is seen that the profit of ( would be bou nd ed. The objects in in / after some iteration can only be ass assigne ignedd to objects from / , since since the profits of persons not in / remain bou nde d and the the prices of objects in in / incr increase ease to +»>. +»>. Fu rth er m or e, in view view of observation (c) abo ve, only person s from from / wQl wQl be unassigned af after ter some itera tion. The refore, the cardinality of / is greater than the cardina lity of 7 , while we have J D A{i) for all i in / . This contra dicts the existence of a com plete assignment. Q.E.D . By combining now propositions - 3 , we see see that if the problem is feasi feasible ble and e < l/min{5p , ^^oK oK then AUCTIO N-SO P will will termina te with an optim al assignmen t.
8 4
4
D.P. Bertsekas. D.A. Castanon , The auction algorithm
The auction algorithm for the transportation problem We now consider a trans porta tion problem of the form
maximize
subjectt to subjec
X
i= \
X
^tj fij
J l fii = Xi,
/• = 1 , . . . ,7V
where a. , a n d A O ) are as as iinn th e ass ignm ent pr ob lem , and a,a,- and 0^ 0^ are given given positive integers called the supply of source i and the demand of sink /, respectively. For feasibility, it is necessary to assume that N
This problem can be converted into an assignment problem by replacing source / (sink /) with a,, similar persons (or /3^. similar ob jec ts, re spec tively) . We call this assignassignment problem (ATP). An integer flow variable f^ j in (TP) is equivalent to assignment f^ ^ simi o f ^ similar persons (corresponding to source i) t o f^^ similar lar objects (c orresp ondin g to sink / ) . A flow flow vector / = {yj {yjyl yl;; e -4(01 satisfying 0 < /^y , Yfij
for all (/, / ) wi th j G A{i),
< a,-, a,-, for al alll I,
and
J^ .
(36) < (3^, (3^, fo forr al l/ ,
(3 7)
/ corresponds to an assignment in (ATP). This assignment is complete if and only if the flow vector /i s fea feasi sible ble iinn (TP) . Consider n ow the au ction algorithm for (AT P) as modified in the previous section to tak e int o acco unt similar persons an d ob jects. We assume that the iinitial nitial assignment and price vector satisfy the e-CSS condition of the previous section, and tha t initially al alll objects in the same similarity class have have equal prices. The assignm ent and price vector pairs generated by the m odified auc tion algo rithm will will satisfy satisfy e-CSS at the beginning of each iteration. Furthermore, all objects from the same similarity class which are assigned to persons from the same similarity class have equal prices;
D.P. Bertsekas, D.A. Castanon , The auction a lgorithm lgorithm
85
see the note preceding proposition 2. Therefore, the price vector can be described by specifying, for each {i.f) with / €A{i), A{i), acommon price y^ for all objects of the similarity class of / whic h are assigned to persons in th e similarity class class of /, tog ethe r with the common initial price y^ jfor the unassigned objects in in the similarity class class of /. We denote by R{j) the set of indices i ,2,... \ ,N for which there are some objects in the similarity class of / which are assigned to some persons in the similarity class of /, together with the index 0, if there is some unassigned object in the similarity class of /. Because initially initially all obje cts in the same similarity clas classs have equal pric es, and all prices are nondecreasing, we see that at the beginning of each iteration we have
Vo; Vo; < .v,y,
if
OeR{/)
and
•
/ € / ? ( / ) .
38)
Furthermore, from e-CSS we see that the price vector p with coordinates given by pj = m in
>•, >•,.- ,
39)
satisfies the e-CS condition T T - e < a . . / 7 .
w h e r e TT^, t h e p ro fi t o f s o u rc e i, is given by (cf. (3)) m a x
* •
.{ -Pj\-
40)
In the context of the transportation problem (TP), this condition is restated as 4 >0-7r.-e<fl,^ ,^.-p^..
41)
which may be viewed as a version of the e-CS condition of [6,11,9,10] as applied to the transportation problem (TP). The following proposition derives the appropriate threshold value for e that guarantees optimality of a feasible flow vector / and a price vector p that satisfy the e-CS condition (41). PROPOSITION 4
If the feasible flow vector / and the price vector satisfy the e-CS condition (41) with e <l/min{M, A^}, then / i s optimal. Proof
I f / i s not optim al, there must exist a cycl cyclee with no repeated repeated nod es
86
B ertsekas, D.A. Castanon, he auction algorithm D.P. B D.P.
along which which flow can can be pushed w ithou t violating the feasibi feasibili lity ty of / and with an improvement of the primal cost. Here the nodes i^ and /^ ar aree sources and sinks, A{i^),j^_^.^^ respectively, an d we have have j ^ E A{i^),j^_^.
€. A{i^), A{i^),m m
= \,2,...
,k - \.jf^ E A{i^),
/ j £ A{i^). Because Y has no repeated nodes, we have k < miniA/, A^i, A^i, which based on the hypothesis on e, implies that ^e < 1 .
(42)
Furthe rmo re, we must hav havee /
,
> 1, 1,
m = \,...,k \,...,k
(43)
m m
(in order to be able to push flow from f^ ba back ck to / ^ ) , and k
y
/71 =
k
a,. . + I < fl, ,. + T a . m = 2
.
(44)
(since pushing flow along along Y improves improves the cost and the coefficient coefficientss a- ar aree integer). It follows that
Using Usi ng (43) and the ee-CS CS condition (4 1) we obtain iT f m
€ <a.
. -p. , m m >m
m = \,.
. .,k.. .,k..
(4 6 ) ^
The last two inequalit inequalities ies and the co ndition ndition ke < \ \ (cf. (42)) yield
whichh is a contradiction. whic
Q.E.D.
D.P. Bertsekas,
D.A. Castanon ,
The auction algorithm algorithm
87
Based on the equivalence of transportation problems, and assignment problems with similar person s and objects discussed earlie r, it iiss seen seen th at pr opo sitio n 1 is a special case of proposition 4. We now describe our transportation algorithm by restating AUCTION-SOP for the equivalent assignment problem (ATP) in terms of a flow variable j^ j^yy and a price variable for each (i, / ) w ith / £ A{i), tog eth er w ith a set of initial price price variables y^ j for all sinks /. The generic iteration of this algorithm consists of a bidding phase and an assignment phase, stated below . At th e start of the itera tion we have have a set of flow flow variables yjyj- and p rice variables > ,-• satisfying con ditio ns (3 9) , (40 ) and ( 41 ). At the end of the iteration we obtain a set of flow variables/^ and price variables j ' , , - satisfying the same co nditions. To simplify simplify the s tatem ent of the algorithm algorithm we define, for for any fiow vector /, fo i =
i -
1
fii^
/ = 1 . 2
M .
(47)
We also assume that
ye 4 0
for all i; this guarantees that case (c) in the biddingphase of AUCTION-SOP does not arise. BIDDING PHASE For each source / such that Z/j- < ot ^ : Consider the collection n ( 0 = {a,y - yf^j\j e A{i), and either /: = 0 and f^ j > 0 or k i i and / € A{k), f^. > 0 } ,
and assume tha t n ( / ) is ordered in decreasing orde r, i.e. for for some n we have
with «,7 - yk
i
^°ii
~ yk
Le t m b e t h e s m a l l e s t i n t e g e r r m
i
such that
•
for all « - 1 , . . . , « - 1 .
(48)
8 8
D.P. Bertsekas, D.A. Castanon, The auction algorithm algorithm
Define flows /-y for all / £ .^4(0. 1 ^ Im ^ pven by
4
fi \
and then define
Co mp ute the scalar scalar w, as follows: If If/^ /^yy > 0 ffor or mo re tha n one sink /, then
and otherwise
where n is the first integer n ' for which /„ . ^ JiCom pute the bi d of source / for for each fiow /j ^- > 0 as bj = a
-
w.
e .
(As befo re, we characterize characterize this sit situation uation by saying tha t source / bid for for a fiow increincref- j of sink / at a price Z>,y, and that sink / received a bid from source / for a fiow m e n t f-j Increment fj fjjj at a price b --.) ASSIGNMENT ASSI GNMENT PHASE F or each sink/: L e t P{j) be the set of sources from which / received a bid for for a positive flo flow w increm ent in the bidding phase of the iterat ion . Assume that P{f) is ordered in decreasing bid value, i.e. P{ j) is of the form
where f,
J > 0, b. i > b.
.,
for m = 1, . . . m - 1.
D.P. B ertsekas ertsekas,, D A . Castanon, The auction algorithm algorithm
89
L et
if
I
m
m = i
and, otherwise, le t n be the smallest integer m such that
fo r such that / e A{i), by Then update th e fiows f^;, for
m = I
j = 0
Otherwise
Set also
Based on the results proved for the auction algorithm of the previous section, the transportation algorithm above terminates with an optimal solution provided that the transportation problem T P) is feasible a nd e < l/min{yV/, N ).
5
The auction algorithm algorithm for inequality constrained constrained transportation transportation problems
The ideas a n d algorit algorithm hm s of the previous sections can be extended t o inequality constrained assignment a n d transportation problems o f the form maximize
^ 1 = 1
subject to
X
j
fif ^
° i
i = I,.. . ,N
TPI)
90
D.P. Bertsekas D.A. Castanon The auction algorithm
The e-complementary slackness conditions take the form j > 0
=> TT - e < a j - Pj
TT >0
V l = I
N
Pj>
V/=
1
M
(49)
where the source profits TT- are given by TT =
ma max x {a^j-pj\ {fc /ex(k)l
V/= 1
TV.
It can be show shown n that iiff a fea feasib sible le flow flow vec tor/ to r/sa sati tisf sfie ies, s, together with a pric price e vector p, the above conditions, then/is optimal if e <
llmin\M N\.
Finally, the auction algorithm of the previous section can be used to solve inequality constrained problems, provided the initial flow and price vector pair satisfies the above e-CS conditions an and d the set n ( / ) of eq. (48) in the bidding phas phase e is modified modified to include only scalars a-.-yj^ restriction restri ction the set
that are nonnegative. In particular, if due to this
(/ ) is empty empty,, then source / does not participate in the bidding
phase. The algorithm terminates when for all sources i either the set 11(0 is empty or the supply a,a,- is assigned assigned,, that is is,,
6.
omputational resul results ts
The algorithm of section 4 for (equality constrained) transportation problems was impleme implemented nted in a code c called alled TRA TRANSAUCTION, NSAUCTION, and w was as compared with wit h the following state-of-the-art codes: (1)
AU AUCT CTIO ION N (written by Bertsek Bertsekas as [ 8] ): Th This is is a public dom domain ain code code implementing the auction algorithm for the assignment problem described in section 2. Computational results with an early (and somewhat somewhat
inefficien inefficient) t)
version of this code [10] show that for sparse assignment problems, proble ms, A AUCT UCTION ION outperfomis outper fomis by a la large rge ma margi rgin n the code by Jonke Jonkerr and Volge Volgenant nant [ 20 ]. This latter code is a two-phase method; the first phase is an extensive initialization procedure bas based ed on the relaxation meth method od of [4] and th the e se second cond phase is a sequential shortest path method. Our own experiments indicate also that for
D.P. Bertsekas D.A. Castanon
The auction algorithm
91
sparse prob lems. AU CTION outp erform s by a la sparse large rge margin margin oth er type s of twophase methods which combine the relaxation method with a Hungarian-type or sequential shortest path method. (2)
RELAXII (written by Bertsekas Bertsekas and Tseng [12] ): This is a state-of-the-art code for general linear minimum cost network flow problems, based on the relaxation method [ 5 , 1 1 ] .
(3)
RNET (written by Grigoriadis Grigoriadis and Hsu): This is a state-o f-the-a rt code fo forr general linear minimum cost network fiow problems, based on the simplex method.
In analogy with earlier auction algorithms, TRANSAUCTION applies the algorithm of the previous section with successively smaller values of e, starting from a large value and ending with e = 1/miniA/ A'}; the price vector obtained at the end of each application of the algorithm is used as the starting price vector for the next application of the algo rithm. The idea of successi successive ve re duction of e is is know n as e-scaling and has been suggested suggested in the original original propo sal of the auction algorithm as a me tho d of improving performance, e-scaling was analyzed first in [16] (and more fully in [17]), in the broader context of the e-relaxation method of [ 6 , 7 ] , where it was shown that it leads to polynomial algorithms. By introducing appropriate data structures and e-scaling, and by combining the complexity analysis of the unsealed e-relaxation meth od [6] ,an d ooff scali scaling ng ([1 6, 17 ] and also also [9 ,10 ]),i tisp oss ibl e tous e the algori algorithm thm of the previous section to con stru ct an 0 (( > / + A')^log (Cm in{A /, A/" A/" )) transp ortatio n algorithm, algori thm, where where C = m ax {|a ^ll/ E / (/ ) I. This is dem ons trated in mo re general form form in a report by the authors, which which will will be published published shortly. Our TRANSA UCTION code has polynomial complexity, but does not use all the data structures needed to attain the polynomial complexity bound just me ntion ed; it is is doubtful that an implemen tation attaining this bound would perform better than TRANSAUCTION in practice. The details of the e-scaling scheme that we used are somewhat complicated. Roughly, all cost coefficients a,- are first multiplied with min\M N \ so that the threshold value of e that guarantees optimality is e = 1; then e is initialized at a value of C min{M N\/2 for the first first application of the alg orithm of the previous section; e is reduced by a certain factor are recommended withThere each is successive applicationfeature, of the algorithm until(4—6 the final value e 1 values) is reached. also an additional called adaptive scaling whereby the value of e is gradually modified before the algorithm rithm termina tes based on some he uristic rules. Adaptive scali scaling ng is is also also used optiona lly in the public domain version of the AUCTION code.
The test problems we used were of two types. The first type are problems generated randomly with the public public dom ain program NETGEN [2 2 ]. Figure Figure 6 sshows hows the times required by AUCTION and TRANSAUCTiON for solving NETGEN assignment problems of different sizes. The figure refiects the additional overhead (between 2 and 3) which is required to maintain the data structures used by the implementation of the auction algorithm for transportation problems.
D.P. Bertsekas. D.A. C astanon The auction algorithm
20 1
TRANSAUCTION
10-
AUCTION
100
300
200
500
400
600
N M E N S t O N O F N E TG TG E N A S S IG IG N M E N T P R O B L E M
Fig. 6. Comparison of AUCTION and TRANSAUCTION for NETGEN iissignmcnt problems of different size. The num ber of arcs in each problem was 12.5 of max imum .
TRANSAUCTION
2 0
i 0
NS I
NG2
NG3 NG3
NG4
NGS NGS
NG6
NG7
NG8
NGS NG 10
N E T G E N T R A N S P O R T A T IO IO N P R O B L E M S
Fig. 7. Performance of TRANSAUCTION, RELAXII and RNET algorithms on NETGEN transportation problem benchmarks.
D.P. Bertsekas D.A. Castano n The auction algorithm
Figure 7 illustrates the computation times required by the TRANSAUCTION, REL AXII and RNET codes to solve solve the first first ten standard problem s of [2 2 ]. (These tests were done on a VAX 11-75 0 because we do not have a version version of RNET that runs on an nod MAC II. ) Here we have ha100 ve symm etric with the num ber of supply es II.) ranging rang ing from from to 150 andtransportation the nu mb er problems, of arcs ranging from 1300 to 6300. Figure 7 shows that TRANSAUCTION runs slower than RELAXII and roughly comparable with RNET. The total supply in these problems is 1000 times the number of sources. The second type of problems that we tested are asymmetric transportation problem s with relative relatively ly few levels levels of supplies and dem ands ; by this we mea n that the sources (sinks) can be divided into a few groups with roughly comparable values of supply (dem and ) within each g rou p. Problems arise arise often often in practice, where few few sources w ith large large supplies ar aree allocated to man y sinks with small dema nds. They are the type of problems for which TRAN SAUC TION outp erform s substantially both RELAX II an d R NET. This is is suppo rted by the results shown in in fi figs. gs. 8 - 1 0 . For these problems, the TRANSAUCTION code obtains an optimal solution in 20-50 of the time required required by by RE LAX II. Figures Figures 8 - 1 0 indicate indicate that the advantage advantage of TRANSAUCTION over the other codes increases with problem dimension. The problems of these figures are representative of the results obtained from many test runs with qualitatively similar problems. 60 0 -\
RNET
10 0
3
1
3
PROBLEM SIZE
Fig. 8. Performance of TRANSAUCTION, RELAXU and RNET on transportationassignment problems. All problems have 100 sinks. 10 with large demand and 90 with sma small ll dem and. Problem si size ze is is described by th e num ber of sou rces, al alll ooff which have unit supp ly. The num ber of ar arcs cs in each problem iiss 14 of maximu m.
94
D.P. Bertsekas. D.A. Castanon Vie uction
lgorithm
3001
TRANSAUCTION
2 00 X S 0
400X100
1200X 300
2000X500
PROBLEM SrZE
Fig. 9. Performance of TRANSAUCTION and RELAXII on transportation problems of homogeneous type. The number of sources equals four times the number of sinks. The supply of each source ranges from - 9 , with aver average age 5. The sinks aare re divided into two classes, with 10 of the sinks having 50 of dem and divided evenly, whileber90of arcs of the sinksproble divi divide de the5 remaining avera average ge num in each problem m is of maxim50 um . of demand evenly. The
RELAXII
60
5
50
TRANSAUCTION
20
10
2
4
5
3
1
N U M B ER ER O F S O U R C E S
Fig. 10. Perfomiance of TRANSAUCTION and RELAXII on transportation problems of homogeneous type. The number of sinks is kept constant at 100, with 10 sinks with demand 225 and 90 sinks with demand 25. The average number of arcs in each each problem is 14 of max imum . The supplie suppliess of the sources were generated according to a unifor uniform m distribu tion over [ 1 , iOO| (for the 100-source problem ), [1, 30 1 (for (for the 300-sourc 300-sourcee problem ), and [1 , 10] (f (for or the the 1000-source problem), with corrections made to ensure that the total dem and was equal to tthe he total supply.
D.P. Bertsekas, D.A. Castanon. The auction algorithm
7.
95
Conclusions The auction algorithm o off this paper iis s consistent with the current trend of
solving linear pr programming ogramming problems using ideas fr from om nonlinea nonlinearr programming. programmi ng. It has performed perfo rmed bet better ter than all all tr trans anspor portat tat ion codes availa available ble to us on various classe classes s of asymmetric as ymmetric
tra transpor nsportat tation ion pr problems oblems with relatively fe few w leve levels ls of suuplies and
have already been developed but this work lies outside the sco scope pe of this paper. The algorithm algori thm can also be exten extended ded to so solve lve general linear minimum cost flow problems in O{N^\o
{NC)) time. time . This extensi extension on
togethe togetherr with its complexity analysis wil willl
be give given n in a future publ publica icati tion. on.
References [ I ]
M.L. Balinski, A competitive
dual) simplex meth od for the assignment assignment problem . Math.
[2 ]
Progr. 34 1986)125. R. Barr. F. Glover and D D.. Klingman, The alternating basi basiss algorithm fo forr assignment prob-
lems. Math. Piogr. 1977)1. algorithm for the assi D.P. B ertsekas, ertsekas, A 13 distributed assignment gnment problem . Labo ratory fo forr and d Deci Information an Decisi sion on Systems Unpub lished R epo rt, M.i M.i.T. .T. March 1979). 41 D.P Bertsekas, A new new algorithm for the assi assignment gnment problem. Math. Progr. Progr. 21 198 1)152 . 5] D.P. Bertsekas, A unified framework fo forr primal-dual methods in minimum cost netwo rk flow problems. Math. Progr Progr.. 32 1985 )125 . [6 ] DP. Bertseka Bertsekas, s, Distributed asynch ronou s relaxation metho ds fo forr linear network flow problems, LIDS LIDS Report P-1601, M.I.T. M.I.T. Sep t. 198 6; rev revise isedd Nov. 1986). 17 1711 D.P. Bertsekas, Distributed relaxation me tho ds fo forr linear network flow problem, Proc. 25th IEEE Conf on Decision a and nd Control, A t he ns, ns, G re re ec ec e 1986) pp. 210 1- 2 10 6. [8] D.P. Bertsekas, The aucti auction on algorit algorithm: hm: A distribute d relaxation method for the assignment proble m, LIDS Repo rt P-1 65 3, M.I. M.I.T. T. March 1987); Also Also in: Ann. Oper. Res. 14 1988)105. 191 191 D.P. Bertsek as and J. Eckstein, Distributed asynchronous relaxation methods fo forr linear network flow problems, /Voc. IFAC 87. Munich, Germany July 1987). [ 10] D.P. Bertsekas and J. Eckstein, Dual coordinate step methods fo forr linear network flow problems. Math. Progr Progr.. Ser Serie iess B 42 19 88) 20 3. [ I I ] D.P D.P.. Bert Bertseka sekass and P. Tseng Tseng,, Relaxat Relaxation ion metho dsfo rmin imu mco st ordinary andgeneralized
3 ]
netw orkn ow prob lems , LI LIDS DS Report Report P-H 62 , M. M.I. I.T. T. May May 1985); Oper. Oper. Re Res. s. 36 1988 )93. D.P. Bertsekas Bertsekas and P. Tseng, RELAX: A code fo forr linear net network work fl flow ow p roblem s, in: EORTRAN Codes for Network Optirmzation. ed. B. Simeone et al. Ann. Oper. Res. 13 1988) 125. Distributed Computation: Numerical Methods [13 ] D.P. Bertsekas Bertsekas an and d J.N. Tsitsiklis, Umllel and Distributed Prentice-HaU, Englewood Cliffs, NJ, 1989). [ 14] M. Engquist, A succ success essive ive shortest path algorithm for the assignment problem , INFOR 20 1982) 370. [ 15] F. Glover, R. Glover an and d D. Klingman, Threshold assignment algorithm. Center fo forr Business Decision Analysis Report CBDA 107, Graduate School of Business, University of Texas at Austin Sept. 1982). [16] A.V. Goldberg, Solving Solving minim um-cost flow flow problems by succe successi ssive ve appro xima tions, ex tended abstract, submitted to ST STOC OC 8 7, Nov. 1986.
[12 ]
96
[17 [1 7 [18] [19]
DP. Bertsekas D.A. Castanon
he auction algorithm
A.V. Goldberg and R.E. Tarjan, Solving minimum cost flow problems by successive approxim a t i on, / V oc . 19th ACM STOC iU^y 1987). D. Goldfarb, Efficient Efficient dual simplex meth ods for the assignment prob lem. Math. Progr. 33 1985) 187.
M. Hung, A polynomial ssimple implexx me thod for the assignment assignment problem, Oper. Res. 31 1983) 595. [20 ] R. Jon ker and A. Volg enant, A shortest augmen ting path algorithm algorithm for for dense and sparse sparse linear assignment problems. Computing 28 1987)325. [21 [2 1 ] J. Kennington aand nd R. Helgason, Algorithms for Network Programming Wiley, New York, 1980). [22 ] D. Klingman, A. Napier and J. Stut z, NETGEN - A program for generating llarge arge scale scale un)capacitated assi assignment, gnment, trasnpo rtation, and mini minimum mum cost fl flow ow network problems, Management Science 20 1974)814. [23 ] H.W. Kuh n, The Hungarian Hungarian me tho d for the as assignment signment prob lem. Na Naval val Research Logis Logistic ticss Quarterl Quart erlyy 2 1955)83. [24] L.F. McGinnis, Imple men tation a nd testing of of a primal-du al algorithm for for the assignment problem, Oper. Res. 31 1983)277. [25 ] C.H. Papadimitriou and K. SteigUtz, Combinatorial Optimization. Algorithms and Complexity Prenti Prentice-HaU, ce-HaU, Englewood Cl Cliff iffs, s, NJ, 1982 ). [26 ] R.T. Rockafellar Rockafellar,, Network Flows and Monotropic Programming Wiley, New York, 1984 ).