Approximation, Randomization and Combinatorial Optimization Algorithms and Techniques by Ashish Goel