Multi-objective particle swarm optimization (MOPSO) has been well studied in recent years. However, existing MOPSO methods are not powerful enough when tackling optimization problems with more than three objectives, termed as many-objective optimization problems (MaOPs). In this study, an improved set evolution multi-objective particle swarm optimization (S-MOPSO, for short) is proposed for solving many-objective problems. According to the proposed framework of set evolution MOPSO (S-MOPSO), including quality indicators-based objective transformation, the Pareto dominance on sets, and the particle swarm operators for set evolution, an enhanced S-MOPSO method is developed by updating particles hierarchically, i.e., a set of solutions is first regarded as a particle to be updated and then the solutions in a selected set are further evolved by a modified PSO. In the set evolutionary stage, the strategy for efficiently updating the set particle is proposed. When further evolving a single solution in the initial decision space of the optimized MaOP, the global and local best particles are dynamically determined based on those ideal reference points. The performance of the proposed algorithm is empirically demonstrated by applying it to several scalable benchmark many-objective problems.