Auction Trans

Published on April 2017 | Categories: Documents | Downloads: 55 | Comments: 0 | Views: 488
of 31
Download PDF   Embed   Report

Comments

Content

 

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

 

7 8 

D.P. Bertsekas, D.A. Castanon, Tfie auction algorithm

the e-CS condition > 

a^j-Pf

m ax a x ( ff* - p ^ l - e =

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  



:

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= \



^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

 



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



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/=



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

demands. demand s. The algorithm is suitable

fo forr parall parallel el impl implement ementati ation; on; parallel versions

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 ).

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close