Network flow problems include the bipartite matching problem, among others. Networks are graphs whose edges carry something and whose nodes facilitate passing traffic between edges.
Network models can be seen as having capacity on edges, or how much they can carry.
They have sources, or nodes that have no in-edges, and sinks, or nodes without out-edges.
We define a flow network as
We say an s-t flow is a function f: (each edge in E) to a nonnegative real number so that f(e) = flow(e)
For each edge, 0⇐f(e)⇐c_e
For each node in V, excluding s and t, the flow into e is equal to the flow out of e.
The value of a flow is the amount of flow generated at s.
Given a flow network, what if we want to arrange our traffic to efficiently use our capacity?
We do this as follows:
We use augment(f,P):
If all capacities, this algorithm (the Ford-Fulkerson algorithm) terminates in C ( = sum(c_e) for all out edges of s) iterations of the while-loop
Wordy but interesting, 7/10