Evolutionary algorithms (EAs), which are based on a powerful principle of evolution: survival of the ttest, and which model some natural phenomena: genetic inheritance and Darwinian strife for survival, constitute an interesting category of modern heuristic search. This introductory article presents the main paradigms of evolutionary algorithms (genetic algorithms, evolution strategies, evolutionary programming, genetic programming) and discusses other (hybrid) methods of evolutionary computation. We also discuss the ways an evolutionary algorithm can be tuned to the problem while it is solving the problem, as this can dramatically increase eciency. Evolutionary algorithms have been widely used in science and engineering for solving complex problems. An important goal of research on evolutionary algorithms is to understand the class of problems for which EAs are most suited, and, in particular, the class of problems on which they outperform other search algorithms.