The problem of finding feasible circulation can be reduced to the problem of finding a maximum s-t flow in a different network.
Add new source s and sink t
For each v with d(v) < 0, add edge (s, v) with capacity -d(v)
For each v with d(v) > 0, add edge (v, t) with capacity d(v)
∑v:d(v)>0d(v) = ∑v:d(v)< 0-d(v). Let's call this common value D.
Claim: G has circulation iff G' has max flow of value D
Given (V, E, c, d), there does not exist a circulation iff there exists a node partition (A, B) such that: