Software: Using genetic algorithms for optimization - Analytical

Software: Using genetic algorithms for optimization. A review of Chemistry Solver. Steven D. Brown. Anal. Chemi. , 1996, 68 (21), pp 678A–679A. DOI:...
0 downloads 0 Views 2MB Size
Software

Using genetic algorithms for optimization

Chemistry Solver New Light Industries, Ltd. 9713 W. Sunset Highway Spokane, WA 99204 509-456-8321; fax 509-456-8351; nli @ comtch. iea. com; http://www. iea. com/— nli Version 1.0; $375

Genetic algorithms can be used to solve difficult optimization problems with objective functions that do not possess "nice" properties such as continuity, differentiability, and so forth. These algorithms maintain and manipulate a population of trial solutions to the optimization problem and implement a survival-of-the-fittest strategy in their search for a solution. Through mating of individual members of the population and exchange of their genes (the elements of the trial solution embedded in each member of the population), the solution space is explored over successive generations. Members with genes having betterfitnessto solve the problem survive to mate again, leading to improvement in the fitness of the better trial solutions as the population evolves. Gene mutations are also possible, and these, too, can occasionally lead to more fit offspring. This approach permits exploitation of several promising areas of the solution space at the same time. Chemistry Solveris one of the relatively few commercial software packages that implements genetic algorithms for optimization. It runs on top of a Microsoft Excel spread678 A

Installation of the single floppy disk containing the software is automated from a setup program and proceeds without problem. Chemistry Solver ran well with either Excel version 5 or Excel 95. The coupling of Chemistry Solver and Excel was tight, and execution of the optimizations went as expected. A problem suited to optimization by genetic algorithms often involves a fair amount of computation, and Excel is not the fastest of programming languages, so it is not surprising that performance was not very impressive under Windows 95 on a 66-MHz 80486 machine Installation, support, and with 16 MB RAM. Execution of the same documentation Chemistry Solver runs under Microsoft Ex-problem under Windows 95 on a 90-MHz cel, version 4 or higher, on a 386-class PC Pentium machine with 32 MB RAM was adequate—aboutfivetimes faster than on or higher running Windows 3.1 or Winthe slower machine. The software is not dows 95. It requires at least 2 MB RAM, removable through the Windows 95 conand the software sample takes up about trol panel, but the installation places all 900 KB on the hard disk. sheet, which stores the genes and determines the fitness function for each trial produced by the genetic algorithms. The program sets the population, performs the mating and exchange of genes, does the mutations, and evaluates thefitnessof the members of the population. It also displays a continuously updated history of the fitness of the population, allows the user to modify the parameters of the genetic algorithm in real time, and updates the Excel spreadsheet as each generation is evaluated.

Chemistry Solver displays a continuously updated history of the fitness of the population along with status and problem definition windows.

Analytical Chemistry News & Features, November 1, 1996

help on the solver menus, definitions, and hints on the use of the solver are available. Documentation is provided in a 52page manual. The manual begins with an overview of the software, provides a summary of the menu selections needed to run two examples, offers practical hints on running the software, gives a brief discussion of the theory of the genetic algorithm used in the software, and concludes with a glossary of terms. There is no list of key references on genetic algorithms or on the specific methods used in this package, nor is there reference to the very useful sources of information on genetic algorithms available on the Internet. Tutorial matter for Chemistry Solver is limited to coverage of the two example optimizations. The two examples are similar in that both are chemical applications, but they differ in most other respects. The first is a simple task, in which the genetic algorithm is used to balance a chemical equation. The second example, based on the action of the lac operon of Escherichia coli, involves solution of a series of coupled chemical reactions involving catalysis and thresholding to fit a diauxic growth curve—a much more challenging optimization. Most genetic algorithms require several control parameters to be set because the genes, the details of the exchange of The solver module has a standard, Migenes in mating, and the nature and frecrosoft-like user interface with a toolbar, a quency of mutations must all be specihelp menu, a minimizable history graph, and a status window. Like Excel, the solver fied prior to starting, at least. The manhas a status line at the bottom of the solver ual provides only the menu selections needed to solve the two example probwindow. The status line keeps track of the lems and does not provide the logic and state of the software, the generation, the the programmatic details needed to set elapsedtime,and the bestfitnessachieved up the problem for solution by the gefrom the evolutionary search. The history netic algorithm. A determined student graph can display the best the median, and/or the worst fitness result of the popu- might be able to learn to use the genetic algorithms from careful study of these lation for each generation, and, like the examples, but the novice will likely need other parameters of the genetic algorithm, help to make progress, at least in the the graphical display is easily changed by early stages. Novices willfindthat the the user as a run progresses. Hypertext files in one location, and manual removal is straightforward. Chemistry Solver offers several methods for gene evolution though mating and mutation. The common two-point crossover and an unusual permutation crossover method permit exchange of genes in mating. Mate selection is based on a graduated roulette wheel method. Random mutation, random mutation with a hill climb, or directional hill climb mutation can be selected to generate population diversity. The mutation probability and size are adjustable. The size of the population and the size of the set of "fittest" members who create the next generation are also adjustable. The program has default values, but the user can change these defaults to suit the problem. Pull-down menus permit selection of the various parameters controlling the genetic algorithm. The genes are defined by named cells in the Excel spreadsheet Another pull-down submenu is used to connect genes in the genetic algorithm software with the named cells in Excel. Integer or real-number values can be selected for genes, and ranges for acceptable mutations are specified here. The goal of the search (a maximum, a minimum, or a specific, user-selectable value) and the exit conditions (based on runtime,stability of the fitness function, or number of generations examined) are also specified.

most useful part of the documentation is the list of practical hints on running the software, but this section, again, places more emphasis on what to do rather than why to do it. Help is available via fax or e-mail, but the manual is not clear on whether the license includes technical support. I found the responses of the technical support staff to questions I posed via e-mail rather slow. To get the most from this package, the user must be familiar with Excel programming. Many of the optimization problems can be expressed through the functions built into Excel, but more complex problems will require substantial additional programming in Excets Visual Basic programming language. There is very little guidance in the Chemistry Solver manual on programming using either ExceFs functions or Visual Basic; the user will need to refer to the Excel manuals for the critical background. In principle, the use of Excel as a programming base may permit this package to work with other add-ons to the Excel platform, including ones implementing neural networks and nonlinear least-squares regression. The manual gives no details on the coupling of this and other Excel software, but it would make the package much more attractive if it could work with other add-ons and if that capability were documented in the manual. The Chemistry Solver package offers a simple way for those with Excel programming experience and an interest in unconventional optimization to get a genetic algorithm working quickly with minimal effort Other than the two examples, there is nothing especially chemical about the Chemistry Solver package, and chemists without prior experience with genetic algorithms and Excel programming will find this package no more accessible than others implementing genetic algorithms. Reviewed by Steven D. Brown, University of Delaware, Newark.

Analytical Chemistry News & Features, November 1, 1996 679 A