Multi-Objective Evolutionary Algorithms: Data Structures, Convergence, and Diversity