next up previous contents
Next: Tabu Search Up: No Title Previous: Applications

Genetic Algorithms (GAs)

A genetic algorithm can be understood as a smart probabilistic search algorithm which can be applied to variety of combinatorial optimization problems [2]. The idea of GAs is based on the evolutionary process of biological systems. Throughout natural selection, nature has developed a robust and powerful technique for maximizing the fitness of populations. GAs mimic this by evolving a population of solutions, generating new solutions by a matting procedure in which parents are chosen probabilistically according to their fitness, i.e. solution cost. The offspring incorporate elements of their parents' solutions, and so after many generations the solutions in the population tend to improve. To maintain diversity in the population, a low level of random mutation is also incorporated.

To be more precise, given a combinatorial optimization problem and an initial population of individuals solutions, each individual in the population is encoded into a string of chromosome which represents a possible solution to a given problem. The fitness of an individual is evaluated with respect to a given objective function. Highly fit individuals or solutions are given opportunities to reproduce by exchanging pieces of their genetic information, in a crossover operation (see Figure 7 and Holland [39]), with other highly fit individuals. This produces new offspring solutions (children), which share some characteristics taken from both parents. The operation of mutation is often applied after crossover by altering some genes in the strings. The offspring can either replace the whole population (generational approach) or replace less fit individuals (steady-state approach). This evaluation-selection-reproduction cycle is repeated until a satisfactory solution is found. For an overall view of the GA steps, see Figure 6. Goldberg outlined the main differences between genetic algorithms and the more traditional optimization methods in the following four points:

When implementing the algorithm, the following important techniques need to be considered:

  
Figure 6: A ``pseudo'' Genetic Algorithm.

  
Figure 7: An example figure showing a crossover operation, which is a fundamental mechanism of genetic rearrangement.

A general and basic scheme of GAs that can be used as an approach to tackle problems such as the TSP and scheduling is shown in Figure 8, where each performance of the loop consisting of steps 3.1 through 3.5 can be viewed as the processing of a single generation in the evolutionary process. Also, note that the operations on different solutions can be performed in parallel if desired, and so this is sometimes called the ``parallel genetic algorithm''. Before adapting the scheme of Figure 8 to a specific TSP or a timetabling problem, we need to specify k and , the methods for generating starting solutions (tours or timetables), the local optimization algorithm , the mating strategy, the nature of the crossover and mutations operators, the selection strategy, and the criterion for convergence.

Even without the local optimization steps of Figure 8, a GA can be classified as a variant on local search. For one thing, it has an ``implicit'' neighborhood structure in which the neighbors of a solution are those solutions that can be reached by a single mutation or mating operation.

  
Figure 8: A general schema for a genetic optimization algorithm.



next up previous contents
Next: Tabu Search Up: No Title Previous: Applications



HPF demo web account
Mon Nov 18 19:45:42 EST 1996