Particle Swarm Optimization with non-smooth penalty reformulation, for a complex portfolio selection problem