About the book
The solution to many real-world problems lies in optimizing processes, parameters, or techniques, among many others. However, these optimizations usually mean dealing with immense search spaces, so exhaustive methods that may evaluate all possible solutions looking for the global optimum are intractable. Besides, many local optima may exist in the search space, so simple techniques may get stuck in them. Evolutionary algorithms and, more concrete, genetic algorithms are metaheuristic techniques inspired by Darwin's natural selection of species theory to solve search-based optimization problems, which has been demonstrated to effectively deal with complex search spaces. Genetic algorithms employ a population of individuals, each representing a full or partial solution to the problem, bred and reproduced looking for optimal individuals. Then, according to a fitness function, these individuals are evaluated, which determines how a given individual adapts to the problem at hand.
In recent years, genetic algorithms have advanced by proposing novel algorithmic flows, representations, or specific techniques inside the main structure of the algorithm. As a result, genetic algorithms have been successfully applied to solve many real-world problems (engineering, smart cities, and energy). They have also helped to improve many machine learning (classification, regression, or hyperparameter optimization) and data mining (data preprocessing, pattern mining, or feature selection) techniques.
This book intends to provide the reader with a comprehensive overview of the current state-of-the-art and advances in genetic algorithms and present the fields in which they have been applied throughout the years.