This document describes a new multi-objective evolutionary algorithm called MOSCA2. MOSCA2 improves upon an earlier algorithm called MOSCA by using subpopulations instead of clusters, truncation selection instead of random selection, adding a recombination operator, and adding a separate archive to store non-dominated solutions. The algorithm uses subpopulations, truncation selection, and a deleting procedure to maintain diversity without needing density information or niche methods. It also uses a separate archive that stores and periodically updates non-dominated solutions found, deleting some when the archive becomes full. The algorithm is capable of solving both constrained and unconstrained nonlinear multi-objective optimization problems.