Industrial Applications of Genetic Algorithms:Genetic Algorithms in the Engineer's Toolbox

Previous | Table of Contents | Next

The interest in GAs is definitely growing. In recent years there have been a number of texts published on genetic algorithms [22-24]. Additionally, there has been a very successful biannual international conference on genetic algorithms, and GAs have received growing attention in the popular press. The publicity resulting from this growing body of literature has contributed to a dramatic increase in GA applications. The number of publications related to GAs is not only growing, it has virtually exploded over the last decade. Figure 1.1 represents a reasonable approximation to the number of GA papers published annually [25]. The bibliography of GA applications compiled by Alander [25] gives an indication of the diverse fields in which GAs are being applied. Table 1.1 supplies a breakdown of the most popular application areas addressed by the papers appearing in Alander’s bibliography. This classification by subject is interesting because a large number of the papers are related to engineering applications. It is apparent that more and more engineers are using GAs to solve their problems.

Figure 1.1 The number of GA papers published annually has continued to increase exponentially.

As the number of published GA papers has grown at such a rapid pace, so too has the number of applications in which GAs have been used to solve industrial-scale problems. Many of these problems are being solved by other than just researchers at universities and government labs. Indications are that GAs are being widely used by practicing engineers and scientists. This expansion in GA users is due to the technique’s growing reputation in both the computational and engineering communities and to the increasing availability of information on GAs. What was once an abstract concept that proposed the use of evolution-based operations to provide computers with adaptive capabilities similar to those in nature, has developed into a well-defined computational technique applicable to the solution of a wide range of search and optimization problems.

Table 1.1 The most popular subjects as addressed by papers in the bibliography compiled by Alander [25].
subject | number of papers
--- | ---
classifier systems | 16
review | 14
machine learning | 13
control | 11
classifiers | 10
engineering | 8
optimization | 7
fuzzy controllers | 7
learning | 6
immune systems | 6
adaptation | 6
fuzzy control | 5
GA analysis | 5
computer aided design | 5
others | 247

In the early days of GA development, the application of a GA to a particular problem generally required consultation with a “GA expert,” someone well versed in the intricate details of GAs. Although it is a workable arrangement, this collaborative effort tends to lengthen the process of producing quality results because the GA expert has to be brought up to speed on the application domain; that is, to acquire an expertise that the person or group originally requiring a solution already has. Today, a more desirable situation exists. GAs can be successfully applied to a particular problem by the person or group interested in solving the problem; a GA expert is no longer required to produce quality results. The GA has made its way into the practicing engineer’s toolbox. This is evidenced by the fact that first-year graduate students can complete GA application projects with a minimum of introduction to GAs.

A CLASSROOM AT THE UNIVERSITY OF ALABAMA

The College of Engineering at The University of Alabama offers a one-semester course on genetic algorithms which is taught by an instructor from the Department of Aerospace Engineering and Mechanics. This semester course consists of forty-five 50-minute lectures, and is generally offered to graduate students (although seniors are allowed to take the course with the instructor’s permission). The prerequisite is one computer course. Although the course is offered in the College of Engineering, the students who have taken the course come from very diverse backgrounds. For instance, the students who wrote the remaining chapters in this book have backgrounds in a variety of fields including engineering, computer science, and finance.

The goal of the course is to provide students with a fundamental understanding of GAs sufficient to use them to solve problems. In addition, students are exposed to state-of-the-art topics in GAs including real-valued parameter representations, genetic programming [8], learning classifier systems, GAs in fuzzy systems, GAs in neural networks, and advanced operators. Goldberg’s book [21] is used as the textbook, but the book is heavily supplemented with handout material. The course is divided into the following four main topic areas: (1) basic mechanics of a GA including an introduction to computer code in three computer languages (3 weeks), (2) the theory of GAs (3 weeks), (3) advanced operators (4 weeks), and (4) GAs in machine learning (5 weeks). The students are evaluated based on two 50-minute examinations, one 2 1/2 hour comprehensive final examination, a variety of homework exercises, and a semester computer project. The computer projects are proposed by the students, and they are as diverse as the students’ backgrounds and interests. It is these computer projects that comprise the remainder of this book.

The computer projects are assigned in the second week of the semester, after the students have been introduced to the fundamental capabilities of GAs. Thus, they are encouraged to suggest search, optimization, and machine learning problems without having been exposed to the vast potential of GAs. Many of the students have selected applications or problems related to their thesis topics; some have subsequently chosen to extend their applications to become their theses. There are few restrictions placed on the computer projects. Students are allowed to use GA computer code made available to them by the instructor, to acquire GA code from outside sources including the Internet, or to write their own (few actually select this option). As in most industrial applications, the majority of the students’ time is spent developing effective fitness functions and coding schemes. Many of the coding schemes the students suggest cause them to develop specialty genetic operators. Most seem to be confident in their ability to apply a GA to interesting and complex problems when they finish the course.

Previous | Table of Contents | Next

Copyright © CRC Press LLC