a new simplex algorithm

Upload: dongmin-xu

Post on 07-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/4/2019 A New Simplex Algorithm

    1/18

    Mathematical Programming 78 (1997) 131-148

    A new s trongly p olyno m ial dual network s imp lexalgorithm

    Ronald D. Armstrong *, Zhiying JinGradu ate School o[ 'Management a nt i RU TCO R - Rutgers Center tbr Operat ions Research ,

    Rutgers University, Newark. NJ 07102, USAReceived 3 January 1994; revised m anuscript received 9 M ay 1996

    A b s t r a c t

    T h i s p a p e r p r e s e n ts a n e w d u a l n e t w o r k s i m p l e x a l g o r i th m f o r t h e m i n i m u m c o s t n e t w o r k f l o wp r o b l e m . T h e a l g o r i t h m w o r k s d i r e c t l y o n t h e o r i g i n a l c a p a c i t a t e d n e t w o r k a n d r u n s i n O ( m n ( m +n l o g n ) l o g n ) t i m e f o r t h e n e t w o r k w i t h n n o d e s a n d m a r c s . T h i s c o m p l e x i t y i s b e t t e r t h a n t h ec o m p l e x i t y o f O r li n , P l o t k in a n d T a r d o s ' ( 1 9 9 3 ) d u a l n e t w o r k s i m p l e x a l g o r i t h m b y a f a c t o r o fm / n . 1 99 7 T h e M a t h e m a t i c a l P r o g r a m m i n g S o c i e t y , I n c . P u b l i s h e d b y E l s e v i e r S c i e n c e B . V .Keywor ds : Du al simplex algorithm; M inimum cost network f low problem; Network simplex algorithm

    1 . I n t r o d u c t i o n

    L e t G = ( V , E , u . b , c ) b e a d i r e c t e d n e t w o r k , w h e r e V i s t h e s e t o f n o d e s w i t hI V I = n , E i s t h e s e t o f a r c s w i t h [ E I = m , u i s a c a p a c i t y f u n c t i o n : E ~ R + t,j { + ~ } , bi s a d e m a n d f u n c t i o n : V ~ R s u c h t h a t ~2 v ~ v b ( v ) = 0 , c i s a c o s t f u n c t i o n : E ~ R . T h em i n i m u m c o s t n e t w o r k f l o w p r o b l e m i s t o f i n d a f l o w t h a t h a s t h e l e a s t c o s t w h i l es a t is f y i n g th e f l o w c o n s e r v a t i o n a n d c a p a c i t y c o n s tr a in t s . M a t h e m a t i c a l l y . t he m i n i m u m

    Ctm'esponding author.I Present addres s: Deparnnent of Industr ial Engineering and Operations Research. Columbia University,New York. NY I0027, USA.002 5-56 10/9 7/$17 .00 1997 The M athemat ical Programming Society . Inc.Published by Elsevier Science B.V.P l l S 0 0 2 5 - 5 6 1 0 ( 9 7 ) ( / 0 0 1 2 - 9

  • 8/4/2019 A New Simplex Algorithm

    2/18

    132 R.D. Armstrong, Z. Jin /Mathematical Programming 78 (1997) 131-148

    c o s t n e t w o r k f l o w p r o b l e m c a n b e f o r m u l a t e d a s t he f o l lo w i n g l in e a r p r o g r a m m i n g

    F__, w ) 4 v , w ) ,Cv, w)~Es u b j e c t t o ~_, x ( v , w ) - Y '. x ( w , v ) = b ( v ) , V v E V ;(v. w)~E (w. v)EEo x(v, w) u(v. , , , ) , w)

    F o r n o t a t i o n a l c o n v e n i e n c e , a s i n [ 10 ], w e a s s u m e t h a t G h a s n o n m l t i p l e a r c s . I ft h e r e i s a n a r c f r o n t n o d e v t o n o d e w , t h i s a r c i s u n i q u e a n d i s d e n o t e d b y ( v , w ) . Apseuda./low i s a f u n c t i o n f : E ~ R * t h a t s a t i s f i e s 0

  • 8/4/2019 A New Simplex Algorithm

    3/18

    R.D. Armstrong, Z . J in / Ma thema tical Progra mm ing 78 (1997) 1 31 -14 8 133

    T h e f ir s t s t r o n g ly p o l y n o m i a l a l g o r i t h m w a s d e v e l o p e d b y T a r d o s [ 1 1] . T h e s t ro n g l yp o l y n o m i a l a l g o r i t h m w i t h t h e b e s t c o m p l e x i t y , O ( m l o g n ( m + n l o g n ) ) , w a s g i v e nb y O r l i n [ 9 ] .

    I n th i s p a p e r , w e p r e s e n t a n e w s t ro n g l y p o l y n o m i a l d u a l n e t w o r k s i m p l e x a l g o r i th m .O u r a l g o r i t h m w o r k s d i r e c t l y w i t h t h e o r i g i n a l c a p a c i t a t e d n e t w o r k a n d m a i n t a i n s a t r e es t r u c tu r e o f s i m p l e x b a s i s f o r t h e o r i g i n a l c a p a c i t a t e d n e t w o r k . T h i s a l l o w s a p r a c t i ca li m p l e m e n t a t i o n b e c a u s e t h e t r e e h a s n a r c s r a t h e r t h a n m + n a r c s a s i n [ 10 ] , w h e r e at r a n s f o r m e d u n c a p a c i t a t e d n e t w o r k i s u s e d. F u r t h e r m o r e , o u r a l g o r i th m h a s a c o m p l e x i t yo f O ( m n ( m + n l o g n ) lo g n ) f o r t he c a p a c it a t ed p r o b l e m . T h i s i m p r o v e s t h e c o m p l e x -i ty g i v e n b y O r l in , P l o t k i n , a n d T a r d o s i n [ I0 ] f o r th e c a p a c i t a t e d p r o b l e m . I n S e c t i o n 2 ,w e d e f i n e s t r o n g l y d u a l f e a s i b l e t r e e a n d g i v e t h e g e n e r i c d u a l n e t w o r k s i m p l e xa l g o r i t h m . T h e s t ro n g l y p o l y n o m i a l d u a l n e t w o r k s i m p l e x a l g o r it h m i s g i v e n i n S e c t i o n3 a n d i ts c o m p l e x i t y a n a l y s i s i s g i v e n i n S e c t i o n 4 .

    2 . S t r o n g l y d u a l f e a s ib l e t r e e s a n d a g e n e r i c d u a l n e t w o r k s i m p l e x a l g o r i t h mL e t G ~ d e n o t e t h e a u x i l a r y g r a p h f r o m G , w i t h n o d e s e t V a = V U { 0 } , a r c s e t

    E ~ = E U { ( 0, v ) : v ~ V } , a n d 0 i s a d u m m y n o d e w i t h b ( 0 ) = 0 . A s s u m e u ( 0 , v ) = + z ca n d c ( 0 , v ) = 0 f o r e a c h v E V . T o f a c i l i ta t e t h e p r e s e n t a t i o n , i t is a s s u m e d t h a t a llc(v, w)>10. T h i s a s s u m p t i o n i s m a d e w i t h o u t l o s s o f g e n e r a l i ty a s d e s c r i b e d i n [ 9] o r [1 ,p . 2 9 7 ] . L e t T b e a s p a n n i n g t r e e o f G a r o o t e d a t n o d e 0 . B y c o n v e n t i o n , t h e r o o t i s a tt h e to p o f th e t r e e . A n a r c ( v , w ) ~ T i s c a l l e d downward i f i t i s d i r e c t e d a w a y f r o m t h er o o t ; o t h e r w i s e , i t i s c a l l e d upward.

    I t i s w e l l k n o w n t h at s i m p l e x a lg o ri tl am s f o r th e m i n i m u m c o s t f l o w p r o b l e m c a nm a i n t a i n t he b a s i s as a s p a n n i n g t re e . E a c h n o n b a s i c ( n o n t r e e ) a r c ( v , w ) h a s a f l o we q u a l t o e i t h e r 0 o r u(o, w). O n c e t i l e n o n b a s i c f l o w s a r e s e t , t h e b a s i c f l o w s a r eu n i q u e l y d e t e r m i n e d . A l s o , i f t h e d u a l v a r i a b l e f o r t h e r o o t p ( 0 ) , i s a s s i g n e d a v a l u e o fz e r o , al l o t h e r d u a l v a r i a b l e s a r e u n i q u e l y d e t e r m i n e d b y r e q u i r i n g c t,(v, w ) - 0 o n a l lt r e e a r c s . A t r e e i s dual feasible i f t h e d u a l v a r i a b l e s c a l c u l a t e d i n t h is m a n n e r s a t i s f yt h e p r e v i o u s l y s t a te d d u a l f e a s ib i l i ty a n d c o m p l e m e n t a r y s l a c k n e s s c o n d i t i o n s .

    T h e d u a l n e t w o r k s i m p l e x a l g o r i t h m m a i n t a i n s a t re e r e p r e s e n t a t i o n o f t h e b a s i s . T h eb a s i c t re e i s d u a l f e a s i b l e a n d is u p d a t e d b y a d u a l s i m p l e x p i v o t . F l o w a u g m e n t a t i o n sa r e d o n e t h r o u g h t h e t r e e a r c s .D e f i n i t i o n . A d u a l f e a s i b l e t r e e T i s c a l l e d strongly dual feas ible ( s . d . f . ) i f f ( v , w ) > 0f o r e v e r y u p w a r d a r c a n d f ( v , w ) < u ( v , w ) f o r e v e r y d o w n w a r d a rc in T .

    A n e q u i v a l e n t d e f i n i t i o n o f a s .d . f, t r e e is th a t a p o s i t i v e a m o u n t o f f l o w c a n a l w a y sb e p u s h e d d o w n t o l e a v e s o f t he t r ee , a s o p p o s e d t o t h e d e fi n i ti o n o f p r im a l s t r o n gf e a s i b l e tr e e g i v e n b y C u n n i n g h a m [ 6] in w h i c h a p o s i t i v e a m o u n t o f f l o w c a n a l w a y s b ep u s h e d u p t o th e r o o t o f th e t r e e . T h e s . d . f , t re e w a s f i r s t in t r o d u c e d b y B a l i n s k i [ 4] f o rt h e a s s i g n m e n t p r o b l e m . L a t e r , it w a s u s e d b y B a l i n s k i a n d G o n z a l e z [ 5 ] t o s o l v e t h em a x i m u m b i p a r ti t e m a t c h i n g p r o b l e m . A r m s t r o n g a n d J i n a l s o u s e th e s .d .f , t re e

  • 8/4/2019 A New Simplex Algorithm

    4/18

    134 R.D. Armstrong, Z. Jin / Mathematical Programming 78 (1997) 13 I- 148

    s t r u c tu r e f o r s o l v i n g th e b o t t l e n e c k a s s i g n m e n t p r o b l e m [ 2 ] a n d b i p a r t it e v e r t e x p a c k i n gp r o b l e m [ 3 ] .

    A n i n i t i a l s . d . f , t r e e c a n b e c o n s t r u c t e d b y c h o o s i n g n o d e 0 a s t h e r o o t a n d m a k i n ge a c h v ~ V a n i m m e d i a t e s u c c e s s o r t o t h e r o o t . G i v e n a n s . d .f , t r e e T , l e t p r e d ( v )d e n o t e th e i m m e d i a te p r e d e c e s s o r o f n o d e v in T . A p r e d e c e s s o r p a t h f r o m n o d e v t on o d e w , w h e r e w i s a n o d e o n t h e p a t h f r o m v t o t h e r o o t i n T , is t h e p a th f r o m v t o win T . L e t n o d e v h a v e e y ( v ) > 0 a n d w = p r e d ( v ) , t h e a l g o r i t h m w i l l p u s hm i n { e s ( v ) , f ( w , u )} f r o m v t o w i f ( w , u ) is a d o w n w a r d a r c a n d m i n { e y ( v ) , u ( v , w ) -f ( v , w )} f r o m v t o w i f ( v , w ) i s a n u p w a r d a rc . T h e a l g o r i t h m m a i n t a i n s a n o n n e g a t i v ee x c e s s a t e a c h n o d e e x c e p t f o r t h e r o o t n o d e . T h e r o o t n o d e w i l l h a v e a d e f i c i t u n t i l ap r i m a l f e a s i b l e s o l u t i o n i s o b t a i n e d .

    C h o o s i n g t h e l e a v i n g a r c : A d o w n w a r d a r c ( g , h ) i n T w i th e f ( h ) > O a n df ( g , h ) = 0 o r a n u p w a r d a rc ( g , h ) in T w i th e j - ( g ) > 0 a n d J ( g , h ) = u ( g , h ) wi l l bec h o s e n a s t h e l e a v i n g a r c . I t i s e a s i l y s h o w n t h a t i n t h e f i r s t c a s e x ( g , h) < 0 and i n t hes e c o n d c a s e x ( g , h ) > u ( g , h ) , w h e r e x is a b a s i c fl o w i n T . T h e r e m a y e x i s t o t h e rb a s i c a r c s w i t h i n f e a s i b l e b a s i c f l o w s b u t t h e l e a v i n g a r c i n o u r a l g o r i t h m m u s t s a t i s f yt h e p r e v i o u s l y d e s c r i b e d c o n d i t i o n s .

    C h o o s i n g t h e e n t e r i n g a r c : E l i m i n a t i n g a r c ( g , h ) f r o m T w i ll d iv i d e T i n to t w os u b t r e e s T R c o n t a i n i n g t h e r o o t a n d T "~ = T - T R . F l o w m u s t b e p u s h e d o u t o f t h es u b t r e e T ~ t o r e d u c e t h e e x c e s s . A n a r c ( p , q ) y i e l d i n g 0 = m i n { c p ( v , w ) : f ( v , w ) = 0 ,v E T N, w ~ T R, - cl , (v , w ): 3 ' (v , w ) = u ( v , w) , v ~ T R, w E TN} , wi l l be ch os en a st h e e n t e r i n g a r c i n o r d e r t o m a i n t a i n a d u a l f e a s i b l e s o l u t i o n a f t e r t h e u p d a t e s .

    A f t e r c h o o s i n g t h e e n t e r i n g a r c , t h e a l g o r i t h m u p d a t e s t h e d u a l v a r i a b l e s b y s e t t i n gp ( v ) ~ p ( v ) + O, V u ~ T N a n d u p d a t e s t h e t r e e b y d e l e t i n g t h e l e a v i n g a r c a n da d j o i n i n g t h e e n t e r in g a rc . A f t e r u p d a t i n g t h e tr e e a n d d u a l v a r ia b l e s , w e p u s hp s e u d o f l o w i n t h e re v e r s e o f a b r e a d th f i rs t s e a r c h o r d e r i n g ( i .e ., w e s ta r t a t t h e l e a v e sa n d w o r k t o w a r d s t h e r o o t ) , t h i s c a n b e d o n e i n O ( n ) t i m e b y c a l l i n g a p r o c e d u r eP u s h - F l o w ( T ) ( s e e b e l o w ) . N o t e t h a t e a c h t im e t h is p r o c e d u r e i s c a l l e d , e i t h e r ano p t i m a l ( p r i m a l f e a s i b l e ) s o l u t i o n i s f o u n d o r a l e a v i n g a r c i s f o u n d . P u s h - F l o w ( T ) wi l lp u s h a s m u c h f l o w a s p o s s i b l e t o t h e r o o t w h i l e m a i n t a i n i n g a p s e u d o f l o w .P r o c e d u r e P u s h- F lo w ( T ) :b e g i n

    f o r v ~ V in a r e v e r s e B F S o r d e r i n g d ob e g i n

    le t w = p , ' e d ( v ) :i f ( w , v ) is a d o w n w a r d a rc th e n p u s h m i n { e f ( v ) , f ( w , v) } f r om v t o w;i f ( v , w ) is a n u p w a r d a r c t h e n p u s h m i n { e f ( v ) , u ( v , w ) - f ( v , w )} f r o m v to w :

    e n d ;e n d .G e n e r i c d u a l n e t w o r k s i m p l e x a l g o r i t h mStep O . In i t i a l i za t i o ,

  • 8/4/2019 A New Simplex Algorithm

    5/18

    R.D. Armstrong, Z . J in / M athem atical Progra mm ing 78 (1997) 1 31 -14 8 135

    D e f i n e T = { ( 0, v ) : v E V } ;S e t p ( v ) --- O, f ( O, v ) ~ - b( v ) i f b ( v ) O, V v ~ V;

    S t e p 1 . C h o o s e t h e l e a v i n g a r cI f n o le a v i n g a r c ( g , h ) in T e x i s ts , t h e n S T O P( t h e c u r r e n t s o l u t i o n i s o p t i m a l ) ; O t h e r w i s e , l e t ( g , h ) b e a l e a v i n g a r c;

    S t e p 2 . C h o o s e t h e e n t e r i n g a r cS e a r c h t h e su b t r e e T N t o f i n d th e e n t e r i n g a r c ( p , q ) w h i c h y i e l d s 0 ;I f n o e n t e r i n g a r c c a n b e f o u n d , t h e n S T O P ( th e p r o b l e m i s i n f e a si b l e );

    S t e p 3 . U p d a t eU p d a t e d u a l v a r i a b l e s b y s e tt i n g p ( v ) ",-- p ( v ) + 0 f o r a l l v ~ T N ;U p d a t e t h e t re e b y s et t i n g T ~ ( T - ( g , h ) ) tO ( p , q ) ;C a l l P u s h - F l o w ( T ) ;

    S t e p 4 . N e x t p i v o tS e a r c h f o r a l e a v i n g a r c b y f o l l o w i n g t h e p r e d e c e s s o r p a t h f r o m q t o t h e r o o t ifp E T N o r p t o th e r o ot i f q E T N ;I f n o c a n d i d a t e l e a v i n g a r c e x is t s a l o n g t h is p a t h , t h en g o t o S t e p 1O t h e r w i s e , c h o o s e ( g , h ) to b e th e f ir s t c a n d i d a t e f o u n d a n d g o t o S t e p 2 .

    L e m m a 1 . T h e a l g o r i t h m m a i n t a i n s a n s . d . f t r e e a t e a c h s t ep .P r o o L W e p r o v e t h i s b y i n d u c t i o n . T h e i n i t i a l t r e e i s s . d . L s i n c e a l l a r c s i n t h e t r e e a r ed o w n w a r d a r c s w i t h i n f in i t e c a p a c i t ie s .

    A s s u m e t h a t t h e l e m m a i s t ru e a t s o m e s t e p. C o n s i d e r a d u al s i m p l e x p i v o t w h e n( g , h ) is t h e l e a v i n g a r c an d ( p , q ) i s t h e e n t e r i n g a r c . A s s u m e g ~ T N a n d p ~ T N( t h e a n a l y s i s i s th e s a m e i f h E T N o r q ~ T N ) . T h e u p w a r d a r c s o n t h e p r e d e c e s s o rp a t h f r o m p t o g b e f o r e t he tr e e u p d a t e w i l l b e c o m e d o w n w a r d a r c s a f t e r t h e tr e eu p d a t e . S i m i l a r l y , t h e d o w n w a r d a r c s o n t h e p r e d e c e s s o r p a t h f r o m p t o g w i l l b e c o m eu p w a r d a r c s a f t e r t h e t re e u p d a t e . S i n c e T i s s . d .f , b e f o r e t h e t re e u p d a t e , a p o s i t i v ea m o u n t o f f l o w w i l l b e p u s h e d o u t o f T N a f te r t h e t re e u p d a t e . I n p a r t i c u l a r, a f t e r th et r e e u p d a t e , w e a r e a b le t o p u s h a p o s i t i v e a m o u n t o f f l o w a l o n g t h e p r e d e c e s s o r p a t hf r o m g t o q . T h u s , a f t e r p u s h i n g f l o w f r o m g t o q , e v e r y u p w a r d a r c a l o n g t h is p a t hh a s a p o s i t i v e p s e u d o f l o w a n d e v e r y d o w n w a r d a r c h a s a p s e u d o f l o w s t ri c tl y le s s th a ni ts c a p a c i t y . A l s o , p u s h i n g f l o w f r o m q t o th e ro o t c a n o n l y i n c r e a s e t h e p s e u d o f l o w s o nt h e u p w a r d a r c s an d d e c r e a s e t h e p s e u d o f l o w s o n th e d o w n w a r d a r cs . T h u s , a f t e rp u s h i n g p s e u d o f l o w , t h e n e w t r e e i s s ti ll s . d . f. [ ]

    L e m m a 1 d e m o n s t r a te s t ha t a p o si t iv e a m o u n t o f p s e u d o f l o w c a n b e p u s h e d o u t o fT N i n e a c h p i v o t . B a s e d o n t h is , w e w i ll s h o w t h a t th e a l g o r i t h m h a s a p s e u d o p o l y n o -m i a l c o m p l e x i t y .

    L e t - ~ = ~ v ~ v f ( O , v ), t h e n .~ '< ~ ~ b t ~ l > o b ( v ) = B . A t S t e p 4 , f f n o l e a v i n g a r c( g , h ) ex i s t s, t h e n . ' 2 i s d e c r e a s e d b y a p o s i t i v e n u m b e r ( i .e . , t h e a l g o r i t h m i s a b le t op u s h a p o s i t i v e a m o u n t o f fl o w t o th e r o o t n o d e ) ; o t h e r w i s e , t h e s u b t r e e T y b e c o m e ss t r ic t l y l a r g e r . T h u s , a f t e r a t m o s t n p i v o t s , 2 i s d e c r e a s e d . I t i s n o t n e c e s s a r y t o

  • 8/4/2019 A New Simplex Algorithm

    6/18

    13 6 R.D. Armstrong, Z. Jin / Mathematical Programming 78 (1997) 131-148

    e x p l i c i t l y u p d a t e t h e t r e e u n t il .Z P i s d e c r e a s e d . I m m e d i a t e l y a f t e r S t e p 2 , f i n d ad o w n w a r d a rc ( g , h ) w i t h J ( g , h ) = 0 o r a n u p w a r d a rc ( g , h ) w i t h f ( g , h ) = u ( g , h )f o l l o w i n g t h e p r e d e c e s s o r p a t h q t o th e r o o t i f p ~ T N o r p t o t h e r o o t i f q E T N . I f n os u c h ( g , h ) ex i s t s, t h e n S a i s d e c r e a s e d s i n c e T i s a n s .d . f, t r e e a n d a p o s i t i v e a m o u n to f p s e u d o f l o w w i l l b e p u s h e d o u t o f T N . I f s u c h a ( g , h ) e x i st s , t h e n ( g , h ) w i l l b e t h en e x t l e a v i n g a r c b e c a u s e n o p s e u d o f l o w c a n b e p u s h e d t o t h e r o o t . T h e t r e e i s n o tu p d a t e d a n d n o f l o w i s p u s h e d u n t il 5 i s d e c r e a s e d . T h i s i s c a l l e d a b l o c k p i v o t a si n t r o d u c e d b y G o l d f a r b [ 8 ] f o r th e a s s i g n m e n t p r o b l e m .

    I t w i l l b e d e s c r i b e d h o w e a c h b l o c k p i v o t c a n b e d o n e i n O ( m + n l o g n ) t im e . E v e r yp i v o t b e g i n s b y c h o o s i n g a l e a v i n g a rc ( g , h ) t h at d i v i d e s t h e t r ee i n t o t w o s u b t re e s , T Ra n d T "~ a s p r e v i o u s l y d e f i n e d . F o r e a c h w E T R , le t 0,, = m i n { c / , ( v , w ) : f ( v , w ) = O ,v E T N, - c l , ( w , v ) : f ( w , o ) = u ( w , v ) , v ~ T ~ } , t h e n O = m in {O , ,.: w E T R } i s them i n i m u m r e d u c e d c o s t g i v e n b y t he e n t e r i n g a rc . L e t ( g ~, h ~) b e t h e n e x t l e a v i n g a r ca n d T R u ) a n d T N (~) b e t h e c o r r e s p o n d i n g s u b t r e e s. T o d e t e r m i n e a n e w 0,,, w ~ T R(~},o n l y t h e a r c ( v , w ) w i t h f ( v , w) = 0 , v ~ T NCI) - T N a n d a r c ( w , v ) w i th f ( w , v ) =u ( w , v ) , v E T N ) - T N n e e d b e in s p e c te d . A l l c ~, (o , w ) v a lu e s w i th v ~ T N a n dw ~ T a (l ) a r e r e d u c e d b y 0 . S im i la r ly , a ll c / , ( v , w ) v a lu e s w i th w ~ T N a n d v ~ T R( ba r e i n c r e a s e d b y 0 . T h e r e d u c e d c o s t o f an a r c is c o m p u t e d a t m o s t o n c e d u r i n g a b l o c kp i v o t .

    T h e w o r k o f c h o o s i n g t h e m i n i m u m r e d uc e d c o s t w i th i n a b l o c k p i v o t c a n b e d o n e i nO ( n l o g n ) ti m e u s i n g a F i b o n a c c i h e a p . T h e t r e e u p d a t e a n d d u a l v a r i ab l e u p d a t e c a nb e d o n e i n O ( n ) t i m e ( s e e [ 8] f o r d e t a il s ). A f t e r u p d a t i n g t h e t re e a n d d u a l v a r i a b l e s , c a l lP u s h - F l o w ( T ) t o p u s h e x c e s s i n t o t h e r o o t . W i t h i n a b l o c k p i v o t , n o a r c i s s c a n n e d m o r et h a n o n c e . T h u s , t h e to t al w o r k o f e a c h b l o c k p i v o t is O ( m + n l o g n ) . A f t e r e a c h b l o c kp i v o t , a p o s i t i v e a m o u n t o f f l o w i s p u s h e d i n t o t h e r o o t. I f b ( u ) a n d u ( v , w ) a r ei n t e g e r s , t h e n th e c o m p l e x i t y o f t h e a l g o r i t h m is O ( ( m + n l o g n ) B ) .

    3 . S t r o n g l y p o l y n o m i a l d u a l n e t w o r k s i m p l e x a l g o r i t h m

    T h e a l g o r it h m o f t he p r e v i o u s s e c ti o n c a n b e m a d e s t ro n g l y p o l y n o m i a l b y m o d i f y i n gt h e s c a l i n g t e c h n i q u e s p r o p o s e d b y O r l i n [ 9 ] a n d O d i n , P l o t k i n a n d T a r d o s [ 1 0 ] . R a t h e rt h a n t r a n s f o r m i n g t h e ca p a c i t at e d p r o b l e m i n to a n u n c a p a c i t a t e d p r o b l e m a s in [9 ] a n d[ 1 0 ] , w e w o r k d i r e c t l y o n t h e c a p a c i t a t e d n e t w o r k a s d e s c r i b e d i n t h e p r e v i o u s s e c t i o n .W o r k i n g o n t h e c a p a c i t a t e d n e t w o r k d i r e c t l y e n a b l e s u s t o r e p r e s e n t t h e s i m p l e x b a s i swi th n a r c s in s te a d o f m + n a s [ 1 0 ].

    T h e s c a l i n g m e t h o d t o b e d e s c r ib e d h e r e m a i n t a i n s a p o s i t i v e s c a l i n g f a c t o r ,4. G i v e na s c a l in g f a c to r , 4 , th e A - s c a l in g p h a s e i s d e f i n e d a s t h e p e r i o d b e t w e e n c h a n g e s i n A .I n e a c h A - s c a l in g p h a s e , t he a lg o r i th n l c h o o s e s t h e d o w n w a r d a r c ( g , h ) w i th e f( h ) >1 Ja n d f ( g , h ) = 0 o r t h e u p w a r d a r c ( g , h ) w i t h e r (g ) >1 A a n d f ( g , h ) = u (g , h) a s al e a v i n g a rc . T h e a l g o r i t h m a t t e m p t s t o a u g m e n t _4 u n i t s o f f lo w f r o m s o m e n o d e v w i the f ( v ) >f "4 i n t o t h e r o o t b y p e r f o r m i n g d u a l s i m p l e x p i v o t s .

  • 8/4/2019 A New Simplex Algorithm

    7/18

    R.D. Armstrong, Z. Jin /M athem atical Programming 78 (1997) 131 -I48 1373 .1 . A r c e x c e s s a n d A - s t r o n g ly d u a l f e a s ib l e t r e e s

    T o e n s u r e e a c h f l o w a u g m e n t a t i o n w i ll a u g m e n t A u n it s o f f l o w i n t o t h e r o o t , O r l i n[ 9 ] a n d O d i n , P l o t k i n a n d T a r d o s [ 1 0 ] m a i n t a i n t h e p r o p e r t y t h a t t h e p s e u d o f l o w o n a na r c i s a m u l t i p l e o f A i n a n u n c a p a c i t a t e d n e t w o r k . W e w o r k d i r e c t l y w i t h t h ec a p a c i t a t e d n e t w o r k . I n o u r s c a l in g a l g o r i t h m , w e p u s h f l o w f r o m v t o p r e d ( v ) o n l y i fe / ( u ) 1> A a n d a s i t u a t i o n m a y e x i s t w h e r e i t i s p o s s i b l e t o p u s h a p o s i t i v e a m o u n t o ff l o w o v e r a n a rc , b u t n o t A u n i ts ; f o r e x a m p l e , A = 1 0, e : ( v ) = 1 0, e : ( w ) = 0 ,f ( v , w ) = 1 0, u ( v , w ) = 1 3, w h e r e w is t h e i m m e d i a t e p r e d e c e s s o r o f v , o n l y 3 u n i t s o ff l o w c a n b e p u s h e d f r o m v t o w a n d e : ( w ) = 3 a f t e r p u s h i n g 3 u n it s f r o m v t o w . S i n c ee : ( w ) = 3 < 10 , w e w i l l n o t p u s h f l o w f r o m w t o p r e d ( w ) , t h i s r e s u l t s i n w h a t i sr e f e r r e d t o a s a A - o b s t r u c t e d a u g m e n ta t i o n w h i c h w e w i l l d e f i n e l a t e r . T h e t o t a l p o s i t i v ee x c e s s m a y n o t c h a n g e i n a A - o b s t r u c t e d a u g m e n t a t i o n , b u t e x c e s s e s a r e r e d i s t r ib u t e d .T h e s i t u a t i o n w h e r e n o f l o w c a n b e p u s h e d o v e r a n a r c i s n o t a A - o b s t r u c t e da u g m e n t a t io n . T o e n s u r e a n O ( m ) b o u n d o n t he n u m b e r o f A - o b s t r u c t e d a u g m e n t a t io n si n e a c h A - s c a l i n g p h a s e , w e i n t r o d u c e t he c o n c e p t o f arc excess .

    L e t e ~ .( u, w ) d e n o t e t h e a r c e x c e s s a t n o d e v a c c u m u l a t e d w h e n l e s s t h a n A u n i t s o ff l o w i s p u s h e d f r o m u t o w . S i m i l a r l y , e~ ' ( v , w ) d e n o t e s t h e a r c e x c e s s a t n o d e w w h e nl e s s t h a n A u n i t s o f fl o w i s p u s h e d f r o m w t o v . A r c e x c e s s c a n c h a n g e d u r i n g aA - s c a l i n g p h a s e o n l y w h e n f l o w i s p u s h e d o v e r t h e ar c. A t th e b e g i n n i n g o f A - s c a l i n gp h a s e , t h e a r c e x c e s s e s a r e z e r o s . A t t h e e n d o f e a c h A - s c a l i n g p h a s e , w e t r a n s f e r a ll a rce x c e s s e s t o n o d e e x c e s s e s b y s e t t i n g ey(u ) ~ e l ( v ) + e. "f (v , w ) , e~ (v , w ) (--- 0 ande l (w ) ~ e : (w ) + e~ '( v , w ) , e ) ! ' (v , w ) ,- - 0 f o r a l l ( v , w ) E E .

    A f o r m a l d e s c r i p t i o n o f h o w e x c e s s e s a r e u p d a t e d w h e n f l o w i s p u s h e d o v e r a n a r cw i l l n o w b e g i v e n . In a A - s c a l i n g p h a s e , l e t v b e a n o d e w i t h e : ( u ) >1 A , w = p r e d ( v )a n d f l o w i s t o b e p u s h e d f r o m v t o w .

    C a s e 1: ( v , w ) i s a n u p w a r d a r c .se t e z ( V ) * - - e / ( v ) - A , 6 * - m i n { u ( v . w ) - f ( v , w ) , A}, f ( u , w ) ~ f ( u , w ) + 6 ,e : ( w ) (--- e f ( w ) + 3 ;i f 0 < 6 < _.4 th e n se t e~(v , w ) ~ A - 6 , e : (w ) ,- -- e f (w ) + e~ '(u, w ) , e} ' (u , w ) ( -- 0 ;

    C a s e 2 : ( w , v ) i s a d o w n w a r d a r c.s e t e y ( v ) ~ e : ( v ) - - A , 6 ~ m in {J '(w , v ), A }, J ( w , v ) ~ f ( w , u ) - - 6 , e f ( w ) ~e l ( w ) + 3 ;i f 0 < 6 < A t h e n s e t e}( w, u) ~ A - 3 , e .r(W ~ e /.( w ) + e}'( w , v ), e}'( w , v )

  • 8/4/2019 A New Simplex Algorithm

    8/18

    138 R.D. Armstrong, Z. Jin / Mathematical Programming 78 (1997) 131-148

    t h a n A u n i t s o f fl o w , i .e . , t5 p l u s t h e a r c e x c e s s t r a n s f e r r e d t o n o d e w i s l e s s t h a n z l. Kes (W) < z l , w e s a y t h a t a r c ( v , w ) o r (w, v) A-obstructs f l o w a u g m e n t a t i o n ; o t h e r w i s e ,t he a l g o r i t h m w i l l a t t e m p t t o c o n t i n u e p u s h i n g f l o w f r o m w t o t h e ro o t . N o t i c e t h a t a na r c m a y r e s t ri c t f l o w a n d n o t A - o b s t r u c t f l o w a u g m e n t a t i o n s i n c e e S ( w ) m a y b e p o s i t i v ep r i o r t o p u s h i n g f l o w a n d g r e a t e r t h a n z l a f t er th e p u s h . H o w e v e r , i f an a r c A - o b s t r u c t sf l o w a u g m e n t a t i o n , t h e n i t m u s t r e s tr ic t f l o w .L e m m a 2 . During a A-scaling phase, each arc can res tr ict f lo w at m ost twice.P r o o f . C o n s i d e r a n y a r c ( v , w ) , a s s u m e t h a t a r c ( v , w ) r e s t r i c t s f l o w f o r t h e f i r s t t i m ew h e n f l o w i s p u s h e d f r o m v to w ( th e a n a l y s is t h a t f l o w i s p u s h e d f r o m w t o v i ss i m i l a r ) . I m m e d i a t e l y a f t e r t h e f i r s t t i m e a r c ( v , w ) r e s t r i c t s f l o w , w e h a v e f ( v , w ) =u(v , w) , 0 < e~(v , w ) = A -- t5 < . .4 , an d e~(v , w) = O.A r c ( v , w ) c a n n o t re s t ri c t fl o w a g a i n , u n ti l f l o w i s p u s h e d f r o m w t o v a n d , b e f o r et h e p u s h , ( v , w ) h a s f l o w f ' ( v , w ) < A . A t t h is t i m e , u (v , w ) - f ' ( v , w ) i s a m u l t i p l e o fA b e c a u s e e a c h a u g m e n t a t i o n p u s h e s A u n i ts o f f l o w f r o m v t o w o r f r o m w t o v .T h u s , t h e s e c o n d t i m e ( v , w ) c a n r e s t r i c t f l o w , w e h a v e , a f t e r p u s h i n g f l o w , e} ' (v , w) =A - f ' ( v , w ) , e ~ ( v , w ) = 0 , a n d f ( v , w ) = O.

    T h e a r c e x c e s s e s f o r ( v , w ) r e m a i n u n c h a n g e d u n ti l A i s t o b e p u s h e d f r o m v t o wa n d , b e f o r e t h e p u s h , ( v , w ) h a s f l o w f " ( v , w ) w i t h u (v , w ) - f " ( v , w ) < A . A t th isp o i n t , s i n c e e a c h a u g m e n t a t i o n p u s h e s A u n i ts f r o m v t o w o r f r o m w t o v ,u (v , w ) - f " ( v , w ) = f ' ( v , w ) an d , a ft er p u sh i n g f lo w u ( v, w ) - f " ( v , w ) + e '] (v , w )= A u n i t s a r e t r a n s f e r r e d t o w , i .e ., n o d e w r e c e i v e s A u n i t s o f f l o w a n d a r c ( v , w )d o e s n o t r e s t r i c t f l o w a t t h i s t i m e . F u r t h e r . a f t e r p u s h i n g f l o w e~(v , w ) = A - - (u (v , w)- f " ( v , w ) ) = A - - f ' ( v , w ) , f ( v , w ) = u ( v , w ) a n d e~'(v, w ) -= 0 . H e n c e f o r t h , i n t h iss c a l i n g p h a s e , e i t h e r e~ (v, w ) = A - f ' ( v , w ) a n d e ~ ( v , w ) = 0 , o r e )~ (v , w ) = d -f ' ( v , w ) a n d e~(v, w ) = 0 . T h u s , a n y s u b s e q u e n t f l o w p u s h o v e r ( v , w ) w i l l t r an s f e re x a c t ly A u n i t s ; th a t i s , ( v , w ) w i l l n o t r e s tr i c t f l o w a g a i n i n t h i s s c a l i n g p h a s e . [ ]

    F r o m t he p r o o f o f L e m m a 2 , w e n o t e t ha t if . f( v , w ) = 0 o r f ( v , w ) = u ( v , w ) a t th eb e g i n n i n g o f a s c a l i n g p h a s e , t h e n a r c ( v . w ) c a n r e s t r i c t f l o w a t m o s t o n c e i n t h i ss c a l i n g p h a se . T h u s , e v e r y a r c w h i c h is n o n b a s i c a t t he b e g i n n i n g o f th e A - s c a l i n g p h a s ec a n r e s t r i c t f l o w a t m o s t o n c e i n t h e A - s c a l i n g p h a s e . H o w e v e r , t h i s f a c t d o e s n o tc h a n g e t h e c o m p l e x i t y a n a l y s is . L e m m a 2 i m p l i es t h a t e a c h a r c c a n A - o b s t r u c t f l o wa u g m e n t a t i o n a t m o s t t w i c e in t he B - s c a l i n g p h a s e.D e f i n i t i o n . G i v e n a p o s i t i v e s c a l i n g f a c t o r J . a d u a l f e a s i b l e t re e T i s c a l l e d aA-strongly dual feasib le (A-s .d . f . ) t r ee i t" f ( v . w ) + e f ( o , w ) + e f ( v ) > ~ A f o r e v e r yu p w a r d a r c ( v , w ) a n d u ( w , ~ ) - J ( w , c,} + e )'. (w , v ) + e s ( V ) >~ Z l f o r e v e r y d o w n w a r da r c ( w , v ) i n T .

    T h e a l g o r i t h m t o b e p r e s e n t e d in th i s s e c t i o n w i l l m a i n t a i n a A - s . d . f. t r ee . I n t h eA - s c a l i n g p h as e , o n l y th e d o w n w a r d a rc ( g . h ) w i th ej(h)>~ A a n d f ( g , h ) = 0 o r t he

  • 8/4/2019 A New Simplex Algorithm

    9/18

    R.D. Armstrong, Z. Jin / MathematicalProgramming 78 (1997) 131-148 139u p w a r d a r c ( g , h ) w i t h el(g) >1 A a n d f(g, h) = u(g, h) w i l l b e c h o s e n a s t h e l e a v i n ga r c. T h e A - s .d . f. t r ee a s s u r e s t h e f l o w c h a n g e p l u s t h e a r c e x c e s s o n e a c h i n c o m i n g a r cw i l l b e A .

    3.2. Relaxing arcsA c r u c i a l t e c h n i q u e u s e d i n s t r o n g l y p o l y n o m i a l a l g o r i t h m s i s r e l a x i n g a n ar c b o u n d

    c o n s t r a i n t . A n a r c i s relaxed i f t h e n o n n e g a t i v i t y o r c a p a c i t y r e s t ri c t io n o n t h e a r c f l o wi s r e m o v e d . I n t h e f i r s t c a s e , i t i s c a l l e d lower relaxed, i .e ., t h e l o w e r b o u n d c o n s t r a i n to f t h e a r c c a n b e r e l a x e d . I n t h e s e c o n d c a s e , i t i s c a l l e d upper relaxed, i . e . , t h e u p p e rb o u n d c o n s t r a i n t o f t h e a rc c a n b e r e la x e d . T h e l o w e r r e l a x a t i o n o f a rc ( v , w ) i s j u s t i fi e di f f(v, w) a t t h e b e g i n n i n g o f A - s c a l i n g p h a s e i s l a r g e e n o u g h t o g u a r a n t e e f( v, w) > 0i n e a c h s u b s e q u e n t s c a l in g p h a s e a n d t h e u p p e r r e l a x a t i o n i s j u s t i f ie d i f u(v, w) - f ( u , w)a t t h e b e g i n n i n g o f A - s c a l in g p h a s e i s l a rg e e n o u g h t o g u a r a n t e e u(v, w) - f ( v , w) > 0i n e a c h s u b s e q u e n t s c a l in g p h a s e . I f a n a r c is b o t h l o w e r a n d u p p e r r e l a x e d , i t m u s t b e ab a s i c a r c a n d it w i l l n o t A - o b s t r u c t f l o w a u g m e n t a t i o n .

    L e m m a 3 . Each relaxed arc can A-obstruct flow augmentation at most once in eachA-scaling phase.P r o o f . I f a r c ( u , w ) is u p p e r r e l a x e d t h e n it m a y A - o b s t r u c t f l o w a u g m e n t a t i o n w h e nf l o w is p u s h e d f r o m w t o v a n d f ( v , w ) < A . A f t e r p u s h i n g f l o w f r o m w t o u , 3 "(0 , w )g o e s t o ze r o . T h e r e a f t e r , f ( u , w ) w i l l b e a m u l t i p l e o f A s i n c e th e c a p a c i t y c o n s t r a in t o na r c ( u , w ) h a s b e e n r e m o v e d . S i m i l a r l y , i f ( u , w ) is l o w e r r e l a x e d , i t m a y A - o b s t r u c tf l o w a u g m e n t a t i o n w h e n f l o w is p u s h e d f r o m u to w a n d u(u, w) - f ( u , w ) < A . A f t e rp u s h i n g f l o w f r o m v to w, f(u, w) g o e s t o u ( v , w ) . T h e r e a f t e r , u(u, w) - f ( u , w) w i l lb e a n m l t i p l e o f A s i n c e t he n o n n e g a t i v i t y c o n s tr a i n t on ( v , w ) h a s b e e n r e m o v e d . [ ]

    L e m m a 4 . An arc that is both nonbasic and relaxed at the beginning of a A-scalingphase will not A-obstruct flow augmentation in the A-scaling phase.P r o o f . A s s u m e t h a t t h e n o n b a s i c a r c ( u , w ) a t t he b e g i n n i n g o f th e A - s c a l i n g p h a s e i s al o w e r r e l a x e d a r c , th e n f ( v , w ) = u ( u , w ) a t t h e b e g i n n i n g o f A - s c a l i n g p h a s e . T h e a r c( u , w ) d o e s n o t A - o b s t r u c t f l o w a u g m e n t a t i o n s i n c e a m u l t i p l e o f A c a n a l w a y s b ep u s h e d f r o m u to w o r w t o u . S i m i l a r l y , a n o n b a s i c u p p e r r e l a x e d a r c a t t h e b e g i n n i n go f th e A - s c a l i n g p h a s e d o e s n o t A - o b s t r u c t f l o w a u g m e n t a t i o n d u r i n g t h e A - s c a l in gp h a s e . [ ]

    I n o u r a l g o r i t h m , a n a rc ( v , w ) c a n b e l o w e r r e l a x e d i f JI, v, w)>~ 1 2 m A a n d i t c a n b eu p p e r r e l a x e d i f u(v, w) - f ( v , w) >11 2 m A a t t he b e g i n n i n g o f J - s c a l i n g p h a s e . T h ep r o o f t h a t t h e s e c o n d i t i o n s a r e s u f f i c i e n t t o r e l a x a n a r c w i ll b e g i v e n a f t e r th e a l g o r i t h mi s s t a t e d .

  • 8/4/2019 A New Simplex Algorithm

    10/18

    140 R.D. Arm strong, Z. Jin / M athemutical Programming 78 (1997 ) 131 -148I f a n a r c h a s b e e n r e l a x e d , e i t h e r u p p e r r e l a x e d o r lo w e r r e la x e d , t h e a l g o r i t h m w i l l

    n o t k e e p a r c e x c e s s f o r th i s a r c s in c e a n u p p e r ( l o w e r ) r e l a x e d a r c ( v , w ) w i l l n o t c r e a tea r c e x c e s s e } ( v , w ) ( e ' f ( v , w ) ) a n d a r c e x c e s s e ) ! ' ( v , w ) ( e ~ ( v , w ) ) w i l l n o t r e d u c e t h en u m b e r o f A - o b s t r u c t e d a u g m e n t a t io n s . A t t h e b e g i n n i n g o f e a c h A - s c a l i n g p h a s e , th ea l g o r i t h m w i l l c h e c k i f a n a r c c a n b e r e l a x e d . T h i s w i l l b e d o n e b y c a l l i n g t h e p r o c e d u r eR e l a x - A r c ( A , r e l a x ) .P r o c e d u r e R e l a x - A r c ( A , r e l a x ) ;begin

    . f or e a c h a r c ( v , w ) d obegini f f ( v , w ) >1 1 2 m A a n d ( v , w ) i s n o t l o w e r r e l a x e dt h e n l o w e r r e l a x ( v , w ) a n d s et r e l a x ~ - ] ;i f u ( v , w ) - f ( v , w )> 1 1 2 m A a n d ( v , w ) i s n o t u p p e r r e l a x e dt h e n u p p e r r e l a x ( v , w ) an d se t relax *-- 1

    e n d ;e n d .3 . 3 . A c t i v e a r c s a n d i n a c t i v e a r c s

    G i v e n t h e s c a l i n g f a c t o r A , i f u ( v , w ) > / A / 2 m t he n a rc ( v , w ) is c a ll e d a n a c t i v ear c ; o t he r wi s e , i t i s c a l l ed an i n a c t i v e a rc . T h e a l g o r i t h m w i l l n o t c o n s i d e r i n a c t i v e a rc s .N o t e t h a t as A d e c r e a s e s a l l ar c s w il l b e c o m e a c t i v e e v e n t u a l l y . S u p p o s e a r c ( v , w )b e c o m e s a c t i v e at t h e b e g i n n i n g o f a A - s c a l i n g p h a s e . I t is p o s s i b l e t h a t c : , ( v , w ) < 0a n d f ( v , w ) = 0 b e c a u s e t h i s ar c is in a c t i v e a n d n e v e r c o n s i d e r e d b e f o r e t h e A - s c a l i n gphas e . I n t h i s c a s e . s end u ( v , w ) un i t s o f f l ow f r om v t o w , i. e ., f ( v , w ) = u ( v , w ) . T h i sw i l l m a i n t a i n t h e d u a l fe a s i b i li t y a n d c o m p l e m e n t a r y s l a c k n e s s c o n d i t i o n s . I f a d e f i c i t i sc r e a t e d a t n o d e v , t h e n s e n d f l o w t o v t o r e m o v e t h i s d e f i c i t . W e w i l l s h o w t h a t f l o wc a n a l w a y s b e s e n t t o v t o r e m o v e t h e d e f i c it w i t h o u t c r e a t in g d e f i c i t s a t o t h e r n o d e s .T h e f o l l o w i n g p r o c e d u r e A d d - A r c ( T , A ) g i v e s a f o r m a l d e s c r i p t i o n .P r o c e d u r e A d d - A r c ( T , A ) ;begin

    f o r e a c h a c t i v e a r c ( v , w ) w i t h Cl,(V, w) < 0 and . / ' (v , w ) = 0 d obegins e n d u ( v . w ) u n it s o f f l o w f r o m v t o w ;w h i l e e l ( v ) < 0 a n d v i s n o t t h e r o o t n o d e d o

    s e nd - e . c ( v ) u n i t s o f f l o w f r o m p r e d ( v ) t o v and s e t v ~ p r e d ( v ) ;e n d :

    e n d .Le t A(__4) = { ( v , w ) : ( v , w) i s a c t i ve and n o t r el axed} . Th e a l go r i t hm wi l l s ca l e A by

    2 e a c h t i m e u n t i l a t l e a s t o n e a r c w h i c h h a s n o t b e e n l o w e r o r u p p e r r e l a x e d b e c o m e s

  • 8/4/2019 A New Simplex Algorithm

    11/18

    R.D. Armstrong. Z. Jin / Mathematical Programming 78 (1997) 131-148 141l o w e r o r u p p e r r e l a x e d a n d A ( , 4 ) = O . T h e n t h e s c a l i n g f a c t o r i s r e s e t to th e m a x i m u me x c e s s . E v e n t h o u g h a n u n r e l a x e d a r c is r e l a x e d , t h e a l g o r i t h m m a y c o n t i n u e t o r e d u c et h e s c a l i n g f a c t o r , 4 b y d i v i d i n g i t b y 2 . I t m a y b e p o s s i b l e t o r e l a x m o r e t h a n o n e a r cb e f o r e A i s r e s e t a n d i t w i l l b e s h o w n t h a t a n a c t i v e a r c c an b e r e l a x e d a f t e r O ( l o g n )s c a l i n g p h a s e s .3 .4 . B loc k p i v o t s and push ing f l ow

    T h e b l o c k p i v o t d e s c r i b e d i n t h e p r e v i o u s s e c t i o n c a n b e u s e d w i t h t h e s c a li n ga l g o r i t h m a s f o l l o w s . G i v e n a A - s . d .f . tr e e T , l et ( g , h ) b e a l e a v i n g a r c . T h e a l g o r i t h mw i ll u p d a t e t h e tr e e a n d d u a l v a r i a b l e s u s i n g a b l o c k p i v o t i f e i t h e r a n a r c A - o b s t r u c t sf l o w a u g m e n t a t i o n o r A u n it s o f f l o w c a n b e p u s h e d i n to t h e r o o t . T h e f i r st c a s e i sc a l l e d a n abnormal b loc k p i v o t a n d t h e s e c o n d c a s e i s c a l l e d a normal b loc k p i v o t . T h ef o l l o w i n g d e s c r i b e s h o w w e c a n d e t e c t , b e f o r e p e r f o r m i n g a p i v o t , ( i ) a n o m a a l b l o c kp i v o t , ( ii ) an a b n o r m a l b l o c k p i v o t o r (i ii ) th e i n s t a n c e w h e n n o f l o w c a n b e s e n t t o th er o o t a n d a n e w l e a v i n g a r c is f o u n d . L e t ( p , q ) b e t h e e n t e r i n g a r c . B e c a u s e T i s aA - s . d . f. t r e e , i t c a n b e s h o w n t h a t a p i v o t a n d f l o w u p d a t e w o u l d r e s u l t i n a t le a s t Au n i ts o f f l o w b e i n g a v a i l a b l e t o s e n d o v e r ( p , q ) .

    F i rs t , w e c h e c k a r c ( p , q ) . I f p ~ T N a n d e i ( q ) + e ~ / ( p , q ) + u ( p , q ) < A , o rq ~ T N an d e j ( p ) + e } ' ( p , q ) + u ( p , q ) < A , a r c ( p , q ) w i ll A - o b s t r u c t f lo w a u g m e n -t a t io n . I n t h is c a s e , u p d a t e t h e tr e e a n d d u a l v a r i a b l e s u s i n g a b l o c k p i v o t , t h i s is a na b n o r m a l b l o c k p i v o t .

    S e c o n d , w e c h e c k a r c s w h e r e f l o w w o u l d b e u p d a t e d i f A u n i t s i s p u s h e d o v e r( p , q ) . F o l l o w i n g t h e p r e d e c e s s o r p a t h f r o m q t o t h e ro o t i f p E T N o r p t o t h e r o o t ifq ~ T N ( s e e F i g . 1 ) , f i n d t h e f i r s t a r c ( v , w ) w i t h e f ( w ) + e } ' ( v , w ) + u ( v , w ) -

    (/

    . . ' " . . . . . . . ( ~ ) . . ro.ot .

    f (p ,q )= O . ~ N. . . ' "

    . . . . . . . . . . - - "

    Fig. l. Dua l simplex pivot in a block pivot.

  • 8/4/2019 A New Simplex Algorithm

    12/18

    142 R.D. Armstrong, Z. Jin / Mathematical Programming 78 (1997) 131-148

    f ( v , w ) < A i f ( v , w ) is a n u p w a r d a r c o r e y ( v ) + e ~ ( v , w ) + f ( v , w ) < A i f ( v , w ) is ad o w n w a r d a r c. I f n o s u c h a r c e x i s ts ( ' 4 u n i t s o f f l o w c a n b e p u s h e d t o t h e r o o t ) , t h e nu p d a t e t h e t r e e an d d u a l v a r i a b l e s u s i n g a b l o c k p i v o t ( t h is i s a n o r m a l b l o c k p i v o t ) ;o t h e r w i s e , l e t ( v , w ) b e s u ch a n a r c . N o t e t h a t A u ni t s o f f l o w c a n b e p u s h e d i n to w i f( v , w ) i s a d o w n w a r d a r c o r v i f ( v , w ) is a n u p w a r d a r c s i n c e ( v , w ) i s t h e fi r s t a r cw h i c h c a n A - o b s t r u c t f l o w a u g m e n t a t i o n o n t h e p r e d e c e s s o r p a t h f r o m p ( o r q ) t o t h er o o t . I f f ( v , w ) = 0 a n d ( v , w ) is a d o w n w a r d a r c o f f ( v , w ) = u ( v , w ) a nd ( v , w ) i s a nu p w a r d a r c , t h e n ( v , w ) i s t h e n e x t l e a v i n g a r c ; o t h e r w i s e , u p d a t e t h e t r e e a n d d u a lv a r i a b l e s u s i n g a b l o c k p i v o t (t h is i s a n a b n o r m a l b l o c k p i v o t a n d a r c ( v , w ) w i ll, 4 - o b s t r u c t f l o w a u ~ n e n t a t i o n ) .

    A f t e r u p d a t i n g t h e t r e e a n d d u a l v a r i a b l e s u s i n g a b l o c k p i v o t , t h e a l g o r i t h m a t t e m p t st o p u s h ,4 u n i t s o f f l o w f r o m g i f u ( g , h ) = f ( g , h ) o r f r o m h i f f ( g , h ) = 0 , w h e re( g , h ) i s th e f ir s t l e a v i n g a r c i n a b l o c k p i v o t . T h i s c a n b e d o n e b y c a l l in g a p r o c e d u r eP u s h - , 4 - F l o w ( T , A , n o d e ) . P r o c e d u r e P u s h - A - F l o w a t t e m p t s t o p u s h ,4 u n i t s o f f l o wf r o m n o d e t o th e ro o t . T h e f o l l o w i n g i s t h e p r o c e d u r e P u s h - ' 4 - F l o w . N o t e t h a t a r ce x c e s s e s w i l l b e a c c u m u l a t e d f o r u n r e l a x e d a r c s a n d w i l l n o t b e a c c u m u l a t e d f o r r e l a x e darCS.

    P r o c e d u r e P u s h -A - F l o w ( T , A , n o d e ) ;b e g i n

    s e t v ~ n o d e ;w h i l e e f( v) >~ ,4 d ob e g i n

    l e t w = p r e d ( v ) ;i f ( w , v ) is a d o w n w a r d a rc t h e nb e g i n

    c o m p u t e 6 ~ m i n { f ( w , v ) , ,4 };s e t e l ( v ) ~ e f ( v ) - 6 , f ( w , v ) , : - f ( w , v ) - 6 , e l ( w ) ~ e l ( w ) + 6 ;i f ( w , v ) i s n o t r e l a x e d a n d 0 < 6 < , 4 t h e nb e g i ns e t e r (v ) *-- e y (v ) - , 4 + 6 , e . r (w , v ) ~ A - - 6 ;

    s e t e y ( w ) ~ e i ( w ) + e ~ '( v , w ) , e ~ ( v , w ) ~ 0 ;e n d ;

    e n d ;i f ( v , w ) is a n u p w a r d a r c t h e nb e g i n

    c o m p u t e 6 ~ m i n { u ( v , w ) - f ( v , w ) , '4};s e t e.r(V ) ~ e f ( v ) - 6 , f ( v , w ) ~ f ( v , w ) + 6 , e t ( w ) ~ e r ( W ) + 6 ;i f ( v , w ) i s n o t r e l a x e d a n d 0 < 6 < , 4 t h e nb e g i n

    s e t e l ( v ) ~ e i ( v ) - ,4 + 6 , e ~ ( v , w ) ,- - _1 - ~ :s e t e f ( w ) ~ e y ( W ) + e ~ '( o, w ) , e ~ ( v , w ) ~ 0 ;

    e n d ;

  • 8/4/2019 A New Simplex Algorithm

    13/18

    R.D. Armstrong. Z, Jin / Mathematical Programming 78 (1997) 131-148 143

    end;s e t v , - w ;

    e n d ;end.3 .5 . The a lgor i thmS t r o n g l y p o l y n o m i a l d u a l n e t w o r k s im p l e x a l g o r i t h mStep O. Initil ization

    D e f i n e T = {(0 , o) : v ~ V} and s e t A ~- U ;S e t p ( v ) ~ - O , f ( O , v ) ~ - - b ( v ) i f b(v) O f o r a llv E V ;S e t e~(v, w) ~- O, e~ ' ( v , w ) ,,--- 0 f o r a l l ( v , w) ~ E ;

    Step 1 . Def ine the sca ling fac torS e t A' *-- A /2 ;Repeat

    C a l l P u s h - F l o w ( T ) ;Se t A , -- m a x ( e f ( v ) : v E V} and A , ,- - r a in{ '4 ' , A};C a ll A d d - A r c ( T , A ) ;

    u n t i l n o a r c i s a c t i v a t e d i n A d d - A r c .I f A = 0 a n d t h e n S T O P ( t h e c u r r e n t s o l u t io n i s o p t i m a l ) ;S e t r e la x ~ - 0 ;S tep 2 . D u a l s im p lex p i vo tW h i l e t h e r e e x i s ts a n o d e g w i t h e d ( g ) > / ,4 d ob e g i n

    Le t h = p r e d ( g ) ;I f ( h , g ) i s a d o w n w a r d a r c w i th f ( g , h ) - - 0 o r ( g , h ) is a n u p w a r d a r c w it h. f ( g , h ) = u ( g , h ) t h e n p e r f o r m a b l o c k p i v o t a s d e sc r i b e d b e f o r e ;C a l l P u s h - A - F l o w ( T , , 4 , g ) ;

    end;Step 3 . Next scal ing phase

    F o r e a c h a r c ( v , w ) ~ E dob e g i n

    S e t e f ( v ) < --- e i ( v ) + e l ( v , w ) , e y ( v , w ) ~ O . e r ( W ) ~ e s ( w ) +e ' t ! ( v , w) , e} ' ( v , w)*-0;

    e n d ;I f A ( , 4 ) = 0 a n d re lax = 1 t h e n g o t o S t e p I ;S e t ,4 ~ - A / 2 ;C a l l R e l a x - A r c ( '4, relax);C a l l A d d - A r c ( T , A ) ;

    G o t o S t e p 2 ;T h e r e m a i n d e r o f t h is s e c t i o n v e r i f i e s th e c o r r e c t n e s s o f t h e a l g o r i th m . T h e c o m p l e x -

    i t y i s s ues wi l l be add r e s s ed i n t he nex t s ec t i on . An iteration s t a r t s wi t h each S t ep 2 .

  • 8/4/2019 A New Simplex Algorithm

    14/18

    144 R.D. Armstrong. Z. Jin / Mathematical Programming 78 (1997) 131-148

    L e m m a 5 . L e t A k b e t h e s c a l i n g f a c t o r in S t e p 2 o f t h e k - th i t er a t i o n a n d A k+ i b e t h esc a l ing fa c to r in S t e p 2 o f t he ( k + l ) - th i t e ra tion , t he n A k +l _, A f o r e v e r y u p w a r d a r c( v , w ) a n d u ( v , w ) - f ( v , w ) + e V'(v, w ) + e r(w )> _. A f o r e v e r y d o w n w a r d a r c (v , w )o n th e p r o c e s s o r p a th o f n o d e g t o t h e r o o t s i n c e e ! ( g ) > / . . 6 b e f o r e e x e c u t i o n o fP u s h - A - F l o w ; t h u s , e v e r y a r c o n t h e p r o c e s s o r p a t h o f g t o t h e r o o t i s A - s .d . f. F o r e v e r ya r c w h i c h is n o t o n t h i s p r e d e c e s s o r p a t h o f g , i f i t c h a n g e s i ts d i r e c t io n b e c a u s e o fb l o c k p i v o t , i . e . , u p w a r d a r c b e c o m e s d o w n w a r d a r c a n d v i c e v e r s a , t h e n i t i s s t i l lA - s . d. f. s i n c e t h i s p r o p e r t y w a s v e r i f i e d d u r i n g a b l o c k p i v o t ; o t h e r w i s e , it i s s ti llA- s .d . f . s in c e i t i s A- s .d . f . b e f o r e a b lo c k p iv o t .N e x t , w e s h o w t h a t a , A -s.d .f. t r e e is m a i n t a i n e d w h e n t h e a l g o r i t h m g o e s f r o m S t e p 1o r S t e p 3 t o S t e p 2 . L e t z l k b e th e s c a l i n g f a c t o r a t th e e n d o f S t e p 2 o f t h e k-th i t e r a t io na n d ~ k + ~ b e t h e s c a l i n g f a c t o r a t th e b e g i n n i n g o f S t ep 2 o f t h e (k + 1)- th i t e r a t io n ,then ._4k+~ ~< A ~ / 2 ( L e m m a 5 ). I f t h e a l g o r it h m g o e s f r o m S t e p 1 o r S te p 3 t o S t e p 2 ,t h e n t h e p r o c e d u r e A d d - A r c m a y b e c a l l e d s e v e r a l t i m e s i n S t e p 1 o r o n c e i n S t e p 3 .Th i s w i l l n o t d e s t r o y th e A ~ + ~ -s .d .f . t r e e s t r u c tu r e s in c e th e to ta l a m o u n t o f f lo w p u s h e df r o m th e r o o t i s l e s s th a n m A k / 2 n z = A k / 2 a n d t h e tr e e is A k - s .d . f. a t t h e e n d o f S t e p 2th e k- th i t e ra t i o n . T h i s a l s o p r o v e s t h a t t h e a l g o r i t h m n e v e r c r e a t e s a d e f i c it w h e n a n a r cb e c o m e s a c t i v e .

    L a s t l y , r e m o v i n g a r c e x c e s s f r o m a n a r c ( v , w ) w i l l n o t d e s t r o y t h e / d - s . d . f . t r e es t r u c tu r e s i n c e f ( v , w ) + e .~ (v , w ) + e . r ( v ) d o e s n o t c h a n g e i f ( v , w ) i s u p w a r d a r c a n du (v . w ) - f ( v , w ) + e } ' ( v , w ) + e l (w ) d o e s n o t c h a n g e i f ( v , w ) is a d o w n w a r d a rc .[ ]L e m m a 7. In S tep 2 , i r a l e a v i n g a r c i s f o u n d , t h e n a n e n t e r i n g a r c c a n a l w a y s b ef o u n d b y c o n s i d e r i n g o n l y a c t iv e a r c s i f t h e o r i g i n a l p r o b l e m i s f e a s i b l e .P r o o f . L e t ( v , w ) b e a l e a v i n g a r c w i t h w = p r e d ( v ) , e l ( v ) >1 ~ a n d f ( v , w ) = u ( v , w ) .L e t T ( v ) b e t h e s u b t r e e r o o t e d a t n o d e v . S i n c e t h e s u m o f c a p a c i t i e s f o r all i nac t i v ea r c s is s t r ic t l y le s s t h a n m A / 2 m = A / 2 , t h e re is a t l e a st o n e a c t i v e a r c l e a v i n g T ( v )w i t h z e r o f l o w o r e n t e r i n g T ( v ) w i t h f l o w a t i ts c a p a c i t y . T h v s . a n e n t e r i n g a r c c a na l w a y s b e f o u n d i f t h e o r i g i n a l p r o b l e m i s f e a s i b le . [ ]

  • 8/4/2019 A New Simplex Algorithm

    15/18

    R.D. Armstrong, Z . J in / Ma thema tical Programming 78 (1997) 13 1-1 48 145

    L e m m a 8 . Each t ime the a lgor ithm goe s f ro m S tep 1 to S tep 2 , a leaving arc exis ts .P r o o f . I n S t ep 1 , a f te r t h e p r o c e d u r e P u s h - F l o w i s c a l l ed , e i t he r ey.(v) = 0 fo r a l l v E V,o r t h e re i s an u p w a r d a r c ( g , h ) w i t h e y ( g ) >~ ,4 a n d f ( g , h ) = u ( g , h ) o r d o w n w a r da r c ( h , g ) w i th ey(g) >>.,4 a n d f ( h , g ) = 0 , w h e r e A = m a x , ~ v e f ( v ) > 0 . I f n o a r c i sac t i va t ed i n ca l l i ng A d d - A r c , t h e n t h is a r c ( g , h ) o r ( h , g ) i s a l e a v i n g a r c i n S t e p 2 ;o t h e r w i s e , A d d - A r c is c a l l e d a t m o s t m t i m e s i n S t e p 1 s i n c e e a c h t i m e a t l e a s t o n e a r ci s a c t i va t ed . [ ]

    4 . C o m p l e x i t y a n a l y s i s

    W e b e g i n t he c o m p l e x i t y a n a l y s i s o f th e s c a li n g a l g o r it h m b y d e m o n s t r a t i n g t h a t th ec o n d i t i o n s u s e d t o r e l a x a n a r c a r e v a l i d . F i r s t , w e l i m i t t h e t o t a l e x c e s s i n t h e n e t w o r k a tt h e b e g i n n i n g o f e v e r y s c a l i n g p h a s e . T h i s a l lo w s u s t o li m i t t h e f lo w c h a n g e o n a n y a r cd u r i n g a A - s c a l i n g p h a s e a n d , i n t u rn , a l l o w s u s t o l im i t t h e t o ta l f lo w o v e r a n a r c in t h er e m a i n d e r o f t h e a l g o r it h m .L e m m a 9 . A t t h e b e g i n n i n g o f S t e p 2 , the to ta l pos i t ive excess is less than ( 2 m + 2 n +1 ) A , where A i s the sca l ing fac t or a t the beg inn ing o f S tep 2 .P r o o f , E a c h t i m e t he a l g o r it h m g o e s f ro m S t e p 3 t o S t e p 2, A = A ' / 2 , w h e r e A ' i s th es c a li n g f a c to r in S t e p 2 o f p r e v i o u s i te r at io n . F r o m L e m m a 2 a n d e l ( v ) < A ' a t th e e n do f S t e p 2 o f p r e v i o u s i t e r a t io n , t h e t o t a l p o s i t i v e e x c e s s i s l e s s th a n ( m + n ) A ' a t t h e e n do f S t e p 2 o f p r e v i o u s i t e ra t io n . C a l l i n g A d d - A r c i n S t e p 3 c a n n o t c r e a t e e x c e s s m o r et h a n A ' / 2 . T h u s , a t th e b e ~ u n i n g o f S t e p 2 o f t h e c u r r e n t i te r a ti o n , t h e to t a l p o s i t i v ee x c e s s is l es s t h a n ( m + n + 1 / 2 ) A ' = ( 2 m + 2 n + 1 )A .

    E a c h t im e t he a l g o r i t h m g o e s f r o m S t e p 1 t o S t e p 2 , e it h e r A = A ' / 2 o r " 4 =maxL,~ v er (u ) . I n th e f o r m e r c a s e , th e l e m m a i s p r o v e d a s a b o v e . I n th e l a tt e r c a s e , t h et o ta l pos i t i ve exc es s i s l e s s t han nA . [ ]L e m m a 1 0 . T h e t o ta l a m o u n t o f f l o w p u s h e d o v e r a n y a r c d u r i n g a A - s c a l in g p h a s e i sless" than 6m A.P r o o f . D u r i n g a A - s c a l i n g p h a s e , t he a m o u n t o f f l o w p u s h e d o v e r a n y a r c d u e t o c a l li n gA d d - A r c is a t m o s t A / 2 . A f t e r e a c h c a ll o f P u s h - A - F l o w , e i t h e r A u n i t s o f f l o w isp u s h e d i n to t h e r o o t, o r s o m e a r c A - o b s t r u c t s f l o w a u g m e n t a t i o n , o r a l e a v i n g a r c i sf o u n d . B u t i f a l e a v i n g a r c i s f o u n d , i t i s a l w a y s f o l l o w e d b y a b l o c k p i v o t w h e r e e i t h e rt h e to ta l e x c e s s i s r e d u c e d b y A u n i t s ( n o r m a l b l o c k p i v o t ) o r a A - o b s t r u c t e d f l o wa u g m e n t a t io n o c c u r s ( a b n o r m a l b l o c k p i v o t) . F r o m L e m m a 9 , t he n u m b e r o f n o r m a lb l o c k p i v o ts i s l es s th a n 2 m + 2 n + 1. F r o m L e m m a 2 an d L e m m a 3 , e a ch u n r e l a x e da r c c a n ' - . 4 - o b s t r u c t f l o w a u g m e n t a t i o n a t m o s t t w i c e a n d e a c h r e l a x e d a r c c a n A - o b s t r u c tf l o w a u g m e n t a t i o n a t m o s t o n c e ; t h u s , t h e n u m b e r o f A - o b s t r u c t e d f l o w a u g m e n t a t i o n s

  • 8/4/2019 A New Simplex Algorithm

    16/18

    146 R.D. Armstrong, Z. Jin / Mathematical Programming 78 (1997) 131-148

    i s l e ss t h a n m + r ~, w h e r e rh i s t h e n u m b e r o f u n r e l a x e d a r cs . H e n c e , t h e t o t al a m o u n t o ff l o w p u s h e d o v e r a n y a r c is l e s s t h a n ( 1 / 2 + 2 m + 2 n + 1 + m + r h ) A < 6 m A . [ ]L e m m a 1 1 . l f f ( v , w ) > 1 1 2 m A o r u ( v , w ) - f ( v , w )> ~ 1 2 m _ 4 a t t h e b e g in n i n g o f s o m es c a li n g p h a s e , t h en f ( v , w ) > 0 o r u ( v , w ) - f ( v , w ) > 0 in a l l s u b s e q u e n t s c a l in gp h a s e s , i . e . , a r c ( v , w ) c a n b e l o w e r o r u p p e r r e la x e d .P r o o f . W e o n l y p r o v e t h is fo r t h e ca s e f ( v , w ) >/ 1 2 m A . T h e c a s e u ( v , w ) - f ( v , w ) >11 2 m A c a n b e p r o v e d s i m i l a r l y .

    A s s u m e t h at f ( v , w ) >~ 1 2 m A a t t h e b e g i n n i n g o f t h e ~ t -s ca l in g p h a se . F r o m L e m m a1 0 a n d L e m m a 4 , th e t o ta l a m o u n t o f f l o w p u s h e d f r o m w t o v i n a ll s u b s e q u e n t s c a l i n gp h a s e s i s l e ss t h an 6 m ( 1 + 1 / 2 + 1 / 4 + - ) A ~< 1 2 m A . T h e l e m m a f o l l o w s . [ ]

    T h e f o l l o w i n g t w o l e m m a s p l a c e a n u p p e r b o u n d o n t h e n u m b e r o f s c al in g p h a s e sb e f o r e a n a r c c a n b e r e l a x e d . O n c e a n a r c i s r e l a x e d , i t w i l l n o t a c c u m u l a t e a r c e x c e s sa n d c a n o n l y - 4 - o b s t ru c t f l o w a u g m e n t a t i o n i f i t i s b a s i c ( L e m m a 4 ). A l s o , th e r e w i l l b ef e w e r t h a n m + n r e la x a t i o n s b e c a u s e o n c e a n a r c is b o th u p p e r a n d l o w e r r e l a x e d i tm u s t b e b a s i c .

    L e m m a 12 . I f a l e a v i n g a r c i s f o u n d i n S te p 2 , t h e n a f t e r a t m o s t O ( l o g n ) s c a l i n gp h a s e s , a t l e a s t o n e a r c w h i c h i s n o t l o w e r o r u p p e r r e l a x e d w i l l b e l o w e r o r u p p e rr e l a x e d .P r o o f . S u p p o s e ( g , h ) is a l e a v i n g a rc in S t ep 2 w i th h = p r e d ( g ) , f ( g , h ) = u ( g , h )a n d e f ( g ) >! -4 o . L e t T b e t h e c o r r e s p o n d i n g t r e e a n d T ( g ) b e t h e s u b t r e e r o o t e d a t n o d eg a t t h e t i m e ( g , h ) i s t h e l e a v i n g a r c . T h e n t h e t o t a l e x c e s s f o r a l l n o d e s a n d a r c s i nT ( g ) i s g r e a t e r t h a n o r e q u a l t o za . L e t A ~, -4 2 . . . . A L b e t h e s c a l i n g f a c t o r s f o r t h es u b s e q u e n t s c a l i n g p h a s e s . A t t h e b e g i n n i n g o f A L - s c a l i n g p h a s e , t h e t o ta l e x c e s s f o r a lln o d e s a n d a r c s i s s t r i c tl y l e s s t h a n ( m + n ) 2 -4 L, w h i c h m e a n s a t l e a st -4 0 _ ( m + n ) 2 z~ Lu n i ts o f f l o w a r e p u s h e d o u t o f T ( g ) . T h u s , a t l e a s t o n e a r c ( v , w ) o u t o f T ( g ) w i t hf l o w z e r o o r i n t o T ( g ) w i t h f l o w u ( v , w ) a t th e t im e ( g , h ) l e a v e s t h e t r e e n o w h a sf ( v , w ) >1 ( _4 0 _ ( m + n ) 2 A L ) / m o r u ( v , w ) - - J ~ v , w ) >~ (_ 40 _ ( m + n ) 2 A L ) / m .T h u s , f ( v , w )> ~ 1 2 m A L o r u ( v , w ) - - f ( v , w )> _- 1 2 m - 4 L i f L = O ( I o g n ) s i n c e A =2L_4L . I n t h e f i rs t c a s e , i t w i l l b e l o w e r r e l a x e d , b u t i t w a s n o t l o w e r r e l a x e d b e f o r e s i n c ei t h a d f l o w z e r o a t t h e t i m e ( g , h ) w a s t h e l e a v i n g a r c . S i m i l a r l y , i n t h e s e c o n d c a s e , ( v ,w ) w i l l b e u p p e r r e l a x e d . [ ]

    L e m m a 1 3 . / f ( v , w ) E A ( A ) , t h e n w i t h i n O ( l o g n ) s c a l i n g p h a s e s ' , ( v , w ) i s r e laxed .P r o o f . L e t 3 0 b e th e f ir st s c a li n g f a c t o r w i t h ( v , w ) ~ A ( A ) , t h en u ( v , w ) > / ' A / 2 m .L e t _4 I. ,5 2 . . . . . -4 L b e t h e s u b s e q u e n t s c a l i n g p h a s e s . S i n c e f ( v , w ) + u ( v , w ) -

    f ( v , w ) = u ( v , w ) >1 A / 2 m = 2 L -4 L / 2 m , a t l e a s t o n e o f f ( v , w ) a n d u ( v , w ) - f ( v , w )

  • 8/4/2019 A New Simplex Algorithm

    17/18

    R.D . Ar m s t r ong , Z . J in / Ma them at ica l Pr ogr am m ing 78 (1997) 1 31 -1 48 147

    i s g r e a t e r t ha n o r e q u a l t o 2 ~ L / ( 4 m ) > i 1 2 m A L i f L = O ( l o g m ) = O ( l o g n ). S u c h a narc w i l l be r e laxed a t the beg in n ing o f the zaL-sca l ing phase . [ ]

    F r o m L e m m a 1 2 a n d L e m m a 1 3, w i th i n O ( l o g n ) s c a l in g p h a s e s, a t l e a s t o n e a r c isr e l a xe d . W e n e x t c o n s id e r t h e t o t a l n u m b e r o f b lo c k p iv o t s t o b e p e r f o r m e d b y t h ea lg o r i t h m .L e m m a 1 4 . T h e r e a r e a t m o s t O ( n m lo g n) abno r m a l b l oc k p i v o t s i n t he a lgor i thm .P r o o f . E v e r y a b n o r m a l b l o c k p i v o t c o r r e s p o n d s t o a A - o b s t r u c t e d f l o w a u g m e n t a t i o n .W e s e p a r a t e t h e A - o b s t r u c t e d f l o w a u g m e n ta t i o n i n to t h o s e o n a r c s w h ic h a r e b a s i c a tt he b e g in n in g o f a s c a li n g p h a s e a n d t h o s e o n a r c s w h ic h a r e n o n b a s i c a t t h e b e g in n in go f a s c a li n g p h a s e . W i th in O ( lo g n ) s c a l i n g p h a s e s a t l e a s t o n e a r c i s re l a x e d . T h u s , t h eto ta l n u m b e r o f sc a l i n g p h a s e s is O ( m lo g n ) . T h e t o ta l n u m b e r o f A - o b s t r u c t e d f l o wa u g m e n ta t i o n s o n a r c s w h ic h a r e b a s i c a t th e b e g in n in g o f a s c a l i n g p h a s e i s O ( n m log n )s in c e t h i s c a n h a p p e n a t m o s t O ( n ) t im e s i n e a c h s c a l i n g p h a s e . A r e l a x e d a n d n o n b a s i ca r c w i l l n o t A - o b s t ru c t f l o w a u g m e n ta t i o n ( L e m m a 4) . F u r th e r, b y L e m m a 1 3 , a n d a na rc w i ll r e m a in a c t i v e a n d u n r e l a x e d f o r a t m o s t O ( lo g n ) s c a l i n g p h a s e s . T h u s , t h e t o ta ln u m b e r o f A - o b s t r u c t e d f l o w a u g m e n ta t i o n s f r o m a r c s w h ic h a r e n o n b a s i c a t t h eb e g in n in g o f a A - s c a l i n g p h a s e i s O ( m lo g n ) . [ ]

    N e x t , w e w i l l c o n s id e r t h e t o ta l n u m b e r o f n o r m a l b lo c k p iv o t s .L e m m a 1 5 . T h e r e ar e a t m o s t O ( m n lo g n) nor m a l b l oc k p i v o t s i n t he a lgor i thm .P r o o f . E v e r y n o r m a l b lo c k p iv o t r e m o v e s A u n i t s o f e x c e s s f r o m the n e tw o r k ; t h u s , a sp r e v io u s ly n o t e d , t h e n u m b e r o f n o r m a l b lo c k p iv o t s i n a A - s c a l in g p h a s e i s n o m o r ethan the num ber o f J un i t s o f tota l exc ess in the ne tw ork a t the beg inn ing o f the sca l ingphase . We separa te th i s to ta l excess in to the excess con t r ibu ted f rom node excess a t thee n d o f t h e p r e v io u s s c a l in g p h a s e a n d t h e e x c e s s c o n t r i b u t e d f r o m a r c e x c e s s a t t h e e n do f t he p r e v io u s s c a l in g p h a s e . T h e r e a r e O ( m lo g n ) s c a l i n g p h a s e s i n t he a lg o r i t h m ;h e n c e , d u r in g t h e a lg o r it h m , t h e t o ta l n u m b e r o f A u n i t s o f e x c e s s c o n t r i b u t e d b y t h en o d e e x c e s s f r o m th e p r e v io u s s c a l i n g p h a s e i s O ( n m log n ) . A r e laxed a rc w i l l no th a v e a r c e x c e s s a n d , b y L e m m a 1 3 , a n a r c w i l l r e m a in a c t i v e a n d u n r e l a x e d f o r a t m o s tO( lo g n ) sca l ing phases . Thus , du r ing the a lgo r i thm , the to ta l num be r o f ,4 un i t s o fe x c e s s c o n tr i b u te d b y a r c e x c e s s f r o m th e p r e v io u s s c a l in g p h a s e i s O ( m lo g n ). [ ]

    F r o m L e m m a 1 4 a n d L e m m a 1 5 , w e h a v e t h e f o l l o w i n g t h e o r e m .T h e o r e m . The com plex i t y o[" the a lgor i thm i s O (m n (m + n log n) log n) .

    T h e c o m p le x i t y o f t he s c a l i n g n e tw o r k d u a l s im p le x a lg o r i t h m p r o p o s e d b y O r l in ,P lo tk in a n d T a r d o s [1 0] in O ( m ~ ' ( m + n l o g n ) l o g n ) f o r c a p a c i t a t e d p r o b l e m . T h e

  • 8/4/2019 A New Simplex Algorithm

    18/18

    148 R.D. Arms tr ong , Z . J i n / M a them at ica l Pr ogr amming 78 (1997) 131 -148

    a l g o r i t h m p r e s e n t e d h e r e h a s t h e b e s t c o m p l e x i t y o f a n e t w o r k s i m p l e x a l g o r i t h m . O u ra l g o r i th m d o e s n o t r e qu i re t h e f l o w o n e a c h a r c t o b e a m u l t i p l e o f t h e s c a l i n g f a c t or .I n s t e a d w e a l l o w a b n o r m a l b l o c k p i v o t s a n d u s e a r c e x c e s s e s t o l i m i t t h e n u m b e r o fa b n o r m a l b l o c k p i v o t s .

    T h e s c a l i n g m e t h o d c a n b e m o d i f i e d t o w o r k w i t h a ll i n t e g e r v a l u e s i f t h e o r ig i n a lu(v, w) a n d b(v ) a r e in t e g e r s . T h e s c a l i n g f a c t o r w i l l b e s e t t o t h e s m a l l e s t i n t e g e rg r ea t er t h a n o r e q u a l t o A / 2 e a c h t i m e i t is a d ju s t ed i n S t e p 3 . T h e u p p e r b o u n d o n t h en u m b e r o f b l o c k p i v o t s r e m a i n s u n c h a n g e d . F u r t he r , t h e n u m b e r o f s c a l i n g p h a s e sb e f o r e a n a r c i s r e l a x ed i s O ( l o g n ) . T h e c o m p l e x i t y o f th e a l g o r i t h m s r e m a i n s t h e s a m ew h e n w o r k i n g w i t h a l l i n t e g e r v a l u e s .

    A c k n o w l e d g e m e n t sT h e a u t h o r s w o u l d l ik e t o t h a n k t h r e e a n o n y m o u s r e f e r e e s f o r in s i g h tf u l a n d u s e f u l

    c o m m e n t s t h a t l e a d t o s i g n i f i c a n t i m p r o v e m e n t i n t h e o r i g i n a l v e r s i o n o f t h i s p a p e r .

    R e f e r e n c e s[ I ] R . K . A h u j a , T . L . M a g n a n t i a n d J .B . O r l i n , Netw ork Flows: Theory, Algori thms , and Appl icat ions

    ( P r e n t i c e - H a l l , E n g l e w o o d C l i f fs , N J , 1 9 93 ).[ 2 ] R . D . A r m s t r o n g a n d Z . J i n . S o l v i n g l i n e a r b o t t l e n e c k a s s i g n m e n t p r o b l e m s v i a s t r o n g s p a n n i n g t r e e s ,Operations Research Letters 1 2 ( 1 9 9 2 ) 1 7 9 - 1 8 0 .

    [ 3] R . D . A m a s t r o n g a n d Z . J in , S t r o n g l y p o l y n o m i a l si m p l e x m e t h o d f o r b i p a r t i t e v e r t e x p a c k i n g , DiscreteApp l i ed Mathemat ic s 6 4 ( 1 9 96 ) 9 7 - 1 0 3 .

    [ 4] M . L . B a l i n s k i , A c o m p e t i t i v c (d u a l ) s i m p l e x m e t h o d f o r t h e a s s i g n m e n t p r o b l e m , Mathemat ica lPr ogr amming 3 4 ( 1 9 8 6 ) 1 2 5 - 1 4 I .

    [ 5] M . L . B a l i n s k i a n d J . G o n z a l c z , M a x i m u m m a t c h i n g i n b i p a r t i t e g r a p h s v i a s t ro n g s p a n n i n g t r e e s ,Netwar ks 2 [ ( 1 9 9 1 ) 1 6 5 - 1 7 9 .

    [ 6 ] W . C u n n i n g h a m , A n e t w o r k s i m p l e x m e t h o d . M athem atical ProgranmTing 11 ( 1 9 7 6 ) I 0 5 - 1 1 6 .[ 7] J . E d m o n d s a n d R . M . K a r p . T h e o r e t i c a l i m p r o v e m e n t s i n a l g o r i t h m i c e f f i c i e n c y f o r n e t w o r k f l o w

    p r o b l e m s , J o u rn a l ~ f A C M 1 9 ( 1 9 7 2 ) 2 4 8 - 2 6 4 .[ 8 ] D . G o l d f a r b , E f f i c i e n t d u a l s i m p l e x a l g o r i t h m s f o r th e a s s i g n m e n t p r o b l e m , Mathematical Programming3 3 0 9 8 5 ) 1 8 7 - 20 3 .

    [ 9] J .B . O r l in , A f a s t e r s t r o n g l y p o l y n o m i a l m i n i m u m c o s t f l o w a l g o r i t h m , Operations Research 4 1 ( 1 9 9 3 )3 3 8 - 3 5 0 .

    [ 1 0 ] J . B . O r l i n . S . A . P l o t k i n a n d E . T a r d o s , P o l y n o m i a l d u a l n e t w o r k s i m p l e X a l g o r i t h m s , M a t h e m a t i c a lProgramming 6 0 ( 19 9 3 ) 2 5 5 - 2 7 6 .

    [ I 1 ] E . T a r d o s , A s t r o n g l y p o l y n o m i a l m i n i m u m c o s t c i r c u l a t i o n a l g o r i t h m , Combinatorica 5 (1 9 8 5 ) 2 4 7 - 2 5 5 .