{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

MF_notes

# MF_notes - 1 1.1 Combinatorial Optimization The max-ow...

This preview shows pages 1–3. Sign up to view the full content.

1 Combinatorial Optimization 1.1 The max-flow problem Let us consider G = ( V, E ) a directed network. We assume that there is some commodity produced at node s (source ) and shipped through the network to node t (sink ). Furthermore, let us define capacity c ij = c e 0 as the upper limit on flow across arc e = ( i, j ). Then, the goal is to find maximum amount of the commodity we can ship from s through the network to t . An example of a network and capacities is given below: 1 s t 2 1 3 3 1 1 1 Max-flow is a classical OR model – formulated initially in mid 1950s for application of railway traffic flow. Solved first by L. Ford and D. R. Fulkerson (Cornell OR – 1970s) by the labeling algorithm , later refined in many ways. Idea of the algorithm is very natural: start at source and try to “push” flow through network to t , keeping track of how much we can get to various nodes. E.g., we could start in above example by sending 1 unit of flow (commodity) along arcs ( s, 1), then (1 , 2), then (2 , t ) to get 1 s t 2 1,1 0,3 0,3 1,1 1,1 0,1 Can we improve this? I.e., can we send more flow from s to t ? Answer is clearly yes as it is easy to “eyeball” an improvement. More systematically, an improvement can be found by the labeling algorithm. We discuss the algorithm formally in Section ?? . Here, we demonstrate the main idea by going through the first two iterations. Iteration #1 1 s t 2 1,1 0,3 0,3 1,1 1,1 0,1 -→ 1 s t 2 1,1 0,3 0,3 1,1 1,1 0,1 ( s + , 3) (2 + , 1) ( * , ) (1 + , 1) -→ 1 s t 2 1,1 1,3 1,3 1,1 1,1 1,1 Flow value = 1 Labeling Flow value = 2 At s , can send 3 units to 2. Hence, label node 2 by ( s + , 3). At 2, can send 1 unit to 1. Hence, label node 1 by (2 + , 1). At 1, can send 1 unit to t . Hence, label node t by (1 + , 1). 1

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Note that labeling step identified path s 2 1 t through which an additional unit of flow can be pushed. Iteration #2 1 s t 2 1,1 1,3 1,3 1,1 1,1 1,1 -→ 1 s t 2 1,1 1,3 1,3 1,1 1,1 1,1 ( s + , 2) (2 - , 1) ( * , ) (1 + , 1) -→ 1 s t 2 1,1 2,3 2,3 1,1 0,1 1,1 Flow value = 2 Labeling Flow value = 3 At s , can send 2 units to 2. Hence, label node 2 by ( s + , 2). At 2, can refuse 1 unit from 1. Hence, label node 1 by (2 - , 1). At 1, can send 1 unit to t . Hence, label node t by (1 + , 1). Labeling identified path s 2 1 t through which an additional unit of flow can be sent. Now it looks like we’re done. Can there be a larger flow? The answer is no . To see this, let us define: Cut separating s and t determined by the partition V = X ¯ X , X ¯ X = , and s X , t ¯ X , as the arc set braceleftbig ( i, j ) E : i X, j ¯ X bracerightbig (the “forward” arcs) and braceleftbig ( j, i ) E : i X, j ¯ X bracerightbig (the “reverse” arcs). Capacity of the cut ( X, ¯ X ) is summationdisplay ( i,j ) E i X, j ¯ X c ij , i.e. the total capacity of the forward arcs. X X = V \ X s t i j cut arcs Intuitively, cuts block the flow from s to t : (i) when flow = c ij on all ( i, j ) E such that i X , j ¯ X , there’s no additional forward flow across cut.
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

### Page1 / 27

MF_notes - 1 1.1 Combinatorial Optimization The max-ow...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online