Evolutionary algorithms have been successfully used to solve problems with 2 or more objective functions (called "multi-objective") during the last 20 years. This field is now called "Evolutionary Multi-Objective Optimization" and has become a very active research area, giving rise to a wide variety of algorithms, techniques to maintain diversity, selection mechanisms, archiving schemes, and applications, among other important contributions. In this paper, we will provide a general overview of this area, emphasizing the main research findings that have shaped the field, as well as its current research trends and its future challenges.