Stopping criteria for a constrained single-objective particle swarm optimization algorithm