S.N.Sivanandam · S.N.Deepa
Introduction to Genetic Algorithms
With 193 Figures and 13 Tables
S.N.Sivanandam Professor and Head Dept. of Computer Science and Engineering PSG College of Technology Coimbatore - 641 004 TN, India S.N.Deepa Ph.D Scholar Dept. of Computer Science and Engineering PSG College of Technology Coimbatore - 641 004 TN, India
Library of Congress Control Number: 2007930221
ISBN 978-3-540-73189-4 Springer Berlin Heidelberg New York
This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, speciﬁcally the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microﬁlm or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable for prosecution under the German Copyright Law. Springer is a part of Springer Science+Business Media springer.com c Springer-Verlag Berlin Heidelberg 2008 The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply, even in the absence of a speciﬁc statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. Typesetting: Integra Software Services Pvt. Ltd., India Cover design: Erich Kirchner, Heidelberg Printed on acid-free paper SPIN: 12053230 89/3180/Integra 5 4 3 2 1 0
The origin of evolutionary algorithms was an attempt to mimic some of the processes taking place in natural evolution. Although the details of biological evolution are not completely understood (even nowadays), there exist some points supported by strong experimental evidence: • Evolution is a process operating over chromosomes rather than over organisms. The former are organic tools encoding the structure of a living being, i.e., a creature is “built” decoding a set of chromosomes. • Natural selection is the mechanism that relates chromosomes with the efﬁciency of the entity they represent, thus allowing that efﬁcient organism which is welladapted to the environment to reproduce more often than those which are not. • The evolutionary process takes place during the reproduction stage. There exists a large number of reproductive mechanisms in Nature. Most common ones are mutation (that causes the chromosomes of offspring to be different to those of the parents) and recombination (that combines the chromosomes of the parents to produce the offspring). Based upon the features above, the three mentioned models of evolutionary computing were independently (and almost simultaneously) developed. An Evolutionary Algorithm (EA) is an iterative and stochastic process that operates on a set of individuals (population). Each individual represents a potential solution to the problem being solved. This solution is obtained by means of a encoding/decoding mechanism. Initially, the population is randomly generated (perhaps with the help of a construction heuristic). Every individual in the population is assigned, by means of a ﬁtness function, a measure of its goodness with respect to the problem under consideration. This value is the quantitative information the algorithm uses to guide the search. Among the evolutionary techniques, the genetic algorithms (GAs) are the most extended group of methods representing the application of evolutionary tools. They rely on the use of a selection, crossover and mutation operators. Replacement is usually by generations of new individuals. Intuitively a GA proceeds by creating successive generations of better and better individuals by applying very simple operations. The search is only guided by the ﬁtness value associated to every individual in the population. This value is...