En teoría de grafos, una red de flujo es un grafo dirigido donde existen dos vértices especiales, uno llamado fuente, al que se le asocia un flujo positivo y otro llamado sumidero que tiene un flujo negativo y a cada arista se le asocia cierta capacidad positiva. En cada vértice diferente a los dos especiales se mantiene la ley de corrientes de Kirchoff, en donde la suma de flujos entrantes a un vértice debe ser igual a la suma de flujos que salen de él (propiedad de conservación del flujo
∑
f
i
=
∑
f
o
{\displaystyle \sum f_{i}=\sum f_{o}}). Puede ser utilizada para modelar el tráfico en un sistema de autopistas, fluidos viajando en tuberías, corrientes eléctricas en circuitos eléctricos o sistemas similares por lo que viaje algo entre nodos. Uno de los usos principales de los llamados algoritmos de flujo es encontrar el flujo máximo de la fuente al sumidero, siempre cumpliendo unas determinadas restricciones.