  We give an approximation algorithm for packing and covering linear programs
(linear programs with non-negative coefficients). Given a constraint matrix
with n non-zeros, r rows, and c columns, the algorithm computes feasible primal
and dual solutions whose costs are within a factor of 1+eps of the optimal cost
in time O((r+c)log(n)/eps^2 + n).
