Approximation Algorithms for Facility Location Problems and Network Routing Problems