Optimized Particle Swarm Optimization (OPSO) and its application to artificial neural network training