modify PSO_algorithm