140 likes | 221 Views
15.082 and 6.855J. Flow Decomposition. begin Initialize while y do begin Select(s, y) Search(s, y) if a cycle C is found then do begin let D = Capacity(C, y) Add Flow( D , C) to cycle flows Subtract Flow( D , C) from y. end if a path P is found then do
E N D
15.082 and 6.855J Flow Decomposition
begin • Initialize • while y do • begin • Select(s, y) • Search(s, y) • if a cycle C is found thendo • begin • let D = Capacity(C, y) • Add Flow(D, C) to cycle flows • Subtract Flow(D, C) from y. • end • ifa path P is found thendo • begin • let D = Capacity(P, y) • Add Flow(D, P) to path flows • Subtract Flow(D, P) from y. • end • end
The initial flow 0 0 7 2 4 4 3 3 8 2 1 6 -2 4 4 2 3 5 5 9 0 0 A supply node The flow x A demand node A balanced node
Find a Path or Cycle 7 2 4 4 3 3 8 2 1 1 6 -2 4 4 Carry out a depth first search until a cycle C or a path P is found Select a supply node 2 3 5 5 9 0 0 Determine the capacity The capacity is 2.
Update the decomposition 5 7 2 4 2 4 3 3 8 6 2 1 1 6 -2 4 4 Add the cycle flow to the decomposition 2 0 3 5 5 9 7 0 0 update the current flow 2 units around 1-2-4-5-3-1 cycle flows path flows
Find the next path or cycle 5 2 4 3 2 3 6 Start at a supply node and find the next cycle or path 2 1 1 6 -2 4 4 3 5 5 7 0 0 2 units around 1-2-4-5-3-1 cycle flows path flows
update the decomposition and current flow 2 5 2 4 3 2 3 0 6 3 update the current flow and decomposition 2 1 1 6 -2 4 4 3 5 5 7 4 0 0 2 units around 1-2-4-5-3-1 3 units around 2-4-5-3-2 cycle flows path flows
Find the next flow or cycle 2 2 4 3 2 start with a supply node and find the next flow or cycle. 3 2 1 1 6 -2 4 4 3 5 5 4 0 0 The capacity of 4-5-3-4 is 3 2 units around 1-2-4-5-3-1 3 units around 2-4-5-3-2 cycle flows path flows
Update 2 2 4 3 2 0 3 update the current flow and decomposition 2 1 1 6 -2 1 4 4 3 5 5 1 4 0 0 2 units around 1-2-4-5-3-1 3 units around 2-4-5-3-2 3 units around 4-5-3-4 cycle flows path flows
Find the next flow or cycle start with a supply node and find the next flow or cycle. 2 2 4 3 2 2 1 1 6 -2 1 4 The capacity of 1-2-4-6 is 2 3 5 5 4 1 0 0 2 units around 1-2-4-5-3-1 3 units around 2-4-5-3-2 3 units around 4-5-3-4 cycle flows path flows
Update update the current flow and decomposition 2 0 2 4 3 1 0 2 2 0 1 1 6 0 -2 1 4 3 5 5 4 1 0 0 2 units around 1-2-4-5-3-1 3 units around 2-4-5-3-2 2 units in 1-2-4-6 3 units around 4-5-3-4 cycle flows path flows
Find the next path or cycle start with any node incident to an arc with flow and find the next flow or cycle. 0 2 4 1 0 1 6 0 -2 1 4 3 3 5 5 4 1 0 0 2 units around 1-2-4-5-3-1 3 units around 2-4-5-3-2 2 units in 1-2-4-6 3 units around 4-5-3-4 cycle flows path flows
Update 0 2 4 0 1 0 1 6 0 -2 0 1 4 3 3 5 5 4 0 4 1 0 0 2 units around 1-2-4-5-3-1 3 units around 2-4-5-3-2 2 units in 1-2-4-6 3 units around 4-5-3-4 1 units around 3-4-6-5-3 cycle flows path flows
The Final Decomposition 0 2 4 0 1 6 -2 0 4 0 3 5 4 0 0 0 2 units around 1-2-4-5-3-1 3 units around 2-4-5-3-2 3 units around 4-5-3-4 2 units in 1-2-4-6 1 units around 3-4-6-5-3 4 units around 5-6-5 cycle flows path flows