Chapter 8. Network Flow Algorithms
Overview
There are numerous problems that can be viewed as a network of vertices and edges, with a capacity associated with each edge over which commodities flow. The algorithms found in this chapter are, in many ways, the direct product of the need to solve these specific classes of problems. Ahuja (1993) contains an extensive discussion on numerous applications of network flow algorithms:
- Assignment
Given a set of tasks to be carried out by a set of employees, find an assignment that minimizes the overall expense when different employees may cost different amounts based upon the task to which they are assigned.
- Bipartite Matching
Given a set of applicants who have been interviewed for a set of job openings, find a matching that maximizes the number of applicants selected for jobs for which they are qualified.
- Transportation
Determine the most cost-effective way to ship goods from a set of supplying factories to a set of retail stores selling these goods.
- Transshipment
Determine the most cost-effective way to ship goods from a set of supplying factories to a set of retail stores selling these goods, while potentially using a set of warehouses as intermediate stations.
- Maximum Flow
Given a network that shows the potential capacity over which goods can be shipped between two locations, compute the maximum flow supported by the network.
One way to explain how these specialized problems are solved is to describe the relationship between network flow ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access