This paper extends the NSGA-II-MOPSO algorithm, which is based on the combination of NSGA-II and multi-objective particle swarm optimizer (MOPSO) for unconstrained multi-objective optimization problems, to accommodate constraints and mixed variables. In order to utilize the valuable information from the objective function values of infeasible solutions, a method called M+1 nondominated sorting is proposed to check the nondomination levels of all infeasible solutions. For integer and discrete variables, they are dealt with using a method called stochastic approximation. Experiments on two structural optimization problems were conducted. The results indicate that the constrained NSGA-II-MOPSO (C-NSGA-II-MOPSO) is an effective multi-objective optimizer for optimization problems in engineering design in comparison with the constrained NSGA-II algorithm. The efficiency of the algorithm demonstrated here suggests its immediate application to other engineering design problems.