Overview
Min-cost max-flow keeps capacities and per-unit costs in the residual network, repeatedly sending flow along cost-improving residual paths until no more flow can be sent or the requested amount is reached.
Finds a maximum feasible flow whose shipped units have minimum total cost.
Compact metadata for implementation and discovery.
Min-cost max-flow keeps capacities and per-unit costs in the residual network, repeatedly sending flow along cost-improving residual paths until no more flow can be sent or the requested amount is reached.
Quick facts
Runtime and memory behavior at a glance.
Best
O(E)
Average
O(V^2 E)
Worst
O(V^2 E)
Space
O(V + E)
c'(u,v) = c(u,v) + pi[u] - pi[v]Uses potentials to keep shortest-path costs nonnegative in the residual graph.
Show augmenting flow along cheapest residual paths until the desired flow is reached on a small minimum-cost flow example.
Min-cost max-flow has several variants; shortest-path implementations need careful potential and residual-cost handling.
What each reference supports for this entry.
Reference for Min-Cost Max-Flow's network-flow, cut, residual-network, or matching formulation.
Textbook support for Min-Cost Max-Flow's algorithm family, complexity framing, and standard implementation concepts.
Open sourceGood next jumps from the relationship graph, ranked for useful discovery.
Optimization · Core
Both address assignment problem, but they make different modeling or performance tradeoffs.
Compare with thisPathfinding · Foundation
Successive-shortest-path variants often use Dijkstra with potentials for nonnegative reduced costs.
Compare with thisMin-cost max-flow extends residual-network augmentation with per-unit edge costs.
Both augment through residual networks, but min-cost max-flow chooses paths by cost rather than hop count.
Successive-shortest-path variants often use Dijkstra with potentials for nonnegative reduced costs.