Since the difference of two flows is still a flow, it is very natural to consider
successively removing
the most obvious type of flow — that is to say, paths — as an algorithmic strategy for MFD\(_{\mathbb {N}}\) .
Indeed, the particular greedy path removal strategy of finding the heaviest path (greedy-weight)
is commonly used as a heuristic in applications (e.g., [1]}, [2]}, [3]}, [4]}) and it
seems to be mentioned in nearly every paper addressing flow decomposition. More formally, a path \(P\)  is said to carry flow \(p\)  if \(X(u,v) \ge p\)  for all edges \((u,v)\)  of \(P\) . The heaviest path is an \(s\) -\(t\)  path carrying the largest flow. Such a path can be easily found in linear time in the size of the DAG by dynamic programming (see, e.g., [5]}).
