add PSO training