Since arcs can be used multiple times, this problem can be formulated as a quadratic program. If the instance is not large, then it might be worthwhile to try one of the solvers that Wikipedia links to.
Let's take feasible solutions to be circulations x, i.e., positive linear combinations of simple cycles. Let A be the matrix representing the linear map from arcs to vectors. There's one trick, proved with a little algebra: instead of minimizing the angle of Ax relative to the all-ones vector, we minimize the length of Ax subject to the constraint that the dot product of Ax and the all-ones vector be 1.
Now we can write down the quadratic program.
minimize y1^2 + ... + yn^2 (positive semidefinite objective)
subject to
Ax - y = 0
x is a circulation
The last constraint breaks down as the linear constraints x >= 0
and, for each vertex, that the sum of x
values on arcs entering the vertex equals the sum of x
values on arcs leaving.