According to the characteristics of the multi-objective resource constrained project scheduling problem, a reasonable crossover operator is designed based on the encoding scheme that combines activity list and resource list, and a multi-objective teaching-learning-based optimization algorithm is proposed. To exchange information among individuals effectively, the non-dominated individual as the teacher performs crossover with students at the teacher phase, while students perform crossover interactively at the student phase. At each phase, a forward-backward improvement is applied to enhance the local search capability and a Pareto archive is used to store and update the non-dominated individuals. Numerical simulation based on the benchmarking sets and comparisons with the state-of-the-art algorithms demonstrate the effectiveness of the proposed algorithm.