Network Flows: Theory, Algorithms, and Applications