In the end I want just to mention that is possible also to design a fast approximation algorithms for a kind of problem called fractional packing and covering problems. These are combinatorial algorithms, then we don't need to use LP to solve these problems. The fractional solution is close to the optimum as we like.
A multi-commodity flow problem is also a packing problem we want to route flow through many paths without exceeding the capacity. While the multi-cut problem is a classical covering problem since we want to cover all the paths that connect a pair of vertices.