Particle Swarm Optimization with Adaptive Mutation