Facility Location Problems: Approximation Algorithms and Polyhedral Results