This book discusses genetic algorithms which rely on analogies with natural processes - algorithms based on the principle of evolution, that is, survival of the fittest. In programs based on genetic algorithms, called evolution programs, a population of individuals undergoes a sequence of transformations. The individuals strive for survival: a selection scheme biased towards fitter individuals selects the next generation. After some generations, the program converges and the best individual hopefully represents the optimum solution. Evolution programming techniques can be seen, therefore, as applicable to many hard optimizations problems. The book discusses various optimization problems in the areas of optimal control, operations research and engineering. The problems include optimization of functions with linear constraints, the travelling salesman problem, scheduling and partitioning problems and so on. All methods are illustrated by results obtained from various experimental systems. The book collects, in a unified and comprehensive manner, the results of evolution programming techniques previously available only in widely scattered research papers.
The importance of these techniques has been growing in the last decade, since evolution programs are parallel in nature, and parallelism is one of the most promising directions in computer science. The book is self-contained and the only prerequisite is basic undergraduate mathematics. It is aimed at researchers, practitioners, and graduate students in the areas of computer science (especially artificial intelligence), operations research and engineering.