A Gentle Introduction to Particle Swarm Optimization