A Discrete Particle Swarm Optimization Algorithm for Uncapacitated Facility Location Problem. (18th March 2008)