Improving particle swarm optimization: Using neighbor heuristic and Gaussian cloud learning