Particle Swarm Optimization (PSO) for the constrained portfolio optimization problem