NETWORK FLOW: MAXIMUM FLOW AND MINIMUM CUT THEOREM.
23th, April, 2019.
Suppose there is a network of railroads and our aim is to schedule trains from a fixed origin station to the destination one. Of course, there are some cases that there are some intermediate stations between the origin and the destination station depended on the railroad network (the connection between stations). To avoid collisions, between any two stations, trains can be traversed in only one direction and we assume that this direction can carry a limited number of trains at once time. Apart from the origin and destination, the number of trains entering must be equal to the number of trains leaving in each intermediate. Our interest is to maximize the number of trains that can all together leave the origin and reach the destination. Furthermore, one might want to know more about the minimum removal of combination of tracks would prevent any trains moving from the original station to the destination and those combinations of tracks served the smallest sum of trains.
In the study of network (traffic) flow, we can represent the railroad by a directed graph where the nodes represents the stations, the edges represents the tracks connecting stations and the source and sink denotes respectively the origin and the destination. The maximum number of trains travelling in one track between any two stations is the capacity of the corresponding edge and obviously, must be non-negative. The conservation laws says that number of trains that flows into each intermediate stations equals the amount flowing out of this vertex excluding the source and sink. The objective problem is to find the maximum number of trains that can travel from the origin station to the destination station, which called by the maximum flow problem. Moreover, the problem determining the combination of edges removed having minimum capacity sum would prevent any movement from the source to the sink is called by the minimum cut problem.
Interestingly, L. R. Ford, Jr. and D. R. Fulkerson have proved that the maximum flow problem is equivalent to the problem of finding the minimum cut. In more details, the maximum flow will be equal to the minimum cut and the result is the Max-Flow Min-Cut Theorem, whose proof can be found in the reference.
$$ \max_{v: (s,v) \in E} f_{sv} = \min_{(u,v) \in E} c_{uv} d_{uv} $$
where a graph \(G = (V,E)\) with \(V, E\) respectively denotes the set of vertices and edges in the graph \(G\); \(s, t \in V\) denotes the source and the sink of the graph \(G\); \(c_{uv}\) is the capacity of edges and \(f_{uv} \leq c_{uv}\) denotes the flows of the edge \(uv \in E\); and \(d_{uv}\) taking value \(1\) if the edge \(uv\) is in the cut and \(0\) otherwise.
It can be seen that the maximum flow problem and the minimum cut problem can be formulated as two primal-dual linear programs. Moreover, the equality in the max-flow and min-cut theorem agrees with the strong duality theorem in linear programming.
The original motivation for studying maximum flow and minimum cut problems comes from the Cold War, when the Soviet Union Railway System is of the US air force’s interest to connect the Western Soviet Union to Eastern Europe, particularly East Germany. During the Cold War, they were interested in finding the minimum combination of tracks on the railroad system to completely prevent any movement between the Soviet Union and Eastern Europe by bombing.
In \(1955\), the US military use a secret report entitled Fundamentals of a Method for Evaluating Rail Net Capacities by T.E. Harris and F.S. Ross to archive this goal. In this paper, Harris and Ross defined the max flow and min cut problem in the formal way. Harris and Ross did not find an exact method to ensure to find the best solution. They use a heuristic technique instead to find the approximate solution, in particular a greedy algorithm to push flow as much as possible through the network until obtaining a bottleneck. A bottleneck here means a vertex that has more trains arrive than they are able to leave. The excess flow at the bottleneck returned to the origin and can be pushed further through the network again. The advantage of the algorithm solution was described Boldyreff in June \(1955\) as "The mechanics of the solutions is formulated as a simple game which can be taught to a ten-year-old boy in a few minutes. "
While the technique that Harris and Ross proposed did not guarantee optimality, the report eventually motivate Ford and Fulkerson to work further on the problem. Ford and Fulkerson developed the Ford-Fulkerson method that does guarantee to find optimality and relies heavily on use of augmenting paths. To find the maximum flow we must add the augmenting path to the flow already established in the graph (or residual network) and the maximum flow will be found when we could not find any flow augmenting paths more in the graph.
Network flow analysis helps us understand the characteristics of the network which could represent any kinds of network in reality such as social network, traffic network system, etc. The study of flow graphs have been continued and led to many significant results and applications whereas the maximum flow and minimum cut are the very significant properties in the network flow and has a very wide application such as airline scheduling, sport team elimination, image segmentation. Apart from the above application, a very famous example of a usage of them is to find an optimal bipartite which can be formulated as a maximum flow problem.
Reference:
[1] Schrijver, Alexander. "On the history of the transportation and maximum flow problems." Mathematical Programming 91.3 (2002): 437-445.
[2] Kevin Wayne, "Max Flow, Min Cut", Princeton University, COS 226, Algorithms and Data Structures, Spring, 2004.
[3] http://en.wikipedia.org/wiki/Max-flow_min-cut_theorem
[4] http://en.wikipedia.org/wiki/Ford–Fulkerson_algorithm