Linear Programming Tools and Approximation Algorithms for Combinatorial Optimization