Scott D. Sudhoff

Power Magnetic Devices


Скачать книгу

α is an algorithm constant often taken to be 0.5. Observe that in this algorithm the average gene value for the children is the same as for the parents. Canonical GAs also have this property.

Schematic illustration of single-point crossover.

      (1.6-9)equation

      (1.6-10)equation

      In both simple blend and simulated binary crossover, it is possible to generate gene values outside of [0,1]. For example, suppose the parent gene values are 0.5 and 1, and we use simple‐blend crossover with α = 0.8. Further, suppose υ = 0.9. The resulting gene values for the children would be 0.39 and 1.11, the latter of which is outside the allowed set of values. In this case, gene repair becomes necessary. There are several approaches to this. Hard limiting the gene values is one approach. For example, a gene value calculated as 1.2 is simply represented as 1.0. Similarly, a gene value of −2.1 would be set to 0. Alternately, gene values can be ring mapped, which is to say corrected using a modulus 1 operator. In this case, 1.2 would be repaired to 0.2 and −2.1 would be repaired to 0.9. For integer‐coded genes, additional repair is necessary in order to make sure that the gene values take on allowed values.

      Our discussion of simple blend and simulated binary crossover has focused at the gene level, and so it is now appropriate to consider the application of these processes at the chromosome level. There are several approaches that could be taken. In scalar crossover, each gene in a chromosome that is being operated upon undergoes a crossover operation independently. Each gene in a chromosome uses a different υ. In vector crossover, υ is the same for all genes in a crossover. This leads to scalar simple‐blend crossover, vector simple‐blend crossover, scalar simulated binary crossover, and vector simulated binary crossover.

Schematic illustration of single-point simple-blend crossover.

      Mutation

      In the process of the duplication of chromosomes to form gametes, occasionally errors in DNA duplication occur, which are referred to as mutations. Normally, particularly in mature species, these mutations have either little effect or a harmful effect. However, occasionally mutations yield beneficial traits. This is particularly true in the early evolution of a species. Mutation in GAs helps to explore the parameter space; in doing so, many mutations are harmful, but occasionally mutations occur which are very beneficial.

      A second method is partial absolute mutation. In this method, if the jth gene is selected for mutation, the mutated value is given by

      (1.6-11)equation

      where N(·) denotes a zero‐mean, unity variance Gaussian random number generator and σ is a desired standard deviation. A related method is partial relative mutation wherein the modified gene value may be expressed as

      (1.6-12)equation

      In partial absolute mutation, the size of the mutation is independent of the value of the gene; in relative mutation, the size of the perturbation tends to increase with the magnitude of the coded gene value. In both of these methods, gene repair is necessary because either method could result in a gene value outside of [0,1].

      There are also vector‐based mutation operators. In absolute vector mutation, we have

      (1.6-13)equation

      where V(·) denotes a unit vector with the same dimensionality as the chromosome in a random direction. For relative vector mutation, we have

      (1.6-14)equation

      where Ng is the number of genes in the chromosome in question. Both of these operators require gene repair.

Schematic illustration of total mutation.

      The