Читать книгу Power Magnetic Devices - Scott D. Sudhoff - Страница 35
Enhanced Real‐Coded Genetic Algorithm
ОглавлениеBefore concluding this section, it is interesting to place all of the aforementioned operators into a single block diagram so that the relationships between the operators can be made clear. This is illustrated in Figure 1.14. Therein, initialization and the first fitness evaluation are as in the canonical GA diagramed in Figure 1.8. Next, the scaling algorithm is (optionally) employed. Note that the input and output of the scaling operator is the population P[k]; the same symbol for the input and output is used since the scaling operator does not operate on the population; it merely adjusts fitness values. The same is true of the diversity control operator, if utilized. Next, the selection operator creates a mating pool M[k]. Based on the mating pool, the mating, crossover, segregation, and mutation operators yield a population of children C[k].
Figure 1.14 Enhanced real‐coded genetic algorithm.
The death algorithm selects a member of the current population to be replaced by the children, yielding the beginnings of the next generation, P‴[k + 1]. The primes are used because this population will be modified before becoming the next generation. First the migration operator will be applied, which may occasionally move individuals from one region to another. This yields P″[k + 1]. Next, the gene values are decoded and the fitness evaluated. The result is again denoted P″[k + 1] since the population itself does not change. The elitism operator is then applied, which compares the most fit individual of the previous population P[k] to the most fit individual in P″[k + 1] and replaces that individual if appropriate. This yields population P′[k + 1]. The local search operator is employed to generate P[k + 1].
Once the next generation is formed, the stopping criterion is checked. Often, the stopping criterion is a check to see if a sufficient number of generations have passed. If the stopping criterion has not been met, the process repeats, starting with scaling. If the stopping criterion has been met, then an estimate of the solution x** is selected as the most fit individual of the population. This estimate can then be passed to a deterministic optimization algorithm for further refinement, yielding x*.
The algorithm depicted in Figure 1.14 is probably more involved than is typical, because many optional operators have been used. For example, diversity control does not have to be used. Scaling is not necessary when using tournament or when the fitness values are always positive. A separate death algorithm is not necessary if the entire population is replaced by children. Random and deterministic search routines are often not used. Of the optional algorithms, elitism is fairly important. In addition, although not as commonly employed as elitism, the migration operator has been shown to have a significant impact on performance. Clearly, there is a wide variety of GA operators, and many books have been written on this subject. The reader is referred to references [4,5,8,9] for just a few of these. The good news is that almost all variations are effective optimization engines—they vary primarily in how quickly they converge and their probability of finding global solutions.