  Stable flows generalize the well-known concept of stable matchings to markets
in which transactions may involve several agents, forwarding flow from one to
another. An instance of the problem consists of a capacitated directed network,
in which vertices express their preferences over their incident edges. A
network flow is stable if there is no group of vertices that all could benefit
from rerouting the flow along a walk.
  Fleiner established that a stable flow always exists by reducing it to the
stable allocation problem. We present an augmenting-path algorithm for
computing a stable flow, the first algorithm that achieves polynomial running
time for this problem without using stable allocation as a black-box
subroutine. We further consider the problem of finding a stable flow such that
the flow value on every edge is within a given interval. For this problem, we
present an elegant graph transformation and based on this, we devise a simple
and fast algorithm, which also can be used to find a solution to the stable
marriage problem with forced and forbidden edges.
  Finally, we study the stable multicommodity flow model introduced by
Kir\'{a}ly and Pap. The original model is highly involved and allows for
commodity-dependent preference lists at the vertices and commodity-specific
edge capacities. We present several graph-based reductions that show
equivalence to a significantly simpler model. We further show that it is
NP-complete to decide whether an integral solution exists.
