1
© HSNLab 2009 Multicommodity Flows Network flow problems with multiple commodities (or goods). Separate source and sink nodes for each commodity: s i , t i (i = 1, …, k). The commodities share the edge capacities. Various problems with different constraints and object functions. Efficient Multicommodity Flow Algorithms Péter Kovács, PhD student ELTE CNL, [email protected], supervisor: Zoltán Király Problems Maximum Multicommodity Flow (MMF): maximize the sum of the flow values of the commodities, i.e. max | f i |. A possible LP formulation (Π denotes the set of all s i t i paths): Π P P x E e e u P x P x P e P Π P 0 ) ( ) ( ) ( ) ( max : (P) E e e l Π P e l e l e u P e E e 0 ) ( 1 ) ( ) ( ) ( min (D) Maximum Weighted Multicommodity Flow (MWMF): each commodity has a weight w i , max w i | f i |. Maximum Concurrent Flow (MCF): each commodity has a demand value d i , maximize the factor λ, for which | f i | ≥λ d i . Minimum Cost Concurrent Flow (MCCF): maximum concurrent flow with a given upper bound for the total cost. Applications: telecommunication network design, traffic engineering, VLSI design, resource planning etc. Implementation and Testing The LEMON C++ graph library was used, http://lemon.cs.elte.hu . Validity and benchmark tests were performed on various random instances, which were generated with MNETGEN. The results were compared to the exact solutions using GLPK. s 1 t 3 t 2 t 1 s 2 s 3 Solution Methods Multicommodity flows yield rather complex optimization problems. Exact solution methods are usually too slow for them. Developing much faster approximation algorithms is worthwhile. The framework of Garg and Könemann provides simple and efficient approximation methods for the above problems. Lisa K. Fleischer introduced theoretical improvements for them. All these methods are based on a primaldual approach (column generation) attained by successive improvements along shortest paths with respect to a varying length function (the dual solution). This poster presents the experiments of efficient implementations of these algorithms. Maximum Multicommodity Flow Fleischer reduced the number of shortest path computations by a factor of k for the MMF problem. It results in a much more efficient algorithm. Our improvement is a simple additional heuristic: after executing the algorithm send flow from s i to t i using only the remaining capacities (for each commodity i). This heuristic increased the solution value by 1–5% on average. Applying it with approximation factor r 2, the results were usually equal to the exact optimum. The following charts show the running times of our implementations (using r = 2) and GLPK as a function of the number of commodities (k). Maximum Concurrent Flow Similar heuristic improvement was introduced to the MCF algorithm of Garg and Könemann, which increased the solution value by 1–8%. Our implementation (using r = 2) is compared to GLPK on the diagrams. Minimum Cost Concurrent Flow Our heuristic was also applied to the MCCF problem with suitable modifications. These charts demonstrate the running times and the obtained solution values using our implementation with different approximation factors and GLPK. Conclusions The approximation algorithms are asymptotically faster than the exact solution using GLPK. For the MMF problem Fleischer’s algorithm is also asymptotically faster than the original method and it is much more efficient in practice, as well. Our simple heuristic improvements proved to be really effective. s 1 s 2 s 3 t 3 t 1 t 2 0.1s 1s 10s 100s 1000s 10000s 100000s 4 8 16 32 64 MMF benchmark results (n = 256) GLPK MMF-GK MMF-F 0.1s 1s 10s 100s 1000s 10000s 100000s 4 8 16 32 64 MMF benchmark results (n = 64) GLPK MMF-GK MMF-F 0.1s 1s 10s 100s 1000s 10000s 100000s 4 8 16 32 64 MCF benchmark results (n = 64) GLPK MCF-GK 0.1s 1s 10s 100s 1000s 10000s 100000s 4 8 16 32 64 MCF benchmark results (n = 256) GLPK MCF-GK 0.1s 1s 10s 100s 1000s 10000s 100000s 4 8 16 32 64 MCCF benchmark results (n = 64) GLPK MCCF-GK, r = 3 MCCF-GK, r = 2 MCCF-GK, r = 1.5 100% 98% 96% 94% 92% 90% 4 8 16 32 64 MCCF solution values (n = 64) GLPK MCCF-GK, r = 3 MCCF-GK, r = 2 MCCF-GK, r = 1.5

Kovacs Multicommodity Flow Poster HSNWS2009

  • Upload
    mariamb

  • View
    23

  • Download
    1

Embed Size (px)

DESCRIPTION

multicommodity flow algorithm

Citation preview

Page 1: Kovacs Multicommodity Flow Poster HSNWS2009

© HSNLab 2009

Multicommodity FlowsNetwork flow problems with multiple commodities (or goods).Separate source and sink nodes for each commodity: si, ti (i = 1, …, k).The commodities share the edge capacities.Various problems with different constraints and object functions.

Efficient Multicommodity Flow Algorithms

Péter Kovács, PhD studentELTE CNL, [email protected], supervisor: Zoltán Király

ProblemsMaximum Multicommodity Flow (MMF): maximize the sum of the flow values of the commodities, i.e. max ∑| fi |.A possible LP formulation (Π denotes the set of all si– ti paths):

ΠPPx

EeeuPx

Px

PeP

ΠP

∈∀≥

∈∀≤∑

0)(

)()(

)(max

:

(P)

Eeel

ΠPel

eleu

Pe

Ee

∈∀≥

∈∀≥∑

0)(

1)(

)()(min

(D)

Maximum Weighted Multicommodity Flow (MWMF): each commodity has a weight wi, max ∑wi | fi |.

Maximum Concurrent Flow (MCF): each commodity has a demand value di, maximize the factor λ, for which | fi | ≥ λdi.

Minimum Cost Concurrent Flow (MCCF): maximum concurrent flow with a given upper bound for the total cost.

Applications:telecommunication network design,traffic engineering,VLSI design,resource planning etc.

Implementation and TestingThe LEMON C++ graph library was used, http://lemon.cs.elte.hu.Validity and benchmark tests were performed on various random instances, which were generated with MNETGEN.The results were compared to the exact solutions using GLPK.

s1

t3

t2

t1 s2

s3

Solution MethodsMulticommodity flows yield rather complex optimization problems.Exact solution methods are usually too slow for them.Developing much faster approximation algorithms is worthwhile.The framework of Garg and Könemann provides simple and efficient approximation methods for the above problems.Lisa K. Fleischer introduced theoretical improvements for them.All these methods are based on a primal–dual approach (column generation) attained by successive improvements along shortest paths with respect to a varying length function (the dual solution). This poster presents the experiments of efficient implementations of these algorithms.

Maximum Multicommodity FlowFleischer reduced the number of shortest path computations by a factor of k for the MMF problem. It results in a much more efficient algorithm.Our improvement is a simple additional heuristic: after executing the algorithm send flow from si to ti using only the remaining capacities (for each commodity i).This heuristic increased the solution value by 1–5% on average. Applying it with approximation factor r ≤ 2, the results were usually equal to the exact optimum.The following charts show the running times of our implementations (using r = 2) and GLPK as a function of the number of commodities (k).

Maximum Concurrent FlowSimilar heuristic improvement was introduced to the MCF algorithm of Garg and Könemann, which increased the solution value by 1–8%.Our implementation (using r = 2) is compared to GLPK on the diagrams.

Minimum Cost Concurrent FlowOur heuristic was also applied to the MCCF problem with suitable modifications.These charts demonstrate the running times and the obtained solution values using our implementation with different approximation factors and GLPK.

ConclusionsThe approximation algorithms are asymptotically faster than the exact solution using GLPK.For the MMF problem Fleischer’s algorithm is also asymptotically faster than the original method and it is much more efficient in practice, as well.Our simple heuristic improvements proved to be really effective.

s1

s2

s3

t3

t1

t2

0.1s

1s

10s

100s

1000s

10000s

100000s

4 8 16 32 64

MMF benchmark results (n = 256)

GLPKMMF-GKMMF-F

0.1s

1s

10s

100s

1000s

10000s

100000s

4 8 16 32 64

MMF benchmark results (n = 64)

GLPKMMF-GKMMF-F

0.1s

1s

10s

100s

1000s

10000s

100000s

4 8 16 32 64

MCF benchmark results (n = 64)

GLPKMCF-GK

0.1s

1s

10s

100s

1000s

10000s

100000s

4 8 16 32 64

MCF benchmark results (n = 256)

GLPKMCF-GK

0.1s

1s

10s

100s

1000s

10000s

100000s

4 8 16 32 64

MCCF benchmark results (n = 64)

GLPKMCCF-GK, r = 3MCCF-GK, r = 2MCCF-GK, r = 1.5

100%

98%

96%

94%

92%

90%

4 8 16 32 64

MCCF solution values (n = 64)

GLPKMCCF-GK, r = 3MCCF-GK, r = 2MCCF-GK, r = 1.5