We investigate the following greedy approach to attack linear programs of type max{1 T x | l ≤ Ax ≤ u} where A has entries in {−1, 0, 1}: The greedy algorithm starts with a feasible solution x and, iteratively, chooses an improving variable and raises it until some constraint becomes tight. In the special case, where A is the edgepath incidence matrix of some digraph G = (V, E), and l = 0, this greedy algorithm corresponds to the Ford-Fulkerson algorithm to solve the max (s, t)-flow problem in G w.r.t. edge-capacities u. It is well-known that the Ford-Fulkerson algorithm always terminates with an optimal flow, and that the number of augmentations strongly depends on the choice of paths in each iteration. The Edmonds-Karp rule that prefers paths with fewer arcs leads to a running time of at most |E| 2 augmentations. The paper investigates general types of matrices A and preference rules on the variables that make the greedy algorithm efficient. In this paper, we identify conditions that guarantee for the greedy algorithm not to cycle, and/or optimality of the greedy algorithm, and/or to yield a quadratic (in the number of rows) number of augmentations. We illustrate our approach with flow and circulation problems on regular oriented matroids.