A Grouping Particle Swarm Optimizer with Personal-Best-Position