Aiming at the problem of reasonable scheduling of maintainer for railway freight trains, aiming at the maximum maintenance completion time and the work intensity of maintainer. An improved NSGA-II algorithm is proposed based on parallel machine scheduling. By using the ways of improving the initialization method, enlarging the population size, and employing pseudo-fitness function into the elite retention strategy solve the problems that the traditional NSGA-II algorithm is easy to fall into the local optimum and the convergence speed is slow. Finally, taking the actual maintenance of railway carriage of a depot as the research object, the improved NSGA-II algorithm and the traditional NSGA-II algorithm were respectively used to solve the model. The effectiveness of the algorithm is verified by comparing the optimization results with the actual production data.