I am given a flow network with a source s, a sink t, and capacities on the edges. The problem is to determine the maximum possible flow that can go through a specific edge (u, v), under the constraint that the overall flow from s to t must remain at its maximum value.
In other words, among all possible maximum flows from s to t, I want to find the one in which the flow on edge (u, v) is as large as possible.
I have tried the following idea:
First, run a standard maximum flow algorithm (like Ford-Fulkerson, Edmonds-Karp, or Dinic's) on the original network to get some valid maximum flow f.
Then, I want to somehow modify this flow in such a way that:
The flow on edge (u, v) is increased (if possible),
The total flow from s to t remains unchanged (i.e., still maximum),
And the resulting flow is still valid (respects capacities and flow conservation at all intermediate nodes).
However, I’m struggling to figure out a clean way to do this. I understand that the residual graph is relevant here, but I’m not sure how to use it to push additional flow through (u, v) while preserving the total flow and the flow constraints.
Any ideas, algorithms, or references would be greatly appreciated!