Augmenting path Created 2026-09-29 Updated 2026-10-14
An augmenting path is a source-to-sink graph path of positive capacities in the residual network. Its bottleneck is . Add to original flow on forward residual edges and subtract on backward residual edges. Each internal vertex still satisfies flow conservation, and the bottleneck guarantees every capacity constraint. The resulting feasible flow has strength of a flow . In the unit-capacity residual network example, , and the subtraction on is precisely what allows the value to rise from to .
Flow Created 2026-09-24 Updated 2026-10-18
In a finite directed graph with distinct source and sink vertices , a flow records an amount on each original directed edge. For a feasible flow in a flow network, these amounts satisfy the capacity constraints and flow conservation at every vertex other than .[ref]
The antisymmetric convention records signed net amounts instead:
taking missing edge amounts as zero. The paired signs describe one net transfer, rather than two independent transfers.[ref]
For example, if separate original directed edges and carry and , their net amount is . This signed record loses the separate amounts: , would give the same net amount. When checking capacity constraints on actual edges, keep the original amounts or specify the signed bounds carefully; when summing flow conservation, either record gives the same divergence of a flow.
For the running flow network, choose the original edge amounts
Every capacity constraint holds. At , incoming flow equals outgoing flow ; at , incoming flow equals outgoing flow . This feasible flow has flow value , computed at or .
Figure 1.
An original-edge flow ledger verifies capacity constraints, flow conservation and flow value five
. Details.
The total of all five edge amounts is , but the flow value is . A unit passing through several edges appears several times in that total. Concretely, route units along each of the directed paths and , and along . Their delivered amounts sum to , while their edge usages sum to . The cut of a flow network certifies that this delivery rate is already a maximum flow.
Flow conservation is useful because it makes a local ledger predict a global delivery rate: intermediate vertices only redistribute the resource. An additional network circulation can change the individual edge amounts without changing the flow value. Counting net delivery rather than total edge usage prevents such recirculation from masquerading as increased output.
Flow conservation Created 2026-09-29 Updated 2026-10-18
Flow conservation requires equal total inflow and outflow at every vertex other than the source and sink:
Equivalently, the divergence of a flow is zero there.[ref]
This is a steady accounting condition: an intermediate vertex neither creates the routed resource nor accumulates it. Splitting is allowed; equality between individual incoming and outgoing edges is not required. For the running flow, the equation at is , or , and at it is , or .
Capacity constraints alone do not ensure flow conservation. For instance, changing only from to keeps every edge amount within its flow network edge capacity, but leaves an excess inflow of at and an excess outflow of at . It is therefore not a feasible flow. Changing all affected edge amounts together to restores both equations and gives flow value .
Flow network Created 2026-09-24 Updated 2026-10-14
A flow network is a directed graph with distinct source and sink vertices and a nonnegative flow network edge capacity on each directed edge . In the finite setting here, every flow network edge capacity is a finite real number. A feasible flow assigns a nonnegative amount to each original directed edge, satisfies the capacity constraints, and obeys flow conservation at every other vertex:
These are nonnegative arc amounts. The antisymmetric convention in flow instead records net amounts , taking a missing arc amount as zero. The two conventions express the same flow conservation; keeping them distinct makes backward residual network edges easier to interpret.
Think of vertices as routers, directed edges as communication links, flow network edge capacities as available bandwidth, and flow as a steady transmission rate. An intermediate router can distribute incoming traffic among outgoing links, but flow conservation prevents it from creating traffic. The maximum flow problem asks how much total traffic can pass from to , allowing several graph paths to share the work. The same flow network language models transportation and abstract resource allocation.[ref]
Our running flow network has vertices and exactly five directed edges, with flow network edge capacities
The cross edge lets traffic entering use spare capacity on . With this edge removed, the two separate graph paths can carry only ; including it will let the maximum flow reach . Thus a link's usefulness depends on the rest of the flow network, rather than just its own flow network edge capacity.
Maximum flow problem Created 2026-10-05 Updated 2026-10-20
The maximum flow problem maximises the strength of a flow from a source to a sink subject to flow conservation and flow network edge capacities. For the nonnegative arc amounts used in flow network, its objective is net outflow from the source:
The equality follows by summing flow conservation over all internal vertices. Incoming source flow must be subtracted: merely circulating traffic through does not deliver more to . The max-flow min-cut theorem identifies the optimum with the least cut capacity of a cut of a flow network. A feasible flow and a cut of a flow network of equal value certify optimality without requiring a particular choice of augmenting paths.
For the five-edge flow network with flow network edge capacities , take
Every capacity constraint holds with equality. Flow conservation at is , and at it is . The strength of a flow is , also entering . This flow consists of units on the graph path , on , and on . The cut of a flow network with source side has cut capacity , so no feasible flow can do better.
Even a seemingly poor first augmenting path , carrying , does not cause failure in this example. It leaves residual network capacity along and along . These two subsequent augmenting paths yield values , , and , and produce exactly the flow above. Backward residual network edges become essential in the unit-capacity example under residual network, where this same first choice blocks every unused forward route.
Discrete assignment is another reason to study maximum flow. Put unit-capacity edges from to job vertices, from each job to eligible worker vertices, and from workers to . An integral flow selects a matching in a graph: each job and worker participates at most once, and the strength of a flow counts assigned jobs. The integral max-flow theorem therefore turns maximum cardinality assignment into maximum flow. Minimizing assignment costs is the related assignment problem, modeled by minimum-cost flow.[ref]
For a connected capacitated minimum-cost flow network, a spanning tree supplies basic flow variables. Every non-tree edge is fixed at its lower or upper bound. Flow balance determines the tree flows; these must also obey capacity constraints. An entering edge creates one cycle, and adjusting flow on that cycle preserves balance until a bound is hit and an edge leaves the tree.
A loss network admits a call only when all the resources it requires have available capacity. Calls which fail admission disappear rather than waiting. Under fixed routing, class has a fixed nonzero integer resource-requirement vector , Poisson process rate , and independent exponential distributions with parameter . Let have columns and let be the resource-capacity vector. The feasible call counts are
Write for the offered load. On , the Markov transition rates are if the new state is feasible, and .
The product-form stationary distribution of a loss network is
Indeed, whenever is feasible,
These pairwise equalities give detailed balance, including the truncated boundary: there is no transition to an infeasible state in either direction. The finite reachable chain is irreducible under positive arrival and holding rates, so this is its unique stationary distribution. It can also be viewed as independent Poisson offered populations conditioned on all capacity constraints. Conditioning usually makes the actual resource occupancies dependent.
An arriving call of class sees this stationary distribution by Poisson arrivals see time averages. Its acceptance probability is
where a partition function with a negative capacity is zero. This is the blocking partition ratio for a loss network. Thus its blocking probability is , admitted arrival rate is , and mean number present is , by balancing admitted births with departures. With a single unit-demand resource, the formula reduces to the Erlang loss formula
The stationary count law is also insensitive to the shape of independent holding-time distributions in the standard fixed-routing model when their means are unchanged. With nonexponential holding times, counts alone need not be Markov; residual holding times are included in the state for this insensitivity assertion. State-dependent admission controls and alternative routing do not automatically preserve the same simple product form.
Label the vertices (left), (upper middle), (lower middle), (upper right), (lower right). Use the flow balance convention outgoing minus incoming equals supply. The printed initial flows, in the order , are
They obey all capacity constraints and the flow balances . The four strictly interior edges form a spanning tree. The remaining edges are at a bound: at zero, and at their upper bounds. Thus this is already a feasible network simplex tree basis; no artificial feasibility phase is needed. Its total cost is .
For a tree, choose network dual potentials with and zero network reduced cost on each tree edge. Initially
The nonbasic lower-bound edge has network reduced cost . Increase its flow and adjust around the graph cycle , reversing and . The available step is , so leaves at zero. This gives
The tree is now , and the potentials are .
Now is at its upper bound but has network reduced cost , so decreasing it improves cost. Its reverse residual network edge enters along the cycle . The forward edges increase; decrease. The step is
Thus leaves at its upper bound, and
The new tree has potentials .
The upper-bound edge now has network reduced cost . Enter its reverse direction along , decreasing and and increasing . The step is , so leaves at zero. The resulting flow is
The tree is , with potentials . The nonbasic edges have network reduced costs at its upper bound, at its lower bound, and at its lower bound. All have the correct signs, so there is no improving network simplex pivot. The next part proves these signs certify optimality.
Figure 1.
Optimal network flow of total cost 220, with zero-flow edges dashed
. Details.
A feasible per-flow allocation satisfies for each active route and . It has proportional fairness if every feasible competitor obeys
By the first-order inequality for the strictly concave logarithm, this is equivalent to maximizing weighted logarithmic utility over the feasible allocations. Inactive-route rates are immaterial; set them to zero as a convention.
Write , , , and . The capacity constraints are and . For , put . Each active local route uses its remaining capacity . Omitting constants, the utility is
Its maximum has ; when , the maximum is the endpoint . Hence for active routes
These formulas also give and when . When there is no allocated service. Equivalently, the aggregate route rates for are
This is the proportionally fair allocation on a two-resource linear network for a two-resource linear flow network.
For independent Poisson processes of documents and independent document sizes with exponential distribution of rate , the memorylessness of the exponential distribution makes the population a continuous-time Markov chain. Its transition intensities are
The departure intensity sums the independent completion hazards . There is no departure on an inactive route. Set , with .
To prove the proposed stationary distribution, define the balance function of a flow-level network
For an active local route, , while for the through route this ratio is . Thus . The weights
satisfy detailed balance on every arrival-departure pair:
Each total jump rate is bounded by , so the chain is a nonexplosive Markov chain; normalized detailed-balance weights therefore give its stationary distribution, the stationary law of a two-resource linear flow network.
Use the negative binomial series to sum first over :
The remaining two geometric series give
All summands are nonnegative. Consequently the sum is finite exactly under the stability conditions for a two-resource linear flow network
These say that the offered load on each unit-capacity resource is strictly below one. Equality is insufficient: at least one geometric series then diverges. If all arrival rates are positive, the chain is irreducible and the normalizable law is its unique equilibrium law.
Finally put , . Summing over yields
Thus the two local-route counts are independent, each with geometric distribution on the nonnegative integers. The conditional through-route count has negative binomial distribution
For positive traffic rates this depends on the local counts, so all three route counts are not independent. More quantitatively, , and likewise for . If zero arrival rates are allowed, the exceptional independent cases are , or , when the relevant counts are deterministic zero. This distinction is local-count independence with through-flow dependence.
Starting from zero, one valid run of the Ford-Fulkerson algorithm augments along
The resulting nonzero edge flows are
and they obey every capacity constraint and every flow-conservation equation. The flow value is
Residual network Created 2026-09-29 Updated 2026-10-14
For a feasible flow , each original directed edge supplies a forward residual network edge of capacity and a backward one of capacity ; zero-capacity residual edges may be omitted. The forward edge permits an increase, while the backward edge permits cancellation of existing flow. In particular, backward residual capacity is the amount already sent, rather than unused original capacity. If both original orientations exist, keep their residual contributions separate, or add capacities for contributions with the same direction. An augmenting path uses these permitted changes while preserving flow conservation and the capacity constraints.
To see why cancellation matters, give all five directed edges , , , , unit flow network edge capacities. Starting from zero flow, an augmenting path carrying yields
The remaining unused original edges are and , which do not form a source-to-sink graph path. However, the backward residual edge has capacity . Consequently the residual network contains the augmenting path , with residual capacities .
Augment by : increase and from to , and decrease from to . The result is
Now flow conservation is at and at . The final flow sends one unit along each of and . The cut of a flow network has cut capacity , proving this is a maximum flow. Traversing in the residual network revised the earlier routing decision; it did not send actual traffic along a nonexistent original edge.
Figure 1.
Backward residual capacity reroutes the first unit of flow
. Before: one unit follows s to a to b to t. Middle: the residual augmenting path s to b to a to t cancels flow on a to b. After: two units use the separate paths, and the middle original edge carries zero flow. Details.
In a finite flow network, a maximum flow exists because the feasible flow set contains the zero flow and is a compact set: the capacity constraints bound every coordinate, and they and flow conservation define a closed set. The strength of a flow is a continuous function, so the extreme value theorem gives an attained maximum. An augmenting path in the residual network would permit positive augmentation, contradicting maximality. The source-reachable vertices in the residual network therefore define a cut of a flow network whose outgoing original edges are saturated and incoming original edges carry zero flow. Flow conservation makes the strength of a flow equal to this cut capacity, proving the max-flow min-cut theorem.
Existence and strong duality for finite real flow network edge capacities do not imply finite termination for every choice of augmenting paths in the Ford-Fulkerson algorithm. With irrational capacities, some choices can continue forever. With integer capacities, Integrality of the Ford-Fulkerson algorithm instead forces finite termination; rational capacities reduce to that case by a common denominator. Choosing shortest augmenting paths as in the Edmonds–Karp algorithm avoids dependence on capacity magnitudes.[ref]