DOC PREVIEW
UT Dallas CS 6385 - 33FLOWAS

This preview shows page 1-2 out of 7 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

The Flow Assignment ProblemCompared to the Capacity Assignment Problem, here the situation is re-versed: now the link capacities are given and we would like to find how muchtraffic should flow on each link.Note: The same problem is also called flow routing problem, since it essen-tially means planning the routes of the traffic flows through the network.We prefer the name flow assignment because the term routing is more oftenused for the task of finding a route for a given call or a packet, rather thanreferring to a network design task.New objectiveNow, as the link capacities are given, the objective cannot be cost optimiza-tion, since the cost has been already spent for buying and implementingcapacities. A reasonable objective now is to assign the flows such that thenetwork performance is optimized in terms of minimizing the mean delay.The input data for the task contains the following:• Network topology• Traffic matrix R. An entry Rpqthe matrix is the traffic demand fromnode p to q.• Link capacities C = (C1, C2, . . . , Cl).ObjectiveFind the flow assignment f = (f1, f2, . . . , fl), such that network-wide meandelay is minimized.1To make the delay formula more general, we can include the propagationdelay (Pi) and processing delay (Ki) on each link i. Since these delays areincurred for each packet, the additional term will be proportional to thearrival rate: λi(Pi+ Ki). Using that fi= λi/µi, the additional delay is equalto fiµ(Pi+ Ki). Thus, the more general mean delay formula isT =1γlXi=1ÃfiCi− fi+ fiµ(Pi+ Ki)!=1γlXi=1fiÃ1Ci− fi+ µ(Pi+ Ki)!Constraints• The flow cannot exceed the capacity on any link:f ≤ C• The flow is nonnegative:f ≥ 0• The flow should satisfy the demand. This is verbally expressed as“f is a multicommodity flow satisfying R.”What is a multicommodity flow? Recall the flow problems from theerlier notes. They can be generalized by allowing that more “com-modities” are flowing through the network. That is, there are moreflows, each with its own supply/demand and each demand has to besatisfied by its own flow, but the flows jointly have to obey the capac-ity constraints when summed up on each link. Just as for the singlecommodity flow, this can be formulated as a system of linear inequali-ties. Thus, the condition “f is a multicommodity flow satisfying R” is2expressible via a system of linear inequalities. Thus, there is a matrixA and a vector b, such that the condition is expressed asAf ≤ b.Since in the multicommodity flow formulation the flow cannot exceedthe capacity and cannot be negative, therefore, this includes the firsttwo constraints (f ≤ C and f ≥ 0), as well.Summarizing, the optimization task can be concisely formulated as follows:min T =1γlXi=1fiÃ1Ci− fi+ µ(Pi+ Ki)!Subject toAf ≤ bwhere the constraint formalizes the requirement that f is a nonnegative mul-ticommodity flow satisfying R, respecting the capacity constraints, as ex-plained in the previous page.How do we find out the entries of the A matrix and the b vector? It can beobtained by writing down the details of the flow model, similarly to what wedid in the lecture note “An Application to Network Design”.3SolutionA solution can be found by an algorithm called the Flow Deviation Algorithm.Let us review and explain this algorithm below.Notations:• Each link i is assigned a weight, computed aswi=∂T∂fiThis is the partial derivative of the objective function with respect tothe flow on link i, evaluated with the actual flow that we have in thecurrent iteration (as the iterative algorithm porceeds, the flow valueschange, so the weights will change, too).• Shortest path flow Φ. This is the flow assignment that is obtainedby routing all the flow between each source-destination pair along theminimum weight path, with respect to the current weights (=shortestpath).(Note: Routing everything along shortest paths may violate the ca-pacity constraints. If this happens, then we route as much as possiblealong shortest paths and route the rest along second shortest pathsetc.)Now the flow deviation algorithm can be described as follows.Step 0. Compute an initial feasible flow f(0).(Note that this may require solving a multicommodity flow problem.)Step 1. Compute the link weightswi=∂T∂fi4with the current flow. Using these weights compute the shortest pathflow (as explained above) for the current iteration j (initially the it-eration index is j = 0). Let us denote the resulting flow vector byΦ(j).Step 2. Update the flow vector f (i.e., compute the next iteration):f(j+1)= (1 − αj)Φ(j)+ αjf(j)where αjis a parameter with 0 ≤ αj≤ 1. The value of αjis chosenas follows. Compute the delay (the objective function) with the flowvector fα= (1 − α)Φ(j)+ αf(j):T (fα) = T ((1 − α)Φ(j)+ αf(j))Since Φ(j)and f(j)are already known vectors, therefore, the resultingdelay T depends only on the single variable α. Now choose α such thatthe delay is minimized, this will define αj:αj= arg min0≤α≤1T ((1 − α)Φ(j)+ αf(j))where arg min means the minimizing argument of the function.Step 3. If¯¯¯T (f(j+1)) − T (f(j))¯¯¯< ²for a given error bound ² > 0, then stop. Otherwise, set j := j + 1and repeat from Step 1.5Questions and answers about the flow deviation algorithm• Question: Is it true that in each iteration we obtain a feasible flow?Answer: Yes. At the beginning we start with a feasible flow and theshortest path flow is also feasible by definition. During the iterationfeasibility cannot be destroyed, since the domain of feasibility is a con-vex set (a polyhedron), being defined by a system of linear inequalitites,and the new flow is always computed as the convex conbination of twofeasible flows, so the new iteration stays within the convex polyhedron.• Question: Is it true thatT (f(j+1)) ≤ T (f(j))that is, the solution can only improve with more iterations?Answer: Yes. The value of αjis chosen as the value of α that minimizesthe expressionT ((1 − α)Φ(j)+ αf(j)).On the other hand, with α = 1 this expression gives T (f(j)), which is thedelay in the previous iteration. Since with the minimizing α the delaycannot be larger that for any particular α, therefore, T (f(j+1)) ≤ T (f(j))holds.• Question: Can we simply choose f(0)= 0 for the initial feasible flow?Answer: No. The zero flow f(0)= 0 would not be feasible, since it doesnot satisfy the traffic demand.• Question: Is it true that if we choose the


View Full Document

UT Dallas CS 6385 - 33FLOWAS

Documents in this Course
assn1

assn1

2 pages

38rel2

38rel2

5 pages

Report

Report

3 pages

networks

networks

18 pages

lp2

lp2

44 pages

lp2 (2)

lp2 (2)

27 pages

lp1(1)

lp1(1)

21 pages

integer1

integer1

50 pages

FrankR2

FrankR2

3 pages

duality

duality

28 pages

CMST

CMST

44 pages

hw4

hw4

3 pages

for 1

for 1

11 pages

ENCh02

ENCh02

33 pages

pree

pree

2 pages

new  3

new 3

2 pages

new  2

new 2

2 pages

hw4a

hw4a

2 pages

T2_Sol

T2_Sol

4 pages

ISM3

ISM3

8 pages

hw4_sol

hw4_sol

6 pages

Elm04_06

Elm04_06

11 pages

atn proj2

atn proj2

20 pages

12CUT1

12CUT1

8 pages

09Ford

09Ford

23 pages

08FLOW

08FLOW

6 pages

03LP_su

03LP_su

6 pages

40REL40

40REL40

5 pages

39rel3

39rel3

5 pages

38arel2

38arel2

5 pages

37REL1

37REL1

3 pages

24TABU

24TABU

3 pages

22DYNPR

22DYNPR

3 pages

21B&C

21B&C

2 pages

20BBEX0

20BBEX0

3 pages

19BB

19BB

5 pages

14CAPBUD0

14CAPBUD0

11 pages

35BRXCH

35BRXCH

2 pages

34COMB

34COMB

4 pages

32CAPAS

32CAPAS

4 pages

31QUEUE

31QUEUE

3 pages

Load more
Download 33FLOWAS
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view 33FLOWAS and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view 33FLOWAS 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?