multiflowgeneral.ps
TRANSCRIPT
-
8/12/2019 MultiFlowGeneral.ps
1/28
F a s t A p p r o x i m a t i o n A l g o r i t h m s
f o r M u l t i c o m m o d i t y F l o w P r o b l e m s
T o m L e i g h t o n
y
F i l l i a M a k e d o n
z
S e r g e P l o t k i n
x
C l i o r d S t e i n
{
E v a T a r d o s
k
S p y r o s T r a g o u d a s
A p r i l 1 9 , 1 9 9 3
A p r e l i m i n a r y v e r s i o n o f t h i s p a p e r a p p e a r e d i n t h e P r o c e e d i n g s o f t h e 2 3 r d A n n u a l S y m p o s i u m o n T h e o r y o f
C o m p u t i n g , 1 9 9 1 , p p . 1 0 1 - 1 1 1 .
y
D e p a r t m e n t o f M a t h e m a t i c s a n d L a b o r a t o r y f o r C o m p u t e r S c i e n c e , M I T , C a m b r i d g e , M A . R e s e a r c h s u p p o r t e d
b y D A R P A u n d e r C o n t r a c t s N 0 0 0 1 4 - 8 7 - K - 8 2 5 a n d N 0 0 0 1 4 - 8 6 - K - 0 5 9 3 , t h e A i r F o r c e u n d e r C o n t r a c t O S R - 8 9 - 0 2 7 1 ,
a n d t h e A r m y u n d e r C o n t r a c t D A A L - 0 3 - 8 6 - K - 0 1 7 1 .
z
M a t h e m a t i c s a n d C o m p u t e r S c i e n c e D e p a r t m e n t , B r a d l e y H a l l , D a r t m o u t h C o l l e g e , H a n o v e r , N H 0 3 7 5 5 .
x
D e p a r t m e n t o f C o m p u t e r S c i e n c e , S t a n f o r d U n i v e r s i t y , S t a n f o r d C A . R e s e a r c h s u p p o r t e d b y N S F R e s e a r c h I n i t i -
a t i o n A w a r d C C R - 9 0 0 - 8 2 2 6 , b y U . S . A r m y R e s e a r c h O c e G r a n t D A A L - 0 3 - 9 1 - G - 0 1 0 2 , b y O N R C o n t r a c t N 0 0 0 1 4 {
8 8 { K { 0 1 6 6 , a n d b y a g r a n t f r o m M i t s u b i s h i E l e c t r i c L a b o r a t o r i e s .
{
L a b o r a t o r y f o r C o m p u t e r S c i e n c e , M I T , C a m b r i d g e , M A 0 2 1 3 9 . S u p p o r t p r o v i d e d b y N S F P Y I A w a r d C C R - 8 9 -
9 6 2 7 2 w i t h m a t c h i n g s u p p o r t f r o m U P S a n d S u n a n d b y a n A T & T B e l l L a b o r a t o r i e s G r a d u a t e F e l l o w s h i p .
k
S c h o o l o f O p e r a t i o n s R e s e a r c h , C o r n e l l U n i v e r s i t y , I t h a c a N Y . R e s e a r c h s u p p o r t e d i n p a r t b y a D a v i d a n d L u c i l e
P a c k a r d F e l l o w s h i p a n d b y t h e N a t i o n a l S c i e n c e F o u n d a t i o n , t h e A i r F o r c e O c e o f S c i e n t i c R e s e a r c h , a n d t h e
O c e o f N a v a l R e s e a r c h , t h r o u g h N S F g r a n t D M S - 8 9 2 0 5 5 0 .
D e p a r t m e n t o f C o m p u t e r S c i e n c e , S o u t h e r n I l l i n o i s U n i v e r s i t y , C a r b o n d a l e , I l l i n o i s 6 2 9 0 1 . S u p p o r t e d b y a n
A C M - S I G D A D e s i g n A u t o m a t i o n A w a r d a n d t h e C L E A R C e n t e r a t U T D , U T D p r o p o s a l # 8 7 0 0 4 9 .
0
-
8/12/2019 MultiFlowGeneral.ps
2/28
P r o p o s e d r u n n i n g h e a d : A p p r o x i m a t i n g m u l t i c o m m o d i t y o w
C o n t a c t A u t h o r
C l i o r d S t e i n
5 4 5 T e c h n o l o g y S q u a r e
M I T
C a m b r i d g e , M A 0 2 1 3 9
( 6 1 7 ) 2 5 3 - 6 0 9 7
c l i f f @ t h e o r y . l c s . m i t . e d u
A f t e r 8 / 1 5
D e p a r t m e n t o f M a t h e m a t i c s a n d C o m p u t e r S c i e n c e
B r a d l e y H a l l
D a r t m o u t h C o l l e g e
H a n o v e r , N H 0 3 7 5 5
C l i f f o r d . S t e i n @ d a r t m o u t h . e d u
1
-
8/12/2019 MultiFlowGeneral.ps
3/28
A b s t r a c t
A l l p r e v i o u s l y k n o w n a l g o r i t h m s f o r s o l v i n g t h e m u l t i c o m m o d i t y o w p r o b l e m w i t h c a -
p a c i t i e s a r e b a s e d o n l i n e a r p r o g r a m m i n g . T h e b e s t o f t h e s e a l g o r i t h m s 1 5 ] u s e s a f a s t m a t r i x
m u l t i p l i c a t i o n a l g o r i t h m a n d t a k e s O ( k
3 5
n
3
m
5
l o g ( n D U ) ) t i m e f o r t h e m u l t i c o m m o d i t y o w
p r o b l e m w i t h i n t e g e r d e m a n d s a n d a t l e a s t O ( k
2 5
n
2
m
5
l o g ( n
1
D U ) ) t i m e t o n d a n a p p r o x i -
m a t e s o l u t i o n , w h e r e k i s t h e n u m b e r o f c o m m o d i t i e s , n a n d m d e n o t e t h e n u m b e r o f n o d e s a n d
e d g e s i n t h e n e t w o r k , D i s t h e l a r g e s t d e m a n d , a n d U i s t h e l a r g e s t e d g e c a p a c i t y . S u b s t a n t i a l l y
m o r e t i m e i s n e e d e d t o n d a n e x a c t s o l u t i o n . A s a c o n s e q u e n c e , e v e n m u l t i c o m m o d i t y o w
p r o b l e m s w i t h j u s t a f e w c o m m o d i t i e s a r e b e l i e v e d t o b e m u c h h a r d e r t h a n s i n g l e - c o m m o d i t y
m a x i m u m - o w o r m i n i m u m - c o s t o w p r o b l e m s .
I n t h i s p a p e r , w e d e s c r i b e t h e r s t p o l y n o m i a l - t i m e c o m b i n a t o r i a l a l g o r i t h m s f o r a p p r o x i -
m a t e l y s o l v i n g t h e m u l t i c o m m o d i t y o w p r o b l e m . T h e r u n n i n g t i m e o f o u r r a n d o m i z e d a l g o -
r i t h m i s ( u p t o l o g f a c t o r s ) t h e s a m e a s t h e t i m e n e e d e d t o s o l v e k s i n g l e - c o m m o d i t y o w p r o b -
l e m s , t h u s g i v i n g t h e s u r p r i s i n g r e s u l t t h a t a p p r o x i m a t e l y c o m p u t i n g a k - c o m m o d i t y m a x i m u m -
o w i s n o t m u c h h a r d e r t h a n c o m p u t i n g a b o u t k s i n g l e - c o m m o d i t y m a x i m u m - o w s i n i s o l a t i o n .
I n f a c t , w e p r o v e t h a t a ( s i m p l e ) k - c o m m o d i t y o w p r o b l e m c a n b e a p p r o x i m a t e l y s o l v e d
b y a p p r o x i m a t e l y s o l v i n g O ( k l o g
2
n ) s i n g l e - c o m m o d i t y m i n i m u m - c o s t o w p r o b l e m s . O u r k -
c o m m o d i t y a l g o r i t h m r u n s i n O ( k n m l o g
4
n ) t i m e w i t h h i g h p r o b a b i l i t y . W e a l s o d e s c r i b e a
d e t e r m i n i s t i c a l g o r i t h m t h a t u s e s a n O ( k ) - f a c t o r m o r e t i m e . G i v e n a n y m u l t i c o m m o d i t y o w
p r o b l e m a s i n p u t , b o t h a l g o r i t h m s a r e g u a r a n t e e d t o p r o v i d e a f e a s i b l e s o l u t i o n t o a m o d i e d
o w p r o b l e m i n w h i c h a l l c a p a c i t i e s a r e i n c r e a s e d b y a ( 1 + ) - f a c t o r , o r t o p r o v i d e a p r o o f t h a t
t h e r e i s n o f e a s i b l e s o l u t i o n t o t h e o r i g i n a l p r o b l e m .
W e a l s o d e s c r i b e f a s t e r a p p r o x i m a t i o n a l g o r i t h m s f o r m u l t i c o m m o d i t y o w p r o b l e m s w i t h a
s p e c i a l s t r u c t u r e , s u c h a s t h o s e t h a t a r i s e i n t h e \ s p a r s e s t c u t " p r o b l e m s s t u d i e d i n 8 , 1 0 , 9 ] ,
a n d t h e u n i f o r m c o n c u r r e n t o w p r o b l e m s s t u d i e d i n 1 2 , 9 ] i f k
p
m
2
-
8/12/2019 MultiFlowGeneral.ps
4/28
1 I n t r o d u c t i o n
T h e m u l t i c o m m o d i t y o w p r o b l e m i n v o l v e s s i m u l t a n e o u s l y s h i p p i n g s e v e r a l d i e r e n t c o m m o d i t i e s
f r o m t h e i r r e s p e c t i v e s o u r c e s t o t h e i r s i n k s i n a s i n g l e n e t w o r k s o t h a t t h e t o t a l a m o u n t o f o w
g o i n g t h r o u g h e a c h e d g e i s n o m o r e t h a n i t s c a p a c i t y . A s s o c i a t e d w i t h e a c h c o m m o d i t y i s a
d e m a n d , w h i c h i s t h e a m o u n t o f t h a t c o m m o d i t y t h a t w e w i s h t o s h i p . G i v e n a m u l t i c o m m o d i t y
o w p r o b l e m , o n e o f t e n w a n t s t o k n o w i f t h e r e i s a f e a s i b l e o w , i . e . i f i t i s p o s s i b l e t o n d a
o w w h i c h s a t i s e s t h e d e m a n d s a n d o b e y s t h e c a p a c i t y c o n s t r a i n t s . M o r e g e n e r a l l y , w e m i g h t
w i s h t o k n o w t h e m a x i m u m p e r c e n t a g e z s u c h t h a t a t l e a s t z p e r c e n t o f e a c h d e m a n d c a n b e
s h i p p e d w i t h o u t v i o l a t i n g t h e c a p a c i t y c o n s t r a i n t s . T h e l a t t e r p r o b l e m i s k n o w n a s t h e c o n c u r r e n t
o w p r o b l e m , a n d i s e q u i v a l e n t t o t h e p r o b l e m o f d e t e r m i n i n g t h e m i n i m u m r a t i o b y w h i c h t h e
c a p a c i t i e s m u s t b e i n c r e a s e d i n o r d e r t o s h i p 1 0 0 % o f e a c h d e m a n d s .
I n t h i s p a p e r , w e d e s c r i b e t h e r s t c o m b i n a t o r i a l a p p r o x i m a t i o n a l g o r i t h m s f o r t h e c o n c u r r e n t
o w p r o b l e m . G i v e n a n y p o s i t i v e , t h e a l g o r i t h m s n d a f e a s i b l e o w t h a t s h i p s a t l e a s t ( 1 ) z
p e r c e n t o f e a c h d e m a n d , w h e r e z i s t h e m a x i m u m p e r c e n t a g e o b t a i n a b l e . T h e r u n n i n g t i m e s o f
t h e a l g o r i t h m s d e p e n d p o l y n o m i a l l y o n
1
, a n d a r e s i g n i c a n t l y b e t t e r t h a n t h o s e o f p r e v i o u s
a l g o r i t h m s w h e n i s a c o n s t a n t . M o r e s p e c i c a l l y , w e p r o v e t h e f o l l o w i n g r e s u l t . ( T h r o u g h o u t ,
w e u s e n , m a n d k t o d e n o t e t h e n u m b e r o f n o d e s , e d g e s a n d c o m m o d i t i e s , w e a s s u m e t h a t t h e
d e m a n d s a n d t h e c a p a c i t i e s a r e i n t e g r a l , a n d u s e D a n d U t o d e n o t e t h e l a r g e s t d e m a n d s a n d
c a p a c i t i e s , r e s p e c t i v e l y . )
T h e o r e m 1 . 1 F o r a n y x e d > 0 a ( 1 ) - f a c t o r a p p r o x i m a t i o n t o t h e s i m p l e
1
c o n c u r r e n t o w
p r o b l e m c a n b e f o u n d b y a r a n d o m i z e d a l g o r i t h m i n O ( k m n l o g k l o g
3
n ) t i m e a n d a d e t e r m i n i s t i c
a l g o r i t h m i n O ( k
2
m n l o g k l o g
3
n ) t i m e , w h e r e t h e c o n s t a n t d e p e n d s o n
O u r e x p e c t e d r u n n i n g t i m e i s t h e s a m e ( u p t o p o l y l o g f a c t o r s ) a s t h e t i m e n e e d e d t o c o m p u t e
k m a x i m u m - o w s , t h u s g i v i n g t h e s u r p r i s i n g r e s u l t t h a t a p p r o x i m a t e l y c o m p u t i n g a k - c o m m o d i t y
c o n c u r r e n t o w i s a b o u t a s d i c u l t a s c o m p u t i n g k s i n g l e c o m m o d i t y m a x i m u m - o w s . I n f a c t , w e
f o r m a l l y p r o v e t h a t a k - c o m m o d i t y o w p r o b l e m c a n b e a p p r o x i m a t e l y s o l v e d b y a p p r o x i m a t e l y
s o l v i n g O ( k l o g k l o g n ) m i n - c o s t o w p r o b l e m s .
T h e r u n n i n g t i m e s i n t h e a b o v e t h e o r e m c a n b e i m p r o v e d w h e n k i s l a r g e . L e t k
d e n o t e t h e
n u m b e r o f d i e r e n t s o u r c e s . I n b o t h t h e r a n d o m i z e d a n d t h e d e t e r m i n i s t i c a l g o r i t h m w e c a n r e p l a c e
k i n t h e r u n n i n g t i m e b y k
a t t h e e x p e n s e o f h a v i n g t o r e p l a c e o n e o f t h e l o g n t e r m s b y a l o g ( n U )
N o t i c e t h a t k
i s a t m o s t n f o r a l l m u l t i c o m m o d i t y o w p r o b l e m s .
A s a c o n s e q u e n c e o f o u r a p p r o x i m a t i o n a l g o r i t h m f o r t h e c o n c u r r e n t o w p r o b l e m , w e o b t a i n a
r e l a x e d d e c i s i o n p r o c e d u r e f o r m u l t i c o m m o d i t y o w f e a s i b i l i t y . I n p a r t i c u l a r , g i v e n a m u l t i c o m m o d -
i t y o w p r o b l e m , w e c a n e i t h e r p r o v e t h a t i t i s i n f e a s i b l e , o r g i v e a f e a s i b l e o w f o r t h e p r o b l e m i n
w h i c h e v e r y c a p a c i t y i s i n c r e a s e d b y a f a c t o r o f 1 + . S i n c e i n p r a c t i c e , t h e i n p u t t o a m u l t i c o m -
m o d i t y o w p r o b l e m m a y h a v e s o m e m e a s u r e m e n t e r r o r , b y m a k i n g s m a l l e n o u g h , w e c a n o b t a i n
a p r o c e d u r e f o r d e t e r m i n i n g f e a s i b i l i t y u p t o t h e p r e c i s i o n o f t h e i n p u t d a t a .
T h e o n l y p r e v i o u s a l g o r i t h m s f o r s o l v i n g ( o r a p p r o x i m a t e l y s o l v i n g ) t h e g e n e r a l c o n c u r r e n t o w
p r o b l e m r e l y o n g e n e r a l p u r p o s e l i n e a r p r o g r a m m i n g a l g o r i t h m s . T h e c o n c u r r e n t 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 a l i n e a r p r o g r a m i n O ( m k ) v a r i a b l e s a n d O ( n k + m ) c o n s t r a i n t s . L i n e a r p r o g r a m -
1
B y s i m p l e , w e m e a n t h a t e a c h c o m m o d i t y h a s a s i n g l e s o u r c e a n d a s i n g l e s i n k .
3
-
8/12/2019 MultiFlowGeneral.ps
5/28
m i n g c a n b e u s e d t o s o l v e t h e p r o b l e m o p t i m a l l y i n p o l y n o m i a l t i m e . K a p o o r a n d V a i d y a 7 ] g a v e
a m e t h o d t o s p e e d u p t h e m a t r i x i n v e r s i o n s i n v o l v e d i n K a r m a r k a r - t y p e a l g o r i t h m s f o r m u l t i c o m -
m o d i t y o w p r o b l e m s ; c o m b i n i n g t h e i r t e c h n i q u e w i t h V a i d y a ' s n e w l i n e a r p r o g r a m m i n g a l g o r i t h m
t h a t u s e s f a s t m a t r i x m u l t i p l i c a t i o n 1 5 ] y i e l d s a t i m e b o u n d o f O ( k
3 5
n
3
m
5
l o g ( n D U ) ) f o r t h e
c o n c u r r e n t o w p r o b l e m w i t h i n t e g e r d e m a n d s a n d a t l e a s t a n O ( k
2 5
n
2
m
5
l o g ( n
1
D U ) ) t i m e
b o u n d f o r t h e a p p r o x i m a t i o n p r o b l e m . W h e n i s n o t t o o s m a l l ( e . g . i f i s c o n s t a n t ) , t h e n t h e
r u n n i n g t i m e o f o u r a l g o r i t h m i s m u c h f a s t e r t h a n t h a t o f t h e p r e v i o u s a l g o r i t h m s f o r m o s t m u l t i -
c o m m o d i t y o w p r o b l e m s . I n a d d i t i o n , t h e f a c t t h a t o u r a l g o r i t h m c o n s i s t s o f o n l y O ( k l o g k l o g n )
m i n i m u m - c o s t o w c o m p u t a t i o n s m e a n s t h a t i t m i g h t b e m o r e s u i t a b l e f o r i m p l e m e n t a t i o n i n p r a c -
t i c e . ( M i n i m u m - c o s t o w p r o b l e m s a r e e c i e n t l y h a n d l e d b y t h e n e t w o r k s i m p l e x a l g o r i t h m i n
p r a c t i c e . )
T h e o n l y p r e v i o u s c o m b i n a t o r i a l p o l y n o m i a l a p p r o x i m a t i o n a l g o r i t h m s f o r c o n c u r r e n t o w p r o b -
l e m s h a n d l e o n l y t h e s p e c i a l c a s e w h e n a l l t h e c a p a c i t i e s a r e 1 . F o r t h i s s p e c i a l c a s e , S h a h r o k h i
a n d M a t u l a 1 2 ] g a v e a n a l g o r i t h m t h a t r a n i n O ( n m
7
) t i m e . A f a s t e r a l g o r i t h m w a s l a t e r g i v e n
b y K l e i n , P l o t k i n , S t e i n , a n d T a r d o s 9 ] w h i c h r u n s i n e x p e c t e d O ( ( k + m ) ( m + n l o g n ) l o g n )
t i m e . O u r n e w a l g o r i t h m c a n b e a p p l i e d t o t h i s s p e c i a l c a s e a n d g i v e s i m p r o v e d b o u n d s w h e n
k
-
8/12/2019 MultiFlowGeneral.ps
6/28
a l g o r i t h m s p r e v i o u s l y k n o w n f o r t h e c a p a c i t a t e d c a s e u s e d l i n e a r p r o g r a m m i n g . U s i n g t h e r e s u l t s i n
t h i s p a p e r , w e c a n n o w e c i e n t l y a p p r o x i m a t e a l l t h e p r o b l e m s c o n s i d e r e d a b o v e f o r a r b i t r a r y e d g e -
w e i g h t e d a n d n o d e - w e i g h t e d g r a p h s ( w h e n a p p r o p r i a t e ) . F o r e x a m p l e , w e c a n p r o v e t h e f o l l o w i n g
r e s u l t .
T h e o r e m 1 . 2 T h e m o s t c o n g e s t e d c u t i n a g r a p h w i t h i n t e g r a l d e m a n d s a n d c a p a c i t i e s c a n b e a p -
p r o x i m a t e d w i t h i n a f a c t o r o f O ( l o g n l o g k D ) i n e x p e c t e d O ( k
n m l o g
3
n l o g n U ) t i m e , w h e r e k
i s t h e
n u m b e r o f d i e r e n t s o u r c e s a m o n g t h e c o m m o d i t i e s .
T h e c o n c u r r e n t o w a l g o r i t h m c a n a l s o b e u s e d t o g i v e a n O ( n
2
m l o g
3
n l o g n U ) e x p e c t e d t i m e
a l g o r i t h m f o r n d i n g a c u t i n a n e d g e ( a n d n o d e ) w e i g h t e d g r a p h t h a t i s s p a r s e s t u p t o a f a c t o r o f
O ( l o g n ) . F o r t h e i m p o r t a n t s p e c i a l c a s e o f r e g u l a r g r a p h s a n d u n i t n o d e w e i g h t s , w e c a n f u r t h e r
i m p r o v e t h i s b o u n d t o O ( m
2
l o g
3
n )
O u r m o d e l o f c o m p u t a t i o n i s t h e R A M . W e s h a l l u s e t h e e l e m e n t a r y a r i t h m e t i c o p e r a t i o n s
( a d d i t i o n , s u b t r a c t i o n , c o m p a r i s o n , m u l t i p l i c a t i o n , a n d i n t e g e r d i v i s i o n ) , a n d c o u n t e a c h o f t h e s e
a s a s i n g l e s t e p . A l l n u m b e r s o c c u r r i n g t h r o u g h o u t t h e c o m p u t a t i o n w i l l h a v e a t m o s t O ( l o g ( n U ) )
b i t s . F o r e a s e o f e x p o s i t i o n , i n S e c t i o n 4 w e s h a l l u s e a m o d e l o f c o m p u t a t i o n t h a t a l l o w s e x a c t
a r i t h m e t i c o n r e a l n u m b e r s a n d w e s h a l l a s s u m e t h a t e x p o n e n t i a t i o n i s a s i n g l e s t e p . I n S e c t i o n 5
w e s h o w h o w t o c o n v e r t t h e r e s u l t s t o t h e u s u a l R A M m o d e l .
2 P r e l i m i n a r i e s a n d D e n i t i o n s
A n i n s t a n c e o f t h e s i m p l e m u l t i c o m m o d i t y o w p r o b l e m c o n s i s t s o f a n u n d i r e c t e d g r a p h G = ( V ; E ) ,
a n o n - n e g a t i v e c a p a c i t y u ( v w ) f o r e v e r y e d g e v w 2 E , a n d a s p e c i c a t i o n o f k c o m m o d i t i e s ,
n u m b e r e d 1 t h r o u g h k , w h e r e t h e s p e c i c a t i o n f o r c o m m o d i t y i c o n s i s t s o f a s o u r c e - s i n k p a i r
s
i
; t
i
2 V a n d a n o n - n e g a t i v e d e m a n d d
i
. W e w i l l d e n o t e t h e n u m b e r o f d i e r e n t s o u r c e s b y k
,
t h e n u m b e r o f n o d e s b y n , a n d t h e n u m b e r o f e d g e s b y m . F o r n o t a t i o n a l c o n v e n i e n c e w e a s s u m e
t h a t m n , a n d t h a t t h e g r a p h G i s c o n n e c t e d a n d h a s n o p a r a l l e l e d g e s . A l s o , f o r n o t a t i o n a l
c o n v e n i e n c e , w e a r b i t r a r i l y d i r e c t e a c h e d g e . I f t h e r e i s a n e d g e d i r e c t e d f r o m v t o w , t h i s e d g e i s
u n i q u e b y a s s u m p t i o n , a n d w e d e n o t e i t b y v w . W e a s s u m e t h a t t h e c a p a c i t i e s a n d t h e d e m a n d s
a r e i n t e g r a l , a n d d e n o t e t h e l a r g e s t c a p a c i t y b y U a n d t h e l a r g e s t d e m a n d b y D
A m u l t i c o m m o d i t y o w f c o n s i s t s o f a f u n c t i o n f
i
( v w ) o n t h e e d g e s o f G f o r e v e r y c o m m o d i t y
i , w h i c h r e p r e s e n t s t h e o w o f c o m m o d i t y i o n e d g e v w . I f t h e o w o f c o m m o d i t y i o n e d g e v w i s
o r i e n t e d i n t h e s a m e d i r e c t i o n a s e d g e v w , t h e n f
i
( v w ) w i l l b e p o s i t i v e , o t h e r w i s e i t w i l l b e n e g a t i v e .
T h e s i g n s o n l y s e r v e t o i n d i c a t e t h e d i r e c t i o n o f t h e o w s . F o r e v e r y c o m m o d i t y i w e r e q u i r e t h e
c o n s e r v a t i o n c o n s t r a i n t s :
X
w v 2 E
f
i
( w v )
X
v w 2 E
f
i
( v w ) = 0 f o r e v e r y n o d e v 62 f s
i
; t
i
g( 1 )
W e r e q u i r e a l s o t h a t
P
v w 2 E
f
i
( v w ) = d
i
f o r v = s
i
. W e d e n e t h e v a l u e o f t h e t o t a l o w
o n e d g e v w t o b e f ( v w ) =
P
i
f
i
( v w ) , a n d s a y t h a t a m u l t i c o m m o d i t y o w f i n G i s f e a s i b l e i f
f ( v w ) u ( v w ) f o r a l l e d g e s v w . ( N o t e t h a t f ( v w ) i s a l w a y s n o n - n e g a t i v e . )
W e c o n s i d e r t h e o p t i m i z a t i o n v e r s i o n o f t h i s p r o b l e m , c a l l e d t h e s i m p l e c o n c u r r e n t o w p r o b l e m ,
r s t d e n e d b y S h a h r o k h i a n d M a t u l a 1 2 ] . I n t h i s p r o b l e m t h e o b j e c t i v e i s t o c o m p u t e t h e
5
-
8/12/2019 MultiFlowGeneral.ps
7/28
m a x i m u m p o s s i b l e v a l u e z s u c h t h a t t h e r e i s a f e a s i b l e m u l t i c o m m o d i t y o w w i t h d e m a n d s z d
i
f o r
i = 1 ; : : : ; k . W e c a l l z t h e t h r o u g h p u t o f t h e m u l t i c o m m o d i t y o w . A n e q u i v a l e n t f o r m u l a t i o n o f
t h e c o n c u r r e n t o w p r o b l e m i s t o c o m p u t e t h e m i n i m u m = 1 = z s u c h t h a t t h e r e i s a f e a s i b l e o w
w i t h d e m a n d s d
i
a n d c a p a c i t i e s u ( v w ) . W e s h a l l u s e t h e n o t a t i o n ( v w ) t o d e n o t e t h e c o n g e s t i o n
f ( v w ) = u ( v w ) o f a n e d g e v w 2 E , = m a x
v w 2 E
( v w ) , a n d
t o d e n o t e t h e o p t i m a l ( m i n i m u m )
v a l u e o f
A m u l t i c o m m o d i t y o w f s a t i s f y i n g t h e d e m a n d s d
i
i s - o p t i m a l i f i s a t m o s t a f a c t o r ( 1 + )
m o r e t h a n t h e m i n i m u m p o s s i b l e v a l u e . T h e a p p r o x i m a t i o n p r o b l e m a s s o c i a t e d w i t h t h e c o n c u r r e n t
o w p r o b l e m i s t o n d a n - o p t i m a l m u l t i c o m m o d i t y o w f . W e s h a l l a s s u m e i m p l i c i t l y t h r o u g h o u t
t h a t i s a t l e a s t i n v e r s e p o l y n o m i a l i n n a n d i s a t m o s t 1 = 9 . I f i s b i g g e r t h a n 1 = 9 , w e c a n r u n
t h e a l g o r i t h m f o r = 1 = 9 . I f
1
i s g r e a t e r t h a n a n y p o l y n o m i a l i n n , o u r a l g o r i t h m s w i l l s t i l l y i e l d
a c o r r e c t s o l u t i o n . H o w e v e r , i n t h i s c a s e , t h e r u n n i n g t i m e s o f o u r a l g o r i t h m s w i l l b e s o m e w h a t
g r e a t e r a n d w i l l b e d o m i n a t e d b y t h e t i m e t o s o l v e t h e p r o b l e m e x a c t l y .
W e c a n e x t e n d a l l t h e r e s u l t s i n t h e p a p e r t o t h e c a s e w h e r e t h e i n p u t g r a p h i s d i r e c t e d . I n
t h i s c a s e w e r e q u i r e t h a t a l l o w s a r e n o n - n e g a t i v e a n d o r i e n t e d i n t h e s a m e d i r e c t i o n a s t h e i n p u t
g r a p h . I t i s e a s y t o v e r i f y t h a t a l l t h e r e s u l t s i n t h i s p a p e r c a r r y t h r o u g h t o t h i s c a s e . H e n c e f o r t h ,
w e f o c u s o n l y o n t h e u n d i r e c t e d c a s e .
T h e g e n e r a l m u l t i c o m m o d i t y o w p r o b l e m i s a n a t u r a l e x t e n s i o n o f t h e s i m p l e p r o b l e m w h e n
e a c h c o m m o d i t y h a s m o r e t h a n o n e s o u r c e a n d s i n k . F o r e v e r y c o m m o d i t y i w e a r e g i v e n a d e m a n d
v e c t o r
^
d
i
( v ) . ( A n e g a t i v e d e m a n d d e n o t e s a s u p p l y . ) W e r e q u i r e t h a t
P
v
^
d
i
( v ) = 0 a n d w e s h a l l
u s e D
i
t o d e n o t e m a x
v
f
^
d
i
( v ) g . T h e c o n s e r v a t i o n c o n s t r a i n t s o f e q u a t i o n ( 1 ) a r e r e p l a c e d b y t h e
m o r e g e n e r a l c o n s e r v a t i o n c o n s t r a i n t s :
X
w v 2 E
f
i
( w v )
X
v w 2 E
f
i
( v w ) =
^
d
i
( v ) f o r e v e r y c o m m o d i t y i a n d e v e r y n o d e v( 2 )
O u r a l g o r i t h m c a n b e a p p l i e d t o s o l v e b o t h s i m p l e a n d g e n e r a l m u l t i c o m m o d i t y o w p r o b l e m s .
A s w e w i l l s e e b e l o w , o u r a l g o r i t h m i s s l i g h t l y f a s t e r w h e n a p p l i e d t o a s i m p l e m u l t i c o m m o d i t y o w
p r o b l e m ; t h e m a i n p o i n t i n i n t r o d u c i n g t h e g e n e r a l p r o b l e m i s t o r e d u c e t h e n u m b e r o f c o m m o d i t i e s .
E v e r y s i m p l e c o n c u r r e n t o w p r o b l e m i s e q u i v a l e n t t o a g e n e r a l c o n c u r r e n t o w p r o b l e m w i t h a t
m o s t n c o m m o d i t i e s . B e c a u s e o f t h i s f a c t a n d b e c a u s e t h e r u n n i n g t i m e s o f o u r a l g o r i t h m s a r e
p r o p o r t i o n a l t o t h e n u m b e r o f c o m m o d i t i e s , w e w i l l a s s u m e t h a t t h e n u m b e r o f c o m m o d i t i e s i s
p o l y n o m i a l i n n ; t h i s w i l l s i m p l i f y t h e e x p r e s s i o n s f o r t h e r u n n i n g t i m e s .
W e c a n c o n v e r t a s i m p l e c o n c u r r e n t o w p r o b l e m t o a g e n e r a l c o n c u r r e n t o w p r o b l e m w i t h k
c o m m o d i t i e s b y c o m b i n i n g t h o s e c o m m o d i t i e s w h i c h s h a r e a s o u r c e . F o r e a c h s o u r c e s w e d e n e
a d e m a n d v e c t o r
^
d
s
( v ) a s f o l l o w s : f o r e a c h c o m m o d i t y i w i t h s
i
= s w e s e t
^
d
s
( t
i
) = d
i
; w e s e t
^
d
s
( s ) =
P
f d
i
: s
i
= s g ; a l l o t h e r d e m a n d s a r e s e t t o z e r o .
L e m m a 2 . 1 C o n s i d e r a s i m p l e k c o m m o d i t y c o n c u r r e n t o w p r o b l e m a n d t h e c o r r e s p o n d i n g k
-
c o m m o d i t y p r o b l e m d e n e d a b o v e . A n y f e a s i b l e s o l u t i o n t o o n e c a n b e c o n v e r t e d t o a s o l u t i o n t o
t h e o t h e r w i t h t h e s a m e v a l u e o f . T h e c o n v e r s i o n o f a s o l u t i o n f o r t h e k
- c o m m o d i t y p r o b l e m t o
o n e f o r t h e k c o m m o d i t y p r o b l e m c a n b e d o n e i n O ( k
n m ) t i m e , o r i n O ( k
m l o g n ) t i m e u s i n g t h e
d y n a m i c t r e e d a t a s t r u c t u r e .
P r o o f : T h e c o n v e r s i o n o f a s o l u t i o n o f t h e s i m p l e c o n c u r r e n t o w w i t h k c o m m o d i t i e s i n t o a
s o l u t i o n o f t h e k
- c o m m o d i t y p r o b l e m i s s t r a i g h t f o r w a r d . A s s u m e t h a t w e a r e g i v e n a s o l u t i o n t o
6
-
8/12/2019 MultiFlowGeneral.ps
8/28
t h e g e n e r a l c o n c u r r e n t o w p r o b l e m w i t h k
c o m m o d i t i e s . D e c o m p o s e t h e o w o f e a c h c o m m o d i t y
i n t o p a t h s a n d c y c l e s a n d c o m b i n e t h e o w s o n p a t h s t h a t h a v e t h e s a m e s o u r c e a n d s i n k n o d e s ,
d i s r e g a r d i n g t h e c y c l e s . T h e r u n n i n g t i m e o f t h i s p r o c e d u r e i s d o m i n a t e d b y t h e t i m e i t t a k e s t o
d e c o m p o s e o w s i n t o p a t h s a n d c y c l e s , w h i c h y i e l d s t h e c l a i m o f t h e l e m m a .
N o t i c e t h a t t h e s o u r c e s a n d s i n k s p l a y a s y m m e t r i c r o l e i n t h e ( u n d i r e c t e d ) p r o b l e m , a n d h e n c e
k
i n t h e l e m m a c o u l d h a v e b e e n d e n e d a s t h e n u m b e r o f n o d e s i n a s u b s e t t h a t c o n t a i n s a n
e n d p o i n t o f e a c h c o m m o d i t y . W h i l e n d i n g a m i n i m u m s u c h n o d e s e t i s N P - c o m p l e t e , w e m e n t i o n
t h i s f o r m u l a t i o n b e c a u s e i n s o m e c a s e s i t l e a d s t o a n e c i e n t l y c o m p u t a b l e k
w h i c h i s s m a l l e r t h a n
t h e o n e d e n e d a b o v e .
L e m m a 2 . 1 i m p l i e s t h a t o n e c a n r e p l a c e m o s t o f t h e b o u n d s t h a t a r e d e p e n d e n t o n k b y o n e s
t h a t a r e d e p e n d e n t o n k
. T h r o u g h o u t t h i s p a p e r , u n l e s s w e e x p l i c i t l y s t a t e t h a t a b o u n d i s f o r
t h e s i m p l e c o n c u r r e n t o w p r o b l e m , k c a n b e r e p l a c e d b y k
w h e n a p p l i e d t o a s i m p l e c o n c u r r e n t
o w p r o b l e m .
T h e m a i n s u b r o u t i n e o f o u r a l g o r i t h m i s a m i n i m u m - c o s t o w c o m p u t a t i o n ( o f a s i n g l e c o m -
m o d i t y ) . W e w i l l u s e t h e f o l l o w i n g , s l i g h t l y u n c o n v e n t i o n a l d e n i t i o n . G i v e n a c o s t v e c t o r c 2 R
E
,
t h e c o s t o f a o w f
i
i s
P
v w 2 E
c ( v w ) f
i
( v w ) . G i v e n a d e m a n d v e c t o r
^
d
i
( v ) , a n d c a p a c i t i e s u
0
, t h e
m i n i m u m - c o s t o w p r o b l e m i s t h e p r o b l e m o f n d i n g a o w o f m i n i m u m c o s t w h i c h s a t i s e s t h e
c o n s e r v a t i o n c o n s t r a i n t s ( 2 ) a n d h a s f
i
( v w ) u
0
( v w ) f o r e v e r y e d g e v w . T h e r e s i d u a l g r a p h o f
a o w f
i
i s t h e d i r e c t e d g r a p h c o n s i s t i n g o f t h e s e t o f e d g e s f o r w h i c h f
i
( v w ) < u
0
( v w ) a n d t h e
r e v e r s a l o f t h e s e t o f e d g e s f o r w h i c h f
i
( v w ) > u
0
( v w ) . I n S e c t i o n 6 . 2 , w e w i l l n e e d t o w o r k
w i t h t h e l i n e a r - p r o g r a m m i n g d u a l o f a m i n i m u m - c o s t o w . T h e d u a l v a r i a b l e s o n t h e n o d e s a r e
c o m m o n l y r e f e r r e d t o a s p r i c e s , a n d w i l l b e d e n o t e d b y p A p r i c e f u n c t i o n i s a v e c t o r p 2 R
V
. T h e
r e d u c e d c o s t o f a n e d g e v w 2 E i s c ( v w ) + p ( v ) p ( w ) , a n d t h e n e g a t i v e o f t h i s f o r r e v e r s e e d g e s .
L i n e a r p r o g r a m m i n g d u a l i t y i m p l i e s t h a t a o w f
i
i s o f m i n i m u m - c o s t i f a n d o n l y i f t h e r e e x i s t s a
p r i c e f u n c t i o n p , s u c h t h a t t h e r e d u c e d c o s t o f t h e e d g e s i n t h e r e s i d u a l g r a p h o f f
i
a r e n o n n e g a t i v e
( 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 ) .
L i n e a r p r o g r a m m i n g d u a l i t y c a n a l s o b e u s e d t o g i v e a c h a r a c t e r i z a t i o n o f t h e o p t i m u m s o l u t i o n
f o r t h e c o n c u r r e n t o w p r o b l e m . L e t ` : E ! R b e a n o n n e g a t i v e l e n g t h f u n c t i o n . F o r n o d e s
v ; w 2 V l e t d i s t
`
( v ; w ) d e n o t e t h e l e n g t h o f t h e s h o r t e s t p a t h f r o m v t o w i n G w i t h r e s p e c t t o t h e
l e n g t h f u n c t i o n ` . I t i s e a s y t o s e e t h a t f o r a s i m p l e m u l t i c o m m o d i t y o w f s a t i s f y i n g t h e d e m a n d s
d
i
a n d c a p a c i t i e s u ( v w ) , a n d a n y l e n g t h f u n c t i o n ` ,
X
v w 2 E
` ( v w ) u ( v w )
X
v w 2 E
f ( v w ) ` ( v w ) =
k
X
i = 1
X
v w 2 E
` ( v w ) f
i
( v w )
k
X
i = 1
d i s t
`
( s
i
; t
i
) d
i
( 3 )
T h e f o l l o w i n g t h e o r e m i s a s p e c i a l c a s e o f t h e l i n e a r p r o g r a m m i n g d u a l i t y t h e o r e m .
T h e o r e m 2 . 2 A s i m p l e m u l t i c o m m o d i t y o w f m i n i m i z e s i f a n d o n l y i f t h e r e e x i s t s a n o n z e r o l e n g t h
f u n c t i o n ` f o r w h i c h a l l t e r m s i n ( 3 ) a r e e q u a l .
3 R e l a x e d O p t i m a l i t y C o n d i t i o n s
T h e o r e m 2 . 2 i s a c h a r a c t e r i z a t i o n o f o p t i m a l i t y t h a t r e l a t e s t h e v a l u e o f t o t h e l e n g t h s o f t h e
s h o r t e s t p a t h f o r e a c h c o m m o d i t y . T o d r i v e o u r a l g o r i t h m , w e w i l l u s e a s l i g h t l y d i e r e n t c h a r a c t e r -
7
-
8/12/2019 MultiFlowGeneral.ps
9/28
i z a t i o n , o n e w h i c h r e l a t e s t h e v a l u e o f t o t h e c o s t s o f m i n i m u m c o s t o w s i n a p p r o p r i a t e l y d e r i v e d
g r a p h s . W h i l e t h e s e c h a r a c t e r i z a t i o n s c a n b e p r o v e n t o b e e q u i v a l e n t , b y m e a s u r i n g o p t i m a l i t y i n
t e r m s o f m i n i m u m - c o s t o w s , w e a r e a b l e t o d e v e l o p f a s t e r a l g o r i t h m s .
L e t ` b e a n o n n e g a t i v e l e n g t h f u n c t i o n o n t h e e d g e s , f a m u l t i c o m m o d i t y o w , a n d =
m a x
v w 2 E
( v w ) . L e t C
i
b e t h e c o s t o f t h e c u r r e n t o w f o r c o m m o d i t y i , u s i n g ` a s t h e c o s t
f u n c t i o n . F o r a c o m m o d i t y i , l e t C
i
( ) b e t h e v a l u e o f a m i n i m u m - c o s t o w f
i
s a t i s f y i n g t h e
d e m a n d s o f c o m m o d i t y i , s u b j e c t t o c o s t s ` a n d c a p a c i t i e s u ( v w ) , i . e . l e t f
i
b e a o w t h a t
s a t i s e s f
i
( v w ) u ( v w ) a n d m i n i m i z e s t h e c o s t C
i
( ) =
P
v w
f
i
( v w ) ` ( v w ) . F o r b r e v i t y w e
s h a l l s o m e t i m e s u s e C
i
t o a b b r e v i a t e C
i
( )
T h e o r e m 3 . 1 F o r a ( g e n e r a l ) m u l t i c o m m o d i t y o w f s a t i s f y i n g c a p a c i t i e s u ( v w ) , a n d a l e n g t h
f u n c t i o n `
X
v w 2 E
` ( v w ) u ( v w )
k
X
i = 1
X
v w 2 E
f
i
( v w ) ` ( v w ) =
k
X
i = 1
C
i
k
X
i = 1
C
i
( )( 4 )
A m u l t i c o m m o d i t y o w f m i n i m i z e s i f a n d o n l y i f t h e r e e x i s t s a n o n z e r o l e n g t h f u n c t i o n ` f o r w h i c h
a l l t h e a b o v e t e r m s a r e e q u a l .
W e w o u l d l i k e t o b e a b l e t o s a y t h a t t h e r a t i o o f t h e l a s t t e r m a n d t h e m u l t i p l i e r o f i n t h e r s t
t e r m g i v e s a l o w e r b o u n d o n t h e o p t i m a l v a l u e
. T h e a n a l o g o u s s t a t e m e n t f o r t h e i n e q u a l i t y ( 3 )
i s o b v i o u s , b e c a u s e n e i t h e r o f t h e t w o t e r m s d e p e n d o n . I n T h e o r e m 3 . 1 t h e l a s t t e r m ,
P
i
C
i
( ) ,
d e p e n d s o n . O b s e r v e , h o w e v e r , t h a t t h e m i n i m u m c o s t o f a o w s u b j e c t t o c a p a c i t y c o n s t r a i n t s
u ( v w ) c a n n o t i n c r e a s e i f i n c r e a s e s .
L e m m a 3 . 2 S u p p o s e t h a t t h e r e e x i s t s a m u l t i c o m m o d i t y o w s a t i s f y i n g c a p a c i t i e s u ( v w ) . T h e n
f o r a n y l e n g t h f u n c t i o n ` t h e v a l u e
P
k
i = 1
C
i
( ) = (
P
v w 2 E
` ( v w ) u ( v w ) ) i s a l o w e r b o u n d o n
T h e g o a l o f o u r a l g o r i t h m s i s t o n d a m u l t i c o m m o d i t y o w f a n d a l e n g t h f u n c t i o n ` s u c h t h a t t h i s
l o w e r b o u n d i s w i t h i n a ( 1 + ) f a c t o r o f o p t i m a l , i . e . ( 1 + )
P
k
i = 1
C
i
( ) = (
P
v w 2 E
` ( v w ) u ( v w ) )
I n t h i s c a s e , w e s a y t h a t f a n d ` a r e - o p t i m a l . N o t e t h a t w e a r e u s i n g - o p t i m a l t o r e f e r b o t h
t o a o w a n d a o w a n d l e n g t h f u n c t i o n p a i r . R e c a l l , t h a t a o w i s - o p t i m a l i f i t h a s c o n g e s t i o n
a t m o s t ( 1 + ) t i m e s t h e m i n i m u m p o s s i b l e c o n g e s t i o n . I f f a n d ` a r e - o p t i m a l t h e n L e m m a 3 . 2
i m p l i e s t h a t f i s - o p t i m a l . I n o r d e r t o r e c o g n i z e t h a t a o w i s - o p t i m a l , w e w i l l n e e d t o h a v e t h e
\ r i g h t " l e n g t h f u n c t i o n .
T h e 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 g i v e n b y l i n e a r p r o g r a m m i n g c a n b e r e f o r m u l a t e d i n
t e r m s o f c o n d i t i o n s o n e d g e s a n d i n d i v i d u a l c o m m o d i t i e s . A m u l t i c o m m o d i t y o w f h a s m i n i m u m
i f a n d o n l y i f t h e r e e x i s t s a n o n n e g a t i v e a n d n o n - z e r o l e n g t h f u n c t i o n ` s u c h t h a t :
1 . f o r e v e r y e d g e v w 2 E , e i t h e r ` ( v w ) = 0 o r f ( v w ) = u ( v w ) ,
2 . f o r e v e r y c o m m o d i t y i , C
i
= C
i
( )
T h e s e t w o c o n d i t i o n s c h a r a c t e r i z e w h e n f a n d ` a r e o p t i m a l ; w e s h a l l g i v e t w o c o n d i t i o n s o n
a m u l t i c o m m o d i t y o w f a n d a l e n g t h f u n c t i o n ` s u c h t h a t t o g e t h e r t h e y i m p l y t h a t f a n d ` a r e
8
-
8/12/2019 MultiFlowGeneral.ps
10/28
- o p t i m a l . T h e s e c o n d i t i o n s w i l l b e r e l a x e d v e r s i o n s o f t h e 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
a b o v e . S i m i l a r r e l a x e d v e r s i o n s o f T h e o r e m 2 . 2 w e r e u s e d i n 9 ] .
L e t > 0 b e a n e r r o r p a r a m e t e r , f a m u l t i c o m m o d i t y o w s a t i s f y i n g c a p a c i t i e s u ( v w ) , a n d
` a l e n g t h f u n c t i o n . W e s a y t h a t a c o m m o d i t y i i s - g o o d i f
C
i
C
i
( ) C
i
+
k
X
v w 2 E
u ( v w ) ` ( v w )
O t h e r w i s e , w e s a y t h a t t h e c o m m o d i t y i s - b a d . I n t u i t i v e l y , a c o m m o d i t y i s - g o o d i f i t i s a l m o s t
a s c h e a p a s t h e m i n i m u m c o s t p o s s i b l e f o r t h a t c o m m o d i t y o r i t i s a t m o s t a s m a l l f r a c t i o n o f
P
v w 2 E
u ( v w ) ` ( v w ) , t h e t o t a l c o s t o f t h e n e t w o r k . W e u s e t h i s n o t i o n i n d e n i n g t h e f o l l o w i n g
r e l a x e d o p t i m a l i t y c o n d i t i o n s ( w i t h r e s p e c t t o a m u l t i c o m m o d i t y o w f t h a t s a t i s e s c a p a c i t y
c o n s t r a i n t s u ( v w ) , a l e n g t h f u n c t i o n ` a n d a n e r r o r p a r a m e t e r ) :
( R 1 ) F o r e v e r y e d g e v w 2 E e i t h e r ( 1 + ) f ( v w ) u ( v w )
o r u ( v w ) ` ( v w )
m
P
v w 2 E
u ( v
0
w
0
) ` ( v
0
w
0
)
( R 2 )
X
i - b a d
C
i
k
X
i = 1
C
i
B y a p r o o f s i m i l a r t o t h a t o f T h e o r e m 3 . 2 o f 9 ] , w e c a n s h o w t h a t i f w e c a n s a t i s f y t h e r e l a x e d
o p t i m a l i t y c o n d i t i o n s t h e n w e a c t u a l l y h a v e a n O ( ) - o p t i m a l o w . A c o m p l e t e v e r s i o n o f t h e p r o o f
a p p e a r s i n 1 3 ] .
T h e o r e m 3 . 3 S u p p o s e f ` , a n d s a t i s f y t h e r e l a x e d o p t i m a l i t y c o n d i t i o n s a n d
-
8/12/2019 MultiFlowGeneral.ps
11/28
4 . 1 F i n d i n g a n I n i t i a l S o l u t i o n
T o n d a n i n i t i a l s o l u t i o n , w e s e p a r a t e l y r o u t e e a c h c o m m o d i t y i . F o r c o m m o d i t y i , w e n d
i
a n d a o w f
i
, s u c h t h a t f
i
s a t i s e s t h e d e m a n d s o f t h i s c o m m o d i t y a n d o b e y s c a p a c i t y c o n s t r a i n t s
i
u ( v w ) . L e t
i
d e n o t e t h e m i n i m u m p o s s i b l e
i
. F o r e a c h c o m m o d i t y i w e h a v e
i
. I f t h e
c o m m o d i t y h a s a s i n g l e s i n k a n d a s i n g l e s o u r c e w i t h d e m a n d d
i
, t h e n t h e v a l u e o f t h e m a x i m u m -
o w i n t h e g r a p h w i t h c a p a c i t i e s u ( v w ) i s d
i
=
i
. I f t h e c o m m o d i t y h a s m o r e t h a n o n e s i n k o r
s o u r c e , t h e n a
i
2
i
c a n b e f o u n d b y b i n a r y s e a r c h . R e c a l l t h a t D
i
d e n o t e s t h e m a g n i t u d e o f
t h e m a x i m u m d e m a n d f o r c o m m o d i t y i . S i n c e
i
m u s t b e b e t w e e n D
i
= ( n U ) a n d n D
i
, w e n e e d t o
t r y o n l y O ( l o g n U ) v a l u e s . T h e r e f o r e , w e h a v e t h e f o l l o w i n g l e m m a .
L e m m a 4 . 1 A n i n i t i a l m u l t i c o m m o d i t y o w s a t i s f y i n g d e m a n d s s u c h t h a t k
c a n b e f o u n d b y
k m a x i m u m - o w c o m p u t a t i o n s f o r t h e c a s e w h e r e e a c h c o m m o d i t y h a s a s i n g l e s o u r c e a n d a s i n g l e
s i n k . I n t h e c a s e o f m u l t i p l e s o u r c e s a n d m u l t i p l e s i n k s a o w s u c h t h a t 2 k
c a n b e f o u n d b y
O ( k l o g n U ) m a x i m u m - o w c o m p u t a t i o n s .
4 . 2 R e r o u t i n g F l o w
N o w , w e s h o w h o w , g i v e n a o w , w e c a n i t e r a t i v e l y r e r o u t e c o m m o d i t i e s i n o r d e r t o p r o d u c e a
n e w o w t h a t i s c l o s e r t o o p t i m a l i t y . W e g i v e a p r o c e d u r e D e c o n g e s t w h i c h t a k e s a o w f w i t h
c o n g e s t i o n
0
a n d p r o d u c e s a n e w o w f
0
t h a t i s e i t h e r 9 - o p t i m a l o r h a s c o n g e s t i o n
0
0
= 2
T h e b a s i c i d e a i s t h a t t h e p r o c e d u r e r e r o u t e s a n a p p r o p r i a t e l y c h o s e n f r a c t i o n o f t h e o w o f
a n - b a d c o m m o d i t y o n t o t h e e d g e s o f a m i n i m u m - c o s t o w a s s o c i a t e d w i t h t h i s c o m m o d i t y ( a s
d e s c r i b e d b e l o w ) , i n o r d e r t o r e d u c e c o n g e s t i o n . W e u s e a l e n g t h f u n c t i o n ` ( v w ) = e
( v w )
= u ( v w ) ,
w h e r e t h e v a l u e o f w i l l b e c h o s e n l a t e r . T h i s l e n g t h f u n c t i o n h a s t h e p r o p e r t y t h a t t h e l e n g t h
o f a n e d g e v w i s a f u n c t i o n o f t h e c o n g e s t i o n , i . e . t h e f r a c t i o n ( p o s s i b l y g r e a t e r t h a n 1 ) o f t h e
c a p a c i t y o f t h a t e d g e w h i c h i s b e i n g u s e d . I n t u i t i v e l y , b y u s i n g l e n g t h s a s c o s t s i n t h e c o m p u t a t i o n
o f t h e m i n i m u m - c o s t o w , w e a r e p e n a l i z i n g e d g e s w i t h h i g h c o n g e s t i o n .
A t t h e b e g i n n i n g o f p r o c e d u r e D e c o n g e s t , i s c h o s e n s o t h a t R e l a x e d O p t i m a l i t y C o n d i t i o n
R 1 i s a l w a y s s a t i s e d . T h e a c t o f r e r o u t i n g o w g r a d u a l l y e n f o r c e s R e l a x e d O p t i m a l i t y C o n d i t i o n
R 2 . W h e n b o t h c o n d i t i o n s a r e s a t i s e d , t h e n T h e o r e m 3 . 3 c a n b e u s e d t o i n f e r t h a t f i s O ( ) -
o p t i m a l . A l t e r n a t i v e l y , D e c o n g e s t t e r m i n a t e s i f d e c r e a s e s b y m o r e t h a n a f a c t o r o f 2 .
M o r e f o r m a l l y , p r o c e d u r e D e c o n g e s t ( s e e F i g u r e 1 ) t a k e s a s i n p u t a m u l t i c o m m o d i t y o w f
w i t h c o n g e s t i o n
0
, w h e r e f s a t i s e s t h e d e m a n d s , a n d a n e r r o r p a r a m e t e r . I n e a c h i t e r a t i o n , w e
r s t c h o o s e a n - b a d c o m m o d i t y i , a n d f o r m u l a t e a n a u x i l i a r y m i n i m u m - c o s t o w p r o b l e m . T h e
d e m a n d o f e a c h n o d e v i n t h e a u x i l i a r y p r o b l e m i s e q u a l t o
^
d
i
( v ) , a n d t h e d e s i r e d o w f
i
( v w ) i s
c o n s t r a i n e d t o b e b e t w e e n u ( v w ) a n d u ( v w ) , w h e r e i s t h e c u r r e n t c o n g e s t i o n . T h e o b j e c t i v e
i s t o m i n i m i z e C
i
( ) =
P
v w
f
i
( v w ) ` ( v w ) . G i v e n a n o p t i m a l s o l u t i o n t o t h i s p r o b l e m , w e r e r o u t e
a =
8
f r a c t i o n o f t h e o w f
i
o n t o t h e e d g e s o f f
i
b y s e t t i n g f
i
( v w ) ( 1 ) f
i
( v w ) + f
i
( v w ) ,
r e c o m p u t e t h e l e n g t h f u n c t i o n , a n d r e p e a t . U p o n t e r m i n a t i o n , D e c o n g e s t r e t u r n s a n i m p r o v e d
o w f w h i c h i s e i t h e r 9 - o p t i m a l o r h a s m a x i m u m c o n g e s t i o n
0
= 2
W e n o w s h o w t h a t w e c a n a l w a y s c h o o s e s o t h a t R e l a x e d O p t i m a l i t y C o n d i t i o n R 1 i s s a t i s e d .
L e m m a 4 . 2 f f i s a m u l t i c o m m o d i t y o w w h i c h s a t i s e s d e m a n d s a n d ( 1 + )
1
1
l n ( m
1
)
t h e n f a n d l e n g t h f u n c t i o n ` ( v w ) = e
( v w )
= u ( v w ) s a t i s f y R e l a x e d O p t i m a l i t y C o n d i t i o n R 1
1 0
-
8/12/2019 MultiFlowGeneral.ps
12/28
D e c o n g e s t ( f )
0
2 ( 1 + )
0
1
1
l n ( m
1
)
W h i l e
0
= 2 a n d f a n d ` a r e n o t 9 - o p t i m a l
8
F o r e a c h e d g e v w ` ( v w ) e
( v w )
= u ( v w )
F i n d a n - b a d c o m m o d i t y i
F o r m u l a t e a n a u x i l i a r y m i n i m u m - c o s t o w p r o b l e m o n G , w h e r e e a c h n o d e v h a s d e m a n d
^
d
i
( v )
a n d t h e o w o n e d g e v w i s c o n s t r a i n e d t o b e b e t w e e n u ( v w ) a n d u ( v w )
C o m p u t e o w f
i
t h a t m i n i m i z e s C
i
( ) =
P
v w
f
i
( v w ) ` ( v w ) i n t h e a u x i l i a r y p r o b l e m .
F o r a l l v w 2 E f
i
( v w ) ( 1 ) f
i
( v w ) + f
i
( v w )
R e t u r n f
F i g u r e 1 : P r o c e d u r e D e c o n g e s t
P r o o f : W e s h o w t h a t i f a n e d g e v
0
w
0
v i o l a t e s t h e r s t p a r t o f R e l a x e d O p t i m a l i t y C o n d i t i o n R 1
t h e n i t m u s t s a t i s f y t h e s e c o n d p a r t . F o r t h i s e d g e u ( v
0
w
0
) > ( 1 + ) f ( v
0
w
0
) . L e t v
w
b e t h e
e d g e s u c h t h a t ( v
w
) = . T h e n
P
v w
u ( v w ) ` ( v w )
u ( v
0
w
0
) ` ( v
0
w
0
)
u ( v
w
) ` ( v
w
)
e
= ( 1 + )
e
e
= ( 1 + )
m
I n t h e b e g i n n i n g o f p r o c e d u r e D e c o n g e s t , i s s e t e q u a l t o 2 ( 1 + )
0
1
1
l n ( m
1
) a n d
t h r o u g h o u t D e c o n g e s t >
0
= 2 . T h e r e f o r e ( 1 + )
1
1
l n ( m
1
) t h r o u g h o u t .
T o m e a s u r e p r o g r e s s o f o u r a l g o r i t h m , w e i n t r o d u c e a p o t e n t i a l f u n c t i o n =
P
v w
u ( v w ) ` ( v w )
W e n o w s h o w t h a t r e r o u t i n g t h e r i g h t a m o u n t o f o w r e s u l t s i n a s i g n i c a n t d e c r e a s e i n .
L e m m a 4 . 3 L e t i b e a n - b a d c o m m o d i t y , 1 , a n d l e t f
i
b e a m i n i m u m - c o s t o w f o r t h i s c o m -
m o d i t y , a s d e s c r i b e d a b o v e a n d l e t
1 6
8
. L e t t h e n e w o w f o r c o m m o d i t y i b e d e n e d b y
f
i
( v w ) ( 1 ) f
i
( v w ) + f
i
( v w ) . T h e n
0
= (
2
k
) , w h e r e
0
i s t h e v a l u e o f t h e p o t e n t i a l
f u n c t i o n a s s o c i a t e d w i t h t h e n e w o w .
P r o o f : D e n o t e b y ` ( v w ) a n d `
0
( v w ) t h e l e n g t h o f e d g e v w b e f o r e a n d a f t e r r e r o u t i n g , r e s p e c t i v e l y .
L e t ( v w ) d e n o t e t h e i n c r e a s e i n o w o n v w d u e t o r e r o u t i n g . R e c a l l t h a t , a f t e r r e r o u t i n g , t h e o w
o f t h e r e r o u t e d c o m m o d i t y i o n v w i s ( 1 ) f
i
( v w ) + f
i
( v w ) , a n d h e n c e ( v w ) = f
i
( v w )
f
i
( v w ) ( f
i
( v w ) + f
i
( v w ) ) M o r e o v e r , s i n c e b o t h f
i
a n d f
i
h a v e c o n g e s t i o n a t m o s t ,
( v w ) 2 u ( v w )
B y d e n i t i o n o f t h e l e n g t h f u n c t i o n , `
0
( v w ) = e
( f ( v w ) + ( v w ) ) = u ( v w )
= u ( v w ) = e
f ( v w ) = u ( v w ) +
= u ( v w ) ,
w h e r e = ( v w ) = u ( v w ) . O b s e r v e t h a t 2 = 4 1 = 4 . U s i n g t h e T a y l o r s e r i e s , w e s e e
t h a t = 4 1 = 4 i m p l i e s t h a t f o r a l l x , e
x +
e
x
+ e
x
+
2
e
x
. T h e r e f o r e , w e h a v e :
`
0
( v w ) ` ( v w ) ` ( v w ) +
2
` ( v w )
( f
i
( v w ) f
i
( v w ) )
u ( v w )
` ( v w ) +
( f
i
( v w ) + f
i
( v w ) )
2 u ( v w )
` ( v w )
1 1
-
8/12/2019 MultiFlowGeneral.ps
13/28
W e u s e t h i s b o u n d t o e s t i m a t e t h e d e c r e a s e i n t h e p o t e n t i a l f u n c t i o n .
0
=
X
v w 2 E
( ` ( v w ) `
0
( v w ) ) u ( v w )
X
v w
( f
i
( v w ) f
i
( v w ) ) ` ( v w )
2
X
v w
( f
i
( v w ) + f
i
( v w ) ) ` ( v w )
U s i n g t h a t
P
v w
( f
i
( v w ) + f
i
( v w ) ) ` ( v w ) C
i
+ C
i
( ) 2 C
i
a n d t h e f a c t t h a t c o m m o d i t y i
i s - b a d w e g e t
0
( C
i
C
i
( ) ) C
i
C
i
+
P
v w
` ( v w ) u ( v w )
k
C
i
=
k
( 5 )
P l u g g i n g i n t h e v a l u e o f f r o m t h e s t a t e m e n t o f t h e l e m m a , w e g e t t h a t t h e d e c r e a s e i s (
2
k
)
T h e o r e m 4 . 4 P r o c e d u r e D e c o n g e s t t e r m i n a t e s i n O (
3
k l o g n ) i t e r a t i o n s . I f t h e i n i t i a l c o n g e s t i o n
0
s O ( ) - o p t i m a l t h e n D e c o n g e s t t e r m i n a t e s i n O (
2
k l o g n ) i t e r a t i o n s .
P r o o f : T h e o r e m 3 . 3 i m p l i e s t h a t i f f a n d ` s a t i s f y b o t h o f t h e r e l a x e d o p t i m a l i t y c o n d i t i o n s
t h a n t h e y a r e 9 - o p t i m a l . B y L e m m a 4 . 2 , t h e R e l a x e d O p t i m a l i t y C o n d i t i o n R 1 i s m a i n t a i n e d
t h r o u g h o u t a l l i t e r a t i o n s . I f f i s n o t y e t 9 - o p t i m a l t h e n R e l a x e d O p t i m a l i t y C o n d i t i o n R 2 i s
n o t s a t i s e d . H e n c e t h e r e e x i s t s a n - b a d c o m m o d i t y . B u t e v e r y r e r o u t i n g o f o w f r o m a n - b a d
c o m m o d i t y t o t h e c o r r e s p o n d i n g m i n i m u m - c o s t o w r e s u l t s i n a r e d u c t i o n i n o f a t l e a s t (
2
k
)
S i n c e 1 x < e
x
, i t f o l l o w s t h a t e v e r y O ( k
2
) i t e r a t i o n s r e d u c e b y a t l e a s t a c o n s t a n t f a c t o r .
N e x t w e b o u n d t h e n u m b e r o f t i m e s c a n b e r e d u c e d b y a c o n s t a n t f a c t o r . L e t
0
b e t h e
c o n g e s t i o n o f t h e i n i t i a l o w . F o r e a c h e d g e v w , ( v w )
0
, s o i n i t i a l l y , m e
0
. W e k n o w t h a t
i n t h e b e g i n n i n g o f t h e l a s t i t e r a t i o n a t l e a s t o n e e d g e h a s c o n g e s t i o n a t l e a s t
0
= 2 , s o e
0
= 2
T h u s t h e n u m b e r o f t i m e s c a n d e c r e a s e b y a c o n s t a n t f a c t o r i s O (
0
+ l o g m ) = O (
0
)
C o m b i n i n g t h i s w i t h t h e n u m b e r o f i t e r a t i o n s n e e d e d t o r e d u c e b y a c o n s t a n t f a c t o r a n d p l u g g i n g
i n t h e v a l u e o f , w e g e t t h a t t h e t o t a l n u m b e r o f i t e r a t i o n s i s O (
3
k l o g ( n
1
) ) . W e h a v e a s s u m e d
t h a t i s a t l e a s t i n v e r s e p o l y n o m i a l i n n , s o t h i s i s i n f a c t O (
3
k l o g n )
I f t h e i n i t i a l o w i s O ( ) - o p t i m a l t h e n w e k n o w t h a t t h r o u g h o u t D e c o n g e s t , w i l l n e v e r g o
b e l o w
0
= ( 1 + O ( ) ) . T h u s , w e h a v e t h e t i g h t e r b o u n d o f e
( 1 + O ( ) )
1
0
m e
0
. C o m b i n i n g
t h i s w i t h t h e n u m b e r o f i t e r a t i o n s n e e d e d t o r e d u c e b y a c o n s t a n t f a c t o r a n d p l u g g i n g i n t h e
v a l u e o f , w e g e t t h a t t h e t o t a l n u m b e r o f i t e r a t i o n s i s O (
2
k l o g n )
T h e o n l y c o m p u t a t i o n - i n t e n s i v e p a r t o f D e c o n g e s t i s n d i n g a n - b a d c o m m o d i t y a n d c o m -
p u t i n g m i n i m u m - c o s t o w s . A l l t h e r e s t c a n b e d o n e i n O ( m ) t i m e . T h e s i m p l e s t w a y t o n d a n
- b a d c o m m o d i t y i s t o c o m p u t e t h e c o s t s C
i
=
P
v w 2 E
f
i
( v w ) ` ( v w ) a n d t h e c o s t s o f t h e m i n i m u m -
c o s t o w s a n d c o m p a r e t h e m . I n t h e w o r s t c a s e w e n e e d t o c h e c k a l l k c o m m o d i t i e s . H e n c e , a n
i t e r a t i o n c a n b e i m p l e m e n t e d i n t h e t i m e i t t a k e s t o p e r f o r m k m i n i m u m - c o s t o w c o m p u t a t i o n s .
A s i n 9 ] , w e c a n p e r f o r m t h i s c o m p u t a t i o n m o r e e c i e n t l y b y u s i n g a s i m p l e r a n d o m i z e d
s t r a t e g y . I f w e c o m p u t e t h e c o s t C
i
o f e a c h c o m m o d i t y a n d t h e n r a n d o m l y c h o o s e a c o m m o d i t y
w i t h p r o b a b i l i t y p r o p o r t i o n a l t o i t s c o s t , t h e n w i t h p r o b a b i l i t y o f a t l e a s t , w e h a v e c h o s e n a n
1 2
-
8/12/2019 MultiFlowGeneral.ps
14/28
- b a d c o m m o d i t y . B y c o m p u t i n g a s i n g l e m i n i m u m - c o s t o w w e c a n c h e c k w h e t h e r t h e c o m m o d i t y
i s i n d e e d - b a d . W e e x p e c t t o p e r f o r m t h i s c o m p u t a t i o n
1
t i m e s , a n d h e n c e a n i t e r a t i o n c a n b e
i m p l e m e n t e d i n e x p e c t e d t i m e e q u a l t o O ( m k ) p l u s
1
t i m e s t h e t i m e t o p e r f o r m a m i n i m u m - c o s t
o w c a l c u l a t i o n .
O b s e r v e t h a t i f k n ( t h i s w i l l b e t h e c a s e w h e n L e m m a 2 . 1 i s a p p l i e d ) t h e t i m e t o c o m p u t e
t h e c o s t o f a l l c u r r e n t o w s i s d o m i n a t e d b y t h e t i m e t o c o m p u t e a m i n i m u m - c o s t o w . I f t h e
t i m e r e q u i r e d t o c o m p u t e t h e c o s t s o f t h e k c o m m o d i t i e s i s n o t d o m i n a t e d , w e c a n u s e a s t r a t e g y
s i m i l a r t o t h a t o f 9 ] i n w h i c h w e p i c k a n e d g e w i t h p r o b a b i l i t y p r o p o r t i o n a l t o t h e c o s t o f o w
t h r o u g h t h i s e d g e , a n d t h e n a c o m m o d i t y w i t h p r o b a b i l i t y p r o p o r t i o n a l t o t h e c o s t o f o w o f
t h i s c o m m o d i t y t h r o u g h t h i s e d g e , a n d r e d u c e t h e t i m e f o r r a n d o m s e l e c t i o n f r o m O ( k m ) t o t h e
m i n i m u m o f O ( m + k ) a n d O ( m l o g k )
A f t e r e v e r y k i t e r a t i o n s w e c a n c o m p u t e m i n i m u m - c o s t o w s a s s o c i a t e d w i t h a l l t h e o w s a n d
d e t e r m i n e w h e t h e r t h e c u r r e n t o w i s 9 - o p t i m a l . T h e r e f o r e , w e c a n i m p l e m e n t D e c o n g e s t a s
a L a s - V e g a s a l g o r i t h m . N o t e t h a t t h i s r e s u l t s i n a t m o s t a f a c t o r o f 2 i n c r e a s e i n t h e n u m b e r o f
m i n i m u m - c o s t o w s c o m p u t e d d u r i n g t h e e x e c u t i o n o f D e c o n g e s t . C o m b i n i n g T h e o r e m 4 . 4 a n d
t h e a b o v e d i s c u s s i o n w e g e t 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 4 . 5 P r o c e d u r e D e c o n g e s t c a n b e i m p l e m e n t e d r a n d o m l y u s i n g a n e x p e c t e d O (
4
k l o g n )
m i n i m u m - c o s t o w c o m p u t a t i o n s a n d O (
4
m k l o g n l o g k ) a d d i t i o n a l t i m e , o r d e t e r m i n i s t i c a l l y u s i n g
O (
3
k
2
l o g n ) m i n i m u m - c o s t o w c o m p u t a t i o n s , a s s u m i n g t h a t e x p o n e n t i a t i o n c a n b e i m p l e m e n t e d i n
O ( 1 ) t i m e . I f t h e i n i t i a l c o n g e s t i o n
0
s O ( ) o p t i m a l , t h e n b o t h t h e r a n d o m i z e d a n d d e t e r m i n i s t i c
v e r s i o n s o f D e c o n g e s t c a n b e i m p l e m e n t e d i n (
1
) l e s s t i m e .
4 . 3 P u t t i n g I t T o g e t h e r
W e c o n s i d e r t w o c a s e s f o r s o l v i n g a c o n c u r r e n t o w p r o b l e m . W e r s t c o n s i d e r t h e c a s e w h e n i s
a x e d c o n s t a n t l e s s t h a n 1 = 9 . I n t h i s c a s e , w e r s t n d a n i n i t i a l s o l u t i o n b y s o l v i n g O ( k l o g ( n U ) )
m a x i m u m o w p r o b l e m s , a s i s d i s c u s s e d i n S e c t i o n 4 . 1 . T h i s g i v e s u s a o w w i t h 2 k
W e
t h e n c a l l D e c o n g e s t O ( l o g k ) t i m e s i n o r d e r t o p r o d u c e a o w s u c h t h a t ( 1 + 9 )
. A p p l y i n g
t h e r s t p a r t o f T h e o r e m 4 . 5 w e g e t t h e f o l l o w i n g r e s u l t :
T h e o r e m 4 . 6 F o r a c o n s t a n t a n - o p t i m a l s o l u t i o n f o r t h e c o n c u r r e n t o w p r o b l e m c a n b e f o u n d a f -
t e r i n i t i a l i z a t i o n ( L e m m a 4 . 1 ) b y a r a n d o m i z e d a l g o r i t h m t h a t u s e s a n e x p e c t e d n u m b e r o f O ( k l o g n l o g k )
m i n i m u m - c o s t o w c o m p u t a t i o n s a n d O ( k m l o g n l o g
2
k ) a d d i t i o n a l t i m e , o r d e t e r m i n i s t i c a l l y u s i n g
O ( k
2
l o g n l o g k ) m i n i m u m - c o s t o w c o m p u t a t i o n s , i f e x p o n e n t i a t i o n c a n b e i m p l e m e n t e d i n O ( 1 ) t i m e .
O b s e r v e t h a t f o r m o s t k n o w n a l g o r i t h m s t h e t i m e t o p e r f o r m O ( k l o g n l o g k ) m i n i m u m - c o s t o w
c o m p u t a t i o n s d o m i n a t e s t h e t i m e t o p e r f o r m O ( k l o g ( n U ) ) m a x i m u m o w c o m p u t a t i o n s n e e d e d
f o r t h e i n i t i a l i z a t i o n s t a g e w h e n w e s o l v e a n i n s t a n c e o f t h e g e n e r a l m u l t i c o m m o d i t y o w p r o b l e m .
W h e n i s o ( 1 ) w e u s e - s c a l i n g . F i r s t w e n d a n - o p t i m a l m u l t i c o m m o d i t y o w w i t h = 1 = 9
u s i n g t h e a b o v e p r o c e d u r e . T h e r e s t o f t h e c o m p u t a t i o n i s d i v i d e d i n t o s c a l i n g p h a s e s . W e s t a r t
e a c h p h a s e b y d i v i d i n g b y 2 . T h u s o u r c u r r e n t o w i s 1 8 - o p t i m a l w i t h r e s p e c t t o t h e n e w . T h e
s e c o n d p a r t o f T h e o r e m 4 . 5 i m p l i e s t h a t t h e e x p e c t e d n u m b e r o f m i n i m u m - c o s t o w c o m p u t a t i o n s
n e e d e d t o c o n v e r t t h i s o w i n t o a n 9 - o p t i m a l o n e i s b o u n d e d b y O (
3
k l o g n ) . T h e t i m e s p e n t
1 3
-
8/12/2019 MultiFlowGeneral.ps
15/28
o n t h e - s c a l i n g p h a s e i s p r o p o r t i o n a l t o
3
, a n d t h e r e f o r e t h e l a s t s c a l i n g i t e r a t i o n d o m i n a t e s t h e
t i m e s p e n t o n a l l t h e s c a l i n g i t e r a t i o n s .
T h e o r e m 4 . 7 F o r > 0 a n - o p t i m a l s o l u t i o n f o r t h e c o n c u r r e n t o w p r o b l e m c a n b e f o u n d a f t e r
i n i t i a l i z a t i o n ( L e m m a 4 . 1 ) b y a r a n d o m i z e d a l g o r i t h m t h a t u s e s a n e x p e c t e d n u m b e r o f O ( k ( l o g k +
3
) l o g n ) m i n i m u m - c o s t o w c o m p u t a t i o n s , a n d O ( k m ( l o g k +
3
) l o g k l o g n ) a d d i t i o n a l t i m e , o r
d e t e r m i n i s t i c a l l y u s i n g O ( k
2
( l o g k +
2
) l o g n ) m i n i m u m - c o s t o w c o m p u t a t i o n s , i f e x p o n e n t i a t i o n c a n
b e i m p l e m e n t e d i n O ( 1 ) t i m e .
G o l d b e r g 4 ] a n d G r i g o r i a d i s a n d K h a c h i y a n 6 ] h a v e s h o w n h o w t o r e d u c e t h e r u n n i n g t i m e
o f o u r r a n d o m i z e d a l g o r i t h m s b y a n
1
f a c t o r . G o l d b e r g g i v e s a s o m e w h a t s i m p l i e d v e r s i o n o f
o u r p r o o f t h a t l e a d s t o a r a n d o m i z e d s e l e c t i o n s t r a t e g y w h i c h a v o i d s h a v i n g t o s e a r c h f o r a n - b a d
c o m m o d i t y . G r i g o r i a d i s a n d K h a c h i y a n g e n e r a l i z e o u r a l g o r i t h m t o s o l v e c e r t a i n t y p e s o f c o n v e x
p r o g r a m m i n g p r o b l e m s . T h e i r a l g o r i t h m , w h e n s p e c i a l i z e d t o t h e c a s e o f s o l v i n g m u l t i c o m m o d i t y
o w s , a l s o a v o i d s s e a r c h i n g f o r a n - b a d c o m m o d i t y .
5 I m p l e m e n t i n g O n e I t e r a t i o n o f D e c o n g e s t
I n t h i s s e c t i o n w e s h a l l a d d r e s s t h e i s s u e o f h o w t o i m p l e m e n t a n i t e r a t i o n o f t h e p r o c e d u r e
D e c o n g e s t . I n t h e p r e v i o u s s e c t i o n , w e a s s u m e d a n o n - s t a n d a r d m o d e l o f c o m p u t a t i o n t h a t
a l l o w s e x p o n e n t i a t i o n t o b e i m p l e m e n t e d i n O ( 1 ) t i m e . I n t h i s s e c t i o n , w e s h o w h o w t o i m p l e m e n t
a n i t e r a t i o n i n t h e s t a n d a r d R A M m o d e l o f c o m p u t a t i o n , a c h i e v i n g t h e s a m e t i m e b o u n d s . W e
t h e n d e r i v e b o u n d s o n t h e t i m e t o n d a m i n i m u m - c o s t o w .
M o r e s p e c i c a l l y , i n S e c t i o n 5 . 1 , w e w i l l r s t s h o w t h a t a o w t h a t s a t i s e s a r e l a x e d s e t o f
m i n i m u m - c o s t o w c o n s t r a i n t s w i l l s u c e . W e t h e n s h o w t h a t a o w s a t i s f y i n g a s e c o n d s e t o f
r e l a x e d c o n s t r a i n t s c a n b e m o d i e d i n O ( m ) t i m e t o s a t i s f y t h e r s t s e t o f r e l a x e d c o n s t r a i n t s w h i l e
h a v i n g t h e a d d i t i o n a l p r o p e r t y t h a t t h e r e s u l t i n g o w c a n b e r e p r e s e n t e d i n O ( l o g ( n U ) ) b i t s p e r
c o m m o d i t y / e d g e p a i r . W e t h e n g i v e a n a p p r o x i m a t e l e n g t h f u n c t i o n t h a t u s e s O ( l o g ( n U ) ) b i t s
p e r e d g e w h i c h c a n b e u s e d i n a m i n i m u m - c o s t o w a l g o r i t h m t o p r o d u c e a o w t h a t s a t i s e s t h e
s e c o n d s e t o f r e l a x e d c o n s t r a i n t s .
I n S e c t i o n 5 . 2 , w e d i s c u s s w h i c h m i n i m u m - c o s t o w a l g o r i t h m t o u s e . W e w i l l u s e d i e r e n t
m i n i m u m c o s t o w a l g o r i t h m s i n d i e r e n t s i t u a t i o n s . F o r g e n e r a l c o n c u r r e n t o w p r o b l e m s , t h e
b e s t c h o i c e s e e m s t o b e e i t h e r t h e a l g o r i t h m o f G o l d b e r g a n d T a r j a n 5 ] o r t h a t o f A h u j a , G o l d b e r g ,
O r l i n a n d T a r j a n 1 ] . F o r c o n c u r r e n t o w w i t h u n i f o r m c a p a c i t y , w e u s e G a b o w a n d T a r j a n ' s 3 ]
a l g o r i t h m f o r t h e a s s i g n m e n t p r o b l e m . W h e n b o t h t h e d e m a n d s a n d c a p a c i t i e s a r e u n i f o r m , w e
u s e t h e a l g o r i t h m t h a t i t e r a t i v e l y c o m p u t e s s h o r t e s t p a t h s i n t h e r e s i d u a l g r a p h w i t h n o n n e g a t i v e
c o s t s d i s c o v e r e d i n d e p e n d e n t l y b y F o r d a n d F u l k e r s o n 2 ] a n d Y a k o v l e v a 1 6 ] .
5 . 1 R o u n d i n g t h e F l o w s a n d L e n g t h s
P r o c e d u r e D e c o n g e s t , 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 , i t e r a t i v e l y c o m p u t e s f
i
, w h i c h i s a
o w t h a t s a t i s e s t h e d e m a n d s o f c o m m o d i t y i s u b j e c t t o c a p a c i t y c o n s t r a i n t s u ( v w ) o n e a c h e d g e
v w , a n d m i n i m i z e s C
i
=
P
v w 2 E
f
i
( v w ) ` ( v w ) . I n s t e a d , w e w i l l c o m p u t e a n a p p r o x i m a t i o n
f
i
t o f
i
. T h e o w
f
i
c a n h a v e c o s t s o m e w h a t m o r e t h a n t h e c o s t o f f
i
, a n d i t m a y s a t i s f y s l i g h t l y
1 4
-
8/12/2019 MultiFlowGeneral.ps
16/28
r e l a x e d c a p a c i t y c o n s t r a i n t s . T h e k e y t o s h o w i n g t h a t t h i s o w c a n b e u s e d i n t h e a l g o r i t h m i n s t e a d
o f f
i
i s t o p r o v e a r e l a x e d v e r s i o n o f L e m m a 4 . 3 .
T h e o r e m 5 . 1 L e t C
i
d e n o t e t h e c o s t o f t h e c u r r e n t o w o f c o m m o d i t y i w i t h r e s p e c t t o t h e c u r r e n t
l e n g t h f u n c t i o n , a n d l e t
f
i
b e a o w t h a t s a t i s e s d e m a n d s o f c o m m o d i t y i a n d t h e c o n s t r a i n t s
(
8 v w 2 E :
f
i
( v w ) 2 u ( v w )
P
v w 2 E
f
i
( v w ) ` ( v w ) C
i
+
1
2
( C
i
+
k
)
( 6 )
T h e n , i f w e u s e
f
i
i n s t e a d o f f
i
i n t h e c o n c u r r e n t o w a l g o r i t h m w i t h
3 2
1 6
, w e g e t a
b o u n d o n t h e d e c r e a s e o f t h e p o t e n t i a l f u n c t i o n b y (
2
k
)
P r o o f : T h e d i e r e n c e b e t w e e n t h i s p r o o f a n d t h a t o f L e m m a 4 . 3 i s a s f o l l o w s . H e r e w e c a n
c o n c l u d e t h a t ( v w ) 3 u ( v w ) , a n d 3 3 = 1 6 . W e u s e t h a t 3 = 1 6 1 = 4
i m p l i e s e
x +
e
x
+ e
x
+
3
1 6
e
x
. W e m o d i f y e q u a t i o n ( 5 ) a p p r o p r i a t e l y , a n d c o n c l u d e t h a t
0
4 k
= (
2
k
)
I n f a c t , w e w o n ' t n d s u c h a o w d i r e c t l y . W h a t w e w i l l d o i s t o c o m p u t e a o w t h a t s a t i s e s
t h e s o m e w h a t t i g h t e r c o n s t r a i n t s ,
(
8 v w 2 E :
~
f
i
( v w )
3
2
u ( v w )
P
v w 2 E
~
f
i
( v w ) ` ( v w ) C
i
+
1
4
( C
i
+
k
)
( 7 )
W e w i l l t h e n m o d i f y t h i s o w s l i g h t l y s o t h a t i t s a t i s e s c o n d i t i o n s ( 6 ) a n d t h e n e w o w c a n b e
r e p r e s e n t e d i n O ( l o g ( n U ) ) b i t s p e r e d g e .
T h e o r e m 5 . 2 L e t
~
f
i
b e a o w t h a t s a t i s e s c o n d i t i o n s ( 7 ) . T h e n , i n O ( m ) t i m e , w e c a n c o n v e r t i t
i n t o a o w
f
i
t h a t s a t i s e s ( 6 ) s u c h t h a t ( 1 ) f
i
( v w ) +
f
i
( v w ) c a n b e r e p r e s e n t e d i n O ( l o g ( n U ) )
b i t s f o r e v e r y e d g e v w
P r o o f : G i v e n t h e o w
~
f
i
, w e r s t c o m p u t e t h e o w ( 1 ) f
i
+
~
f
i
w h e r e i s c h o s e n a s i n
T h e o r e m 5 . 1 . I n o r d e r t o a l l o w t h i s o w t o b e r e p r e s e n t e d i n O ( l o g ( n U ) ) b i t s , w e w i l l r o u n d t h e
o w o n e d g e v w t o a n i n t e g e r m u l t i p l e o f =
2
= ( 1 2 8 m
2
k ) . O b s e r v e t h a t i f w e j u s t r o u n d e d t h e
o w o n e v e r y e d g e v w t o t h e n e a r e s t i n t e g e r m u l t i p l e o f , w e w o u l d h a v e n o g u a r a n t e e t h a t t h e
o w c o n s e r v a t i o n c o n s t r a i n t s o f e q u a t i o n ( 2 ) a r e s t i l l s a t i s e d . T h u s , w e m u s t r o u n d m o r e c a r e f u l l y .
L e t T b e a s p a n n i n g t r e e i n t h e g r a p h . W e r o u n d t h e o w o n a l l t h e n o n - t r e e e d g e s t o t h e n e a r e s t
m u l t i p l e o f . T h i s r o u n d e d o w w i l l n o t n e c e s s a r i l y s a t i s f y t h e c o n s e r v a t i o n c o n s t r a i n t s , s o w e
u s e t h e t r e e e d g e s t o c o r r e c t f o r t h e v i o l a t i o n s w e m a y h a v e i n t r o d u c e d . I t i s e a s y t o s e e t h a t b y
c o m p u t i n g t h e o w v a l u e s o n t h e e d g e s o f T i n p o s t o r d e r w e c a n c a r r y o u t t h i s s t e p i n O ( m ) t i m e .
O b s e r v e t h a t t h e a m o u n t o f o w w e h a d t o a d d t o a n y n o n - t r e e e d g e i s a t m o s t a n d t h e a m o u n t
t h a t w e h a d t o a d d t o a n y t r e e e d g e i s a t m o s t m , a s t h e o w o n a t r e e e d g e m a y h a v e t o c o r r e c t
f o r t h e v i o l a t i o n a c r o s s t h e c u t d e n e d b y t h a t e d g e a n d t h e t r e e .
T h e r e s u l t i n g r o u n d e d o w i m p l i c i t l y d e n e s a
f
i
a s i t c a n b e w r i t t e n a s ( 1 ) f
i
+
f
i
f o r
a n a p p r o p r i a t e l y c h o s e n
f
i
. T h e o w
f
i
o n e d g e v w i s
~
f
i
( v w ) p l u s
1
t i m e s t h e r o u n d i n g e r r o r
o n t h e e d g e . W e n o w s h o w t h a t i t s a t i s e s t h e c o n d i t i o n s ( 6 ) . T h e r o u n d i n g e r r o r o n a n y e d g e
i s a t m o s t m , t h e r e f o r e f o r e v e r y e d g e ,
f
i
( v w )
~
f
i
( v w ) +
1
m . P l u g g i n g i n t h e b o u n d s o n
1 5
-
8/12/2019 MultiFlowGeneral.ps
17/28
f
i
( v w ) f r o m ( 7 ) a n d t h e v a l u e s o f a n d w e g e t a n u p p e r b o u n d o f
3
2
u ( v w ) +
1
2
. S i n c e u ( v w )
i s i n t e g r a l , w e c o n c l u d e t h a t
f
i
( v w ) 2 u ( v w ) . W e b o u n d t h e c o s t o f
f
i
a s f o l l o w s .
P
v w
f
i
( v w ) ` ( v w )
P
v w
(
~
f
i
( v w ) +
1
m ) ` ( v w )
P
v w
~
f
i
( v w ) ` ( v w ) + m
1
m e
C
i
+
1
4
C
i
+
e
k
+
e
4 k
( b y ( 7 ) a n d t h e d e n i t i o n s o f a n d )
C
i
+
1
2
C
i
+
k
( u s i n g e
)
T h e r e f o r e w e h a v e s a t i s e d t h e c o n d i t i o n s o f t h e t h e o r e m .
C o m b i n i n g t h e p r e v i o u s t w o t h e o r e m s w e g e t t h e f o l l o w i n g c o r o l l a r y :
C o r o l l a r y 5 . 3 A o w
~
f
i
s a t i s f y i n g e q u a t i o n s ( 7 ) s u c e s t o g e t a b o u n d o n t h e d e c r e a s e i n t h e
p o t e n t i a l f u n c t i o n b y (
2
k
) w h i l e m a i n t a i n i n g o w s r e p r e s e n t e d b y O ( l o g ( n U ) ) b i t s p e r e d g e .
N o w w e w i l l s h o w h o w t o c o m p u t e a o w t h a t s a t i s e s ( 7 ) . C l e a r l y w e c o u l d d o s o b y n d i n g a
m i n i m u m - c o s t o w w i t h r e s p e c t t o t h e e x a c t l e n g t h f u n c t i o n `
U n f o r t u n a t e l y , t h i s l e n g t h f u n c t i o n i s e x p o n e n t i a l i n t h e s i z e o f t h e i n p u t a n d c o m p u t i n g i t
e x a c t l y m i g h t t a k e t o o l o n g . I n s t e a d , w e w i l l d e s c r i b e h o w t o c o m p u t e a n a p p r o x i m a t e l e n g t h
f u n c t i o n
~
` , s u c h t h a t t h e o w t h a t h a s m i n i m u m c o s t w i t h r e s p e c t t o
~
` w i l l h a v e c o s t a t m o s t
C
i
+ = ( 8 k ) w i t h r e s p e c t t o ` . B y C o r o l l a r y 5 . 3 , s u c h o w c a n b e u s e d i n o r d e r t o i m p l e m e n t
t h e r e r o u t i n g s t e p i n o u r a l g o r i t h m .
T h e n e w l e n g t h f u n c t i o n
~
` w i l l b e i n t e g r a l , i t w i l l c o n s i s t o f O ( l o g ( n U ) ) b i t s p e r e d g e , w i l l b e
a p p r o x i m a t e l y r e l a t e d t o ` b y t h e s c a l a r m u l t i p l i e r = e
= ( 1 6 U m k ) , a n d w i l l s a t i s f y
~
` ( v w )
` ( v w ) o n e v e r y e d g e v w . I t w i l l t a k e O ( l o g n ) t i m e t o c o m p u t e
~
` ( v w ) o n e a c h e d g e v w . I n t h e
f o l l o w i n g w e w i l l u s e
~
C
i
a n d
~
C
i
t o d e n o t e t h e c u r r e n t c o s t a n d t h e m i n i m u m c o s t o f c o m m o d i t y i
w i t h r e s p e c t t o l e n g t h
~
` , r e s p e c t i v e l y .
F o r e a c h e d g e , r s t w e c o m p u t e e
( f ( v w ) = u ( v w ) )
a p p r o x i m a t e l y t o h a v e a t m o s t = = ( 1 6 k m )
a d d i t i v e e r r o r , t h e n w e m u l t i p l y t h e r e s u l t b y
1
U , d i v i d e b y u ( v w ) , t a k e t h e i n t e g e r p a r t , a n d s e t
~
` ( v w ) t o b e t h i s v a l u e . U s i n g t h e T a y l o r s e r i e s w e c a n c o m p u t e o n e b i t i n a n e
x
i n O ( 1 ) t i m e . S i n c e
e
( f ( v w ) = u ( v w ) )
i s a t m o s t 1 o n e v e r y e d g e , i t i s s u c i e n t t o c o m p u t e O ( l o g ( 1 = ) ) b i t s t o a c h i e v e t h e
d e s i r e d a p p r o x i m a t i o n . C o m p u t i n g t h e a p p r o x i m a t e l e n g t h f u n c t i o n t a k e s O ( l o g ( 1 = ) ) = O ( l o g n )
t i m e f o r e a c h e d g e , a n d O ( m l o g n ) t i m e i n t o t a l .
B e c a u s e o f t h e a p p r o x i m a t i o n a n d t h e i n t e g e r r o u n d i n g , a o w
~
f
i
, w h i c h h a s m i n i m u m c o s t
w i t h r e s p e c t t o
~
` , i s n o t n e c e s s a r i l y t h e m i n i m u m - c o s t o w w i t h r e s p e c t t o ` . H o w e v e r , w e w i l l
s h o w t h a t a o w t h a t i s m i n i m u m - c o s t w i t h r e s p e c t t o
~
` w i l l s a t i s f y c o n d i t i o n s ( 7 ) .
L e m m a 5 . 4 L e t
~
f
i
b e a o w t h a t i s m i n i m u m c o s t w i t h r e s p e c t t o t h e c o s t s
~
` d e n e d a b o v e . T h e n
~
f
i
h a s c o s t ( w i t h r e s p e c t t o ` ) a t m o s t = ( 8 k ) m o r e t h a n t h e m i n i m u m .
P r o o f : R e c a l l t h a t = e
= U , a n d = = ( 1 6 m k ) . W e b o u n d t h e d i e r e n c e b e t w e e n ` a n d
~
` ,
a s c a l e d u p v e r s i o n o f t h e a p p r o x i m a t e l e n g t h f u n c t i o n . I n c o m p u t i n g
~
` , w e i n t r o d u c e e r r o r s i n
t w o p l a c e s . F i r s t , w h e n c o m p u t i n g e
( ( v w ) )
t o a p r e c i s i o n o f , w e i n t r o d u c e a n e r r o r o f . T h i s
e r r o r g e t s s c a l e d u p b y
1
U = u ( v w ) w h e n w e s c a l e u p a n d g e t s i n c r e a s e d b y 1 w h e n w e r o u n d
~
`
1 6
-
8/12/2019 MultiFlowGeneral.ps
18/28
d o w n t o a n i n t e g e r . F i n a l l y , i f w e s c a l e
~
` b a c k t o b e c o m p a t i b l e w i t h ` , t h e w h o l e e r r o r g e t s s c a l e d
b y . T h u s ,
` ( v w )
~
` ( v w )
1
U
u ( v w )
!
+ 1
!
=
U
u ( v w )
+ 1
( 8 )
W e d e n e d
~
` s o t h a t
~
` ( v w ) ` ( v w ) o n e v e r y e d g e , h e n c e w e h a v e t h a t
~
C
i
C
i
( 9 )
U s i n g t h e s e t w o e q u a t i o n s a n d t h e f a c t t h a t e
w e g e t t h a t :
P
v w
~
f
i
` ( v w ) C
i
P
v w
~
f
i
` ( v w )
~
C
i
( b y ( 9 ) )
P
v w
~
f
i
` ( v w )
~
` ( v w )
P
v w
~
f
i
U
u ( v w )
+ 1
( b y ( 8 ) )
2
P
v w
u ( v w )
e
U
2 U
u ( v w )
2 m
1 6 k m
=
8 k
( 1 0 )
N o t i c e t h a t t h i s o w a c t u a l l y s a t i s e s s l i g h t l y s t r o n g e r c o n d i t i o n s t h a n ( 7 ) . W e w i l l u s e t h i s
s t r o n g e r c o n d i t i o n i n t h e n e x t s u b s e c t i o n .
I n t h e r a n d o m i z e d i m p l e m e n t a t i o n w e u s e d t h e c o s t o f t h e c u r r e n t o w C
i
f o r t h e s e l e c t i o n o f
a b a d c o m m o d i t y i . W e w i l l u s e t h e r o u n d e d c o s t
~
C
i
i n s t e a d . T h e r o u n d i n g e r r o r i s s m a l l r e l a t i v e
t o
P
i
~
C
i
, t h e r e f o r e u s i n g
~
C
i
d o e s n o t s i g n i c a n t l y d e c r e a s e t h e p r o b a b i l i t y t h a t a b a d c o m m o d i t y
w i l l b e s e l e c t e d .
T o s u m m a r i z e , w e h a v e j u s t d e s c r i b e d h o w t o i m p l e m e n t D e c o n g e s t i n t h e R A M m o d e l o f
c o m p u t a t i o n . W e r s t c o m p u t e a p p r o x i m a t i o n
~
` t o t h e l e n g t h f u n c t i o n ` . T h e n w e c o m p u t e
t h e a p p r o x i m a t e c o s t o f e a c h c o m m o d i t y a n d c h o o s e a c o m m o d i t y t o r e r o u t e , e i t h e r r a n d o m l y o r
d e t e r m i n i s t i c a l l y . N e x t w e c o m p u t e a n a p p r o x i m a t e m i n i m u m - c o s t o w f o r t h a t c o m m o d i t y w i t h
r e s p e c t t o t h e c o s t s
~
` . T h i s g i v e s u s a n a p p r o x i m a t e m i n i m u m - c o s t o w t h a t s a t i s e s e q u a t i o n s ( 7 ) .
W e t h e n u p d a t e t h e o w s f o r c o m m o d i t y i . F i n a l l y , w e m o d i f y t h e u p d a t e d o w a s d e s c r i b e d i n
T h e o r e m 5 . 2 , r e p r e s e n t i t i n O ( l o g ( n U ) ) b i t s p e r e d g e , a n d s t a r t t h e n e x t i t e r a t i o n . A s t h e a b o v e
d i s c u s s i o n s h o w s , t h e t i m e t o d o t h i s i s O ( m l o g n ) p l u s t h e t i m e t o c o m p u t e a m i n i m u m - c o s t o w .
T h e o r e m 5 . 5 F o r > 0 a n - o p t i m a l s o l u t i o n f o r t h e c o n c u r r e n t o w p r o b l e m c a n b e f o u n d a f t e r
i n i t i a l i z a t i o n ( L e m m a 4 . 1 ) b y a r a n d o m i z e d a l g o r i t h m t h a t u s e s a n e x p e c t e d n u m b e r o f O ( k ( l o g k +
3
) l o g n ) m i n i m u m - c o s t o w c o m p u t a t i o n s a n d O ( k m ( l o g k +
3
) l o g
2
n ) a d d i t i o n a l t i m e , o r d e t e r m i n -
i s t i c a l l y u s i n g O ( k
2
( l o g k +
2
) l o g n ) m i n i m u m - c o s t o w c o m p u t a t i o n s , a n d O ( k m ( l o g k +
2
) l o g
2
n )
a d d i t i o n a l t i m e .
5 . 2 C h o o s i n g a M i n i m u m - C o s t F l o w A l g o r i t h m
I n t h i s s u b s e c t i o n w e c o n s i d e r t h e p r o b l e m o f c h o o s i n g t h e a p p r o p r i a t e m i n i m u m - c o s t o w r o u t i n e
t o u s e f o r n d i n g a m i n i m u m - c o s t o w s u b j e c t t o t h e c o s t s
~
` ( v w ) . I n s o m e c a s e s w e w i l l o n l y
1 7
-
8/12/2019 MultiFlowGeneral.ps
19/28
c o m p u t e a n a p p r o x i m a t e m i n i m u m - c o s t o w s u b j e c t t o c o s t
~
` b y f u r t h e r r o u n d i n g t h e c o s t s b e f o r e
t h e m i n i m u m - c o s t o w c o m p u t a t i o n . H o w e v e r , i n a l l c a s e s w e w i l l n d a o w t h a t s a t i s e s ( 7 ) .
F i r s t , w e c o n s i d e r t h e g e n e r a l c o n c u r r e n t o w p r o b l e m .
L e m m a 5 . 6 F o r a c o m m o d i t y i , a m i n i m u m - c o s t o w w i t h r e s p e c t t o
~
` c a n b e f o u n d i n
O ( n m l o g ( n U ) l o g ( n
2
= m ) ) t i m e .
P r o o f : T h e G o l d b e r g - T a r j a n m i n i m u m - c o s t o w a l g o r i t h m r u n s i n O ( n m l o g ( n
2
= m ) l o g ( n C ) ) t i m e ,
w h e r e C i s t h e m a x i m u m v a l u e o f t h e c o s t o f a n e d g e a s s u m i n g t h a t t h e c o s t s a r e i n t e g r a l . F o r t h e
r o u n d i n g d e s c r i b e d i n L e m m a 5 . 4 , i t i s e a s y t o v e r i f y t h a t t h e m a x i m u m e d g e c o s t i s a t m o s t
1 6 k m U
P l u g g i n g t h i s v a l u e i n f o r C a n d r e c a l l i n g t h a t m , k a n d
1
a r e a l l a s s u m e d t o b e p o l y n o m i a l i n
n c o m p l e t e s t h e p r o o f .
T h e a b o v e b o u n d c a n b e i m p r o v e d i f t h e c a p a c i t i e s a r e s m a l l r e l a t i v e t o n
2
= m . I n t h i s c a s e
w e w i l l r o u n d t h e d e m a n d s a n d s o l v e t h i s r o u n d e d p r o b l e m u s i n g t h e d o u b l e s c a l i n g a l g o r i t h m
o f A h u j a , G o l d b e r g , O r l i n , a n d T a r j a n 1 ] . W e w i l l t h e n s a t i s f y t h e r e m a i n i n g o w o n a r b i t r a r y
p a t h s . T h i s o w w i l l s t i l l s a t i s f y ( 7 ) a n d t h e r o u n d i n g w i l l a l l o w u s t o u s e a f a s t e r a l g o r i t h m . M o r e
p r e c i s e l y , w e w i l l p r o v e t h e f o l l o w i n g l e m m a :
L e m m a 5 . 7 F o r a c o m m o d i t y i , a o w s a t i s f y i n g ( 7 ) c a n b e f o u n d i n O ( n m l o g ( n U ) l o g l o g ( n U ) )
t i m e .
P r o o f : A s s u m e w i t h o u t l o s s o f g e n e r a l i t y t h a t
1
i s a n i n t e g e r a n d d e n e = = ( 1 6 n k ) . W e
r o u n d t h e d e m a n d s f o r c o m m o d i t y i t o i n t e g e r m u l t i p l e s o f s u c h t h a t t h e a b s o l u t e v a l u e o f e a c h
d e m a n d d o e s n o t i n c r e a s e , t h e r o u n d e d d e m a n d s s t i l l s u m t o z e r o , a n d t h e t o t a l d e c r e a s e i n t h e