Introduction: GO is a 32-bit genetic optimization driver that
runs under Windows 95/98 and Windows NT. Genetic optimization refers to an optimization scheme used to solve large combinatorial problems using genetic algorithms. Genetic algorithms take their inspiration
from the biological world by creating an initial "population" of solutions that "evolve" over successive generations. Each solution string is called a chromosome and is composed of genes. To evolve from one
generation to the next, the solutions with high fitness are mated with other solutions by crossing parts of a solution string with another. Solution strings are also "mutated" by replacing the value of a randomly
selected integer in a solution string with another value. Over time, the operations of mating and mutation act to weed out poor solutions and sample the state space very efficiently for a "best" solution.
Benefits: GO provides a powerful optimization capability that can be coupled to
almost any user's application with relatively small effort. Coupling between GO and the user's application is done via a comma-separated text file. The user's application must be able to read the GO output
file containing the population members for a generation, interpret each population member into a set of input values, and provide analysis results in the same file format. It must also be able to run from a
command line so that GO can launch the user's application and read results from it once the application terminates. Capabilities:
GO supports both optimization and enumeration analysis and has been applied to problems with more than 10600
combinations. GO provides access to all major parameters that control the genetic algorithm so that you can tune the optimization to your application. Other capabilities include:
- Graphics output to aid in understanding and presenting optimization results,
- The ability to simultaneously optimize multiple (up to 10) different performance measures,
- Application of multiple constraints (up to 10),
- Real-time display of optimization or enumeration results so you can track progress of the analysis,
- Access to a limited set of optimization parameters that can be modified without restarting the analysis, and
- Restart and continue capabilities.
Applications:
GO has been applied to a variety of problems such as
- Reliability optimization – finding a combination of design upgrades that results in the greatest reliability gain for the lowest cost,
- Reliability allocation – defined as specifying a level of reliability for each subsystem or module in a system to achieve a given system reliability ,
- Retail supply chain optimization, and
- Curve fitting.
References:
GO-Genetic Optimization User's Reference Manual, Sandia National
Laboratories, Albuquerque, NM, December 1998. GO is currently being beta tested.
Figure 1. A Go Optimization in Progress. |