Skip to contentScholarGate
LibraryBookshelfDeskReview StudioAssistant
Sign in
On this page
IntuitionHow it worksWhen to use itStrengths & limitationsCommon pitfallsApplicationsFrequently asked🔒 Read the full methodSourcesRelated methods
Cite this pageSpotted an issue on this page? Report or suggest a fix →
Home›Operations Research›Ford-Fulkerson Algorithm
Machine learningGraph Algorithms

Ford-Fulkerson Algorithm

Ford-Fulkerson Algorithm for Maximum Flow · Also known as: Ford-Fulkerson method, augmenting path method

The Ford-Fulkerson Algorithm, developed by Lester R. Ford and Delbert R. Fulkerson in 1956, is a foundational method for computing the maximum flow in a flow network. It finds the maximum amount of flow that can be sent from a source to a sink through a directed graph with capacity constraints on edges.

ScholarGate
  1. Machine learning
  2. v1
  3. 2 Sources
  4. PUBLISHED
Cite this page →
Tools & resources
Download slides
Learn & explore

Read the full method

Members only

Sign in with a free account to read this section.

Sign in

Method map

The neighbourhood of related methods — select a node to explore.

Ford-Fulkerson Algorithm
Bellman-Ford AlgorithmDijkstra AlgorithmPush-Relabel AlgorithmSimplex Method

When to use it

Apply the Ford-Fulkerson algorithm to find maximum flow in directed or undirected flow networks with positive integer capacities. It works well for small to medium-sized networks and provides intuitive understanding of network flow concepts. For very large networks or when integral flows are required, consider Edmonds-Karp (using BFS) or Dinic's algorithm for better worst-case performance. Use it when understanding algorithm behavior is as important as speed.

Strengths & limitations

Strengths
  • Simple and intuitive approach based on augmenting paths
  • Optimal solution guaranteed when capacities are rational or integral
  • Efficient for networks with small integer capacities
  • Forms the theoretical foundation for understanding max-flow min-cut duality
  • Works with both directed and undirected graphs
Limitations
  • Time complexity depends on capacity values (not polynomial in general; can be exponential with irrational capacities)
  • May not terminate if capacities are irrational (requires careful implementation with rational arithmetic)
  • Less efficient than specialized algorithms like Edmonds-Karp or Dinic on large networks
  • Sensitive to augmenting path selection order

Frequently asked

What is the max-flow min-cut theorem?

The theorem states that the maximum flow from source to sink equals the minimum capacity of any cut separating the source from the sink. This provides both a theoretical insight and a verification method for flow algorithms.

Why does the algorithm sometimes converge slowly?

With unfortunate path selections, the algorithm may augment by only one unit of flow per iteration, even when larger augmentations are possible. Using breadth-first search (Edmonds-Karp) ensures polynomial-time convergence.

How does the algorithm handle undirected edges?

Replace each undirected edge with two directed edges in opposite directions, both with the same capacity. The algorithm then finds flow on the directed network.

What is the difference between flow on an edge and residual capacity?

Flow on an edge represents the amount of material sent along it, while residual capacity is the remaining capacity available. Residual capacity decreases as flow increases, and reverse edges track the ability to undo flow.

Sources

  1. Ford, L. R., & Fulkerson, D. R. (1956). Maximal flow through a network. Canadian Journal of Mathematics, 8(3), 399-404. DOI: 10.4153/CJM-1956-045-5 ↗
  2. Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to Algorithms (3rd ed.). MIT Press. ISBN: 978-0-262-03384-8

How to cite this page

ScholarGate. (2026, June 3). Ford-Fulkerson Algorithm for Maximum Flow. ScholarGate. https://scholargate.app/en/operations-research/ford-fulkerson-algorithm

Related methods

Bellman-Ford AlgorithmDijkstra AlgorithmPush-Relabel AlgorithmSimplex Method

Which method?

Set this method beside its closest kin and read them side by side — the library lays the books on the table; the choice is yours.

  • Bellman-Ford AlgorithmOperations Research↔ compare
  • Dijkstra AlgorithmOperations Research↔ compare
  • Push-Relabel AlgorithmOperations Research↔ compare
  • Simplex MethodOperations Research↔ compare
Compare side by side →

Referenced by

Bellman-Ford AlgorithmDijkstra AlgorithmPush-Relabel Algorithm

Similar methods

Push-Relabel AlgorithmBellman-Ford AlgorithmDijkstra AlgorithmPseudoflowA-star Search AlgorithmGale-Shapley AlgorithmSimplex MethodAugmented Lagrangian Method

Related reference concepts

Network Flow AlgorithmsGraph AlgorithmsShortest Path AlgorithmsGraph TraversalMinimum Spanning TreesGraph Theory

Spotted an issue on this page? Report or suggest a fix →

ScholarGate — Ford-Fulkerson Algorithm (Ford-Fulkerson Algorithm for Maximum Flow). Retrieved 2026-07-21 from https://scholargate.app/en/operations-research/ford-fulkerson-algorithm · Dataset: https://doi.org/10.5281/zenodo.20539026
Quick facts
Originator
Lester R. Ford and Delbert R. Fulkerson
Subfamily
Graph Algorithms
Year
1956
Type
algorithm
Related methods
Bellman-Ford AlgorithmDijkstra AlgorithmPush-Relabel AlgorithmSimplex Method
ScholarGate

A content-first reference library for research methods — what each one is, how it works, and where it comes from.

Open data (CC-BY)

Explore

  • Library
  • Search the library…
  • Browse by field
  • Fields
  • Journey
  • Compare
  • Which method?

Reference

  • Subjects
  • Atlas
  • Glossary
  • Methodology
  • Philosophy

Your tools

  • Bookshelf
  • Desk
  • Chat

Company

  • About
  • Pricing
  • Contact
  • Suggest a method

Entries are compiled from published sources for reference. Verifying the accuracy and suitability of any information for your own use remains your responsibility.

© 2026 ScholarGate · A research-method reference library
  • Privacy
  • Cookies
  • Terms
  • Delete account