A Variation of Particle Swarm Optimization for Training of Artificial Neural Networks