InTech, 2011. — 596 p. — ISBN: 9789533071718.
Evolutionary algorithms (EAs) are the population-based metaheuristic optimization algorithms. Candidate solutions to the optimization problem are defined as individuals in a population, and evolution of the population leads to finding bett er solutions. The fitness of individuals to the environment is estimated and some mechanisms inspired by biological evolution are applied to evolution of the population.
Genetic algorithm (GA), Evolution strategy (ES), Genetic programming (GP), and Evolutionary programming (EP) are very popular Evolutionary algorithms. Genetic Algorithm, which was presented by Holland in 1970s, mainly uses selection, crossover and mutation operators for evolution of the population. Evolutionary Strategy, which was presented by Rechenberg and Schwefel in 1960s, uses natural problem-dependent representations and primarily mutation and selection as operators. Genetic programming and Evolutionary programming are GA- and ES-based methodologies to find computer program or mathematical function that perform user-defined task, respectively.
As related techniques, Ant colony optimization (ACO) and Particle swarm optimization (PSO) are well known. Ant colony optimization (ACO) was presented by Dorigo in 1992 and Particle swarm optimization (PSO) was by Kennedy, Eberhart and Shi in 1995. While Genetic Algorithm and Evolutionary Strategy are inspired from the genetical evolution, Ant colony optimization and Particle swarm optimization are from the behavior of social insects (ants) and bird swarm, respectively. Therefore, Ant colony optimization and Particle swarm optimization are usually classified into the swarm intelligence algorithms.
Evolutionary algorithms are successively applied to wide optimization problems in the engineering, marketing, operations research, and social science, such as include scheduling, genetics, material selection, structural design and so on. Apart from mathematical optimization problems, evolutionary algorithms have also been used as an experimental framework within biological evolution and natural selection in the field of artificial life.
The book consists of 29 chapters. Chapters 1 to 9 describe the algorithms for enhancing the search performance of evolutionary algorithms such as Genetic Algorithm, Swarm Optimization Algorithm and Quantum-inspired Algorithm. Chapter 10 introduces the programming language for evolutionary algorithm. Chapter 11 explains evolutionary algorithms for the fuzzy data problems. Chapters 12 to 13 discuss theoretical analysis of evolutionary algorithms. The remaining chapters describe the applications of the evolutionary algorithms. In chapters 12 to 17, the evolutionary algorithms are applied to several scheduling problems such as Traveling salesman problem, Job Scheduling problem and so on. Chapters 18 and 24 describe how to use evolutionary algorithm to logic synthesis, network coding, filters, pattern recognition and so on. Chapters 25 to 29 also discuss the other applications of evolutionary algorithms such as random field discretization, biosystem simulation, gene regulatory, crystal structure analysis and structural design.