A new optimality criterion based on preference order (PO) scheme is used to identify the best compromise in multi-objective particle swarm optimization (MOPSO). This scheme is more efficient than Pareto ranking scheme, especially when the number of objectives is very large. Meanwhile, a novel updating formula for the particle's velocity is introduced to improve the search ability of the algorithm. The proposed algorithm has been compared with NSGA-II and other two MOPSO algorithms. The experimental results indicate that the proposed approach is effective on the highly complex multi-objective optimization problems.