A Clustering Particle Swarm Optimizer for Locating and Tracking Multiple Optima in Dynamic Environments