Evolutionary algorithms are bio-inspired algorithms based on Darwin’s theory of evolution. They are expected to provide non-optimal but good quality solutions to problems whose resolution is impracticable by exact methods. In six chapters, this book presents the essential knowledge required to efficiently implement evolutionary algorithms. Chapter 1 describes a generic evolutionary algorithm as well as the basic operators that compose it. Chapter 2 is devoted to the solving of continuous optimization problems, without constraint. Three leading approaches are described and compared on a set of test functions. Chapter 3 considers continuous optimization problems with constraints. Various approaches suitable for evolutionary methods are presented. Chapter 4 is related to combinatorial optimization. It provides a catalog of variation operators to deal with order-based problems. Chapter 5 introduces the basic notions required to understand the issue of multi-objective optimization and a variety of approaches for its application. Finally, Chapter 6 describes different approaches of genetic programming able to evolve computer programs in the context of machine learning.