Minimizing transportation cost through a network, multiple source/sinks
This is an instance of the minimum-cost circulation problem.  Replace each vertex $v$ by two vertices $v_\text{in}$,$v_\text{out}$.  Each edge $(u,v)$ is replaced by $(u_\text{out},v_\text{in})$, with capacity (upper bound) given by $c(u,v)$ and lower bound 0.  Then, add an edge $(v_\text{in},v_\text{out})$ with both the lower bound and upper bound set to $s(v)$.

There are polynomial-time algorithms for this problem.