offutt@caen.engin.umich.edu (daniel m offutt) (09/15/88)
Genetic algorithms (GA's) are a relatively new function optimization technique that will be of interest to physicists and others who confront very difficult numerical optimization problems. This article explains how to obtain a function optimization package based upon the genetic algorithm. A number of experimental studies have shown that GA's exhibit impressive efficiency in practice. While classical gradient search techniques are more efficient for problems which satisfy tight constraints (e.g., continuity, low-dimensionality, unimodality, etc.), GA's consistently outperform both gradient techniques and various forms of random search on more difficult (and more common) problems, such as optimizations involving discontinuous, noisy, high- dimensional, and multimodal objective functions. GA's have been applied to various domains, including numerical function optimization and adaptive control system design. The basic concepts and theory of GA's were developed by Holland (1975) and his students. Theoretical considerations show that genetic techniques provide a near-optimal heuristic for information gathering in complex search spaces. Those interested in more information about genetic algorithms, including the next international conference on GA's, may wish to subscribe to GA-LIST. Send subscription requests to gref@NRL-AIC.ARPA. Not to me. Those interested in obtaining a GA function optimization package via electronic mail, read on. John Grefenstette of the Naval Research Laboratories in Washington D.C. is making his optimization package available to physicists and others with difficult function optimization problems, especially those that have proven or would prove intractable using other optimization methods. A copy of the source code may be obtained by sending a request to gref@NRL-AIC.ARPA. A brief description of this package follows. The GENEtic Search Implementation System 4.5 (GENESIS 4.5) was written to promote the study of genetic algorithms for function minimization. GENESIS runs under the UNIX operating system, version V7 or higher. Since genetic algorithms are task independent optimizers, the user must provide only an "evaluation" function which returns a value when given a particular point in the search space. The system is written in the language C. Details concerning the interface between the user-written function and GENESIS are explained in the GENESIS user guide which comes with the package. Shell files are provided to ease the application of genetic algorithms to the user's objective function. Genetic algorithms appear to hold a lot of promise as general purpose optimization procedures. However, the author of GENESIS disclaims any warranties of fitness for a particular problem. The purpose of making this system available is to encourage the experimental use of genetic algorithms on realistic optimization problems, and thereby to identify the strengths and weaknesses of genetic algorithms. ---------------------------------------------------------------------- Dan Offutt offutt@caen.engin.umich.edu