The basic principles of Genetic Algorithm (GA) were first proposed by Holland [4]. It is inspired by the mechanism of natural selection where stronger individuals would likely be the winners in a competing environment. Here, GA uses a direct analogy of such natural evolution. It presumes that a potential solution of a problem is an individual and can be represented by a set of parameters. These parameters, regarded as the genes of a chromosome, can be structured by a string of values in binary form. A positive value, known as fitness value, is used to reflect the degree of "goodness" of the chromosome, which is generally correlated with the objective function of the problem. Through out a genetic evolution, the fitter chromosome has the tendency to yield good quality offspring which means a better solution to the problem. In a practical application of GA, a population pool of chromosomes has to be installed and they can be randomly set initially. In each cycle of genetic evolution, a subsequent generation is created from the chromosomes in the current population. This can only be achieved if a group of those chromosomes, generally called the "parents", or a collection term "mating pool" are selected via a specific selection routine with proportionate selection mechanism. The genes of the parents are to be mixed and recombined for the production of offspring in the next generation via crossover operation. These offspring are subjected to mutation as another natural process. It is expected from this process of evolution (manipulation of genes) that a "better" chromosome will create a larger number of offspring, which in the end, ensures a higher chance of surviving in the subsequent generation. This process emulates the survival-of-the-fittest mechanism in nature. The cycle of evolution is repeated until a desired termination criterion is reached. This criterion can be set by the number of evolution cycles (computational runs), or the amount of variation of individuals between different generations, or a pre-defined value of fitness. In so doing, the generation pool will merge where the final chromosome is emerged as the solution to the problem of concern. For its use in control systems engineering, GA can be applied to a number of control methodologies for the improvement of the overall system performance. In most of the controller designs, some parameters are required to be optimized in order to give a better overall control performance. Furthermore, the configuration or the order of the controller may be optimized to reduce the system complexity. In classical PID control problem, the required three-terms-parameters which are known as proportional, integral and derivative gain, should be optimally determined. Despite the method of Ziegler-Nichols (ZN) ultimate-cycle tuning scheme, these parameters can be optimally obtained via GA. Successful implementations are found in pH neutralization process [12] , and the heat exchanger system [8] .
All the agent behaviors were optimized using a genetic algorithm (GA) REF .
Genetic Algorithms : Concepts and Designs
Assembly Automation
Assembly Automation
Computer Science