Calculator Inputs
Use comma-separated edges. Each line should be from,to,capacity.
Example Data Table
This example is a classic directed network. Its maximum flow equals 23.
| From | To | Capacity |
|---|---|---|
| S | A | 16 |
| S | C | 13 |
| A | C | 10 |
| C | A | 4 |
| A | B | 12 |
| B | C | 9 |
| C | D | 14 |
| D | B | 7 |
| B | T | 20 |
| D | T | 4 |
Formula Used
This page solves a directed maximum flow problem. It uses residual capacities and repeated path augmentation.
Max Flow = Σ f(source, v)
Capacity Constraint:
0 ≤ f(u, v) ≤ c(u, v)
Flow Conservation:
For every internal node x,
Σ f(u, x) = Σ f(x, v)
Cut Capacity:
C(S, T) = Σ c(u, v), where u ∈ S and v ∈ T
How to Use This Calculator
- Enter a source node label, such as S.
- Enter a sink node label, such as T.
- Paste one directed edge per line.
- Use the format from,to,capacity for every edge.
- Choose a decimal setting and optional unit label.
- Click Calculate Maximum Flow.
- Review the result, edge flows, minimum cut, and chart.
- Use CSV or PDF export for reporting and review.
FAQs
1. What does maximum flow mean here?
It is the largest amount of throughput that can move from the source node to the sink node without violating any directed edge capacity.
2. Why is this useful in software development?
Maximum flow helps model routing, task distribution, data pipelines, API throttling, bandwidth planning, dependency chains, and capacity allocation inside graph-based systems.
3. What is an augmenting path?
An augmenting path is a valid source-to-sink route in the residual graph that still has available capacity. Each path increases the total flow.
4. What does the minimum cut show?
The minimum cut identifies the separating edges that limit total throughput. Its total capacity equals the final maximum flow when the algorithm finishes correctly.
5. Can I use decimal capacities?
Yes. This calculator accepts positive decimal capacities, which helps when you model weighted throughput, rates, fractions, or normalized capacities.
6. Do node names need to be numbers?
No. You can use short labels like S, T, API1, QueueA, or Worker3. The labels are case-sensitive.
7. Why are some edges saturated?
A saturated edge has flow equal to capacity. These edges often signal bottlenecks because they cannot carry any additional throughput in the final solution.
8. Why does the chart sometimes look sparse?
The chart only emphasizes final carried flow. Edges with zero final flow do not appear in the Sankey view, because they do not contribute to the completed solution.