Power Magnetic Devices. Scott D. Sudhoff
Чтение книги онлайн.
Читать онлайн книгу Power Magnetic Devices - Scott D. Sudhoff страница 29
Although a population member on the first front can be said to be superior to a member on the second front, the question arises as to how to compare solutions on the same front. This issue will be resolved using the concept of crowding distance. The crowding distance associated with a solution xi is defined as
where Fn is the set of indices in front n, we assume i is in front Fn, o is an index of objective number, O is the number of objectives, NL(o, i, Fn) returns the index of the individual with the next largest fitness (greater than individual i) in the oth objective in front Fn, and NS(o, i, Fn) returns the index of the individual with the next smallest fitness (less than individual i) in the oth objective in front Fn. In the case where there is no next larger or smaller individual in some objective—that is, it is a maximum or minimum in some objective—the crowding distance is taken as a very large number (pseudo‐infinity).
Crowding tournament selection uses the concepts of front rank and crowding distance in order to decide which individuals to put into the mating pool. In this method, individuals xc1 and xc2 are randomly drawn from the current population. If one of these solutions has a better front rank than the other, it is copied into a mating pool. If the two individuals have the same front rank, then the one with the better (larger) crowding distance goes into the mating pool, as it has greater diversity in terms of objectives.
Example 1.8A
The concept of crowding distance is illustrated in Figure 1.19. Suppose we wish to calculate the crowding distance of population member 7. Using (1.8-2), we have
(1.8A-1)
At this point, the remaining elements of the NSGA‐II can be set forth. The process is illustrated in Figure 1.20. Therein, we start with a population P[k]. Using crowded tournament selection (CTS), a mating pool M is created which is in turn used to create a population of children C. Next, the current population P[k] is combined with the children C to form an enlarged population R. Non NDS is used to divide this population into groups based on front, yielding sets F1, F2, and so on. Next, these sets are used to create the next generation P[k + 1]. This is done by filling P[k + 1]with sets of fronts from first to last. At some point, shown as F3 in Figure 1.20, the full front will have more members than remain empty in P[k + 1]. At this point, crowding distance selection (CDS) is used to determine which members of the final included front are included in P[k + 1]. In particular, the members of F3 with the best crowding distance are used to complete the next population.
Figure 1.19 Crowding distance.
Figure 1.20 Elitist nondominated sorting genetic algorithm (NSGA‐II).
Using this algorithm, as the population evolves, it will come closer and closer to approaching the Pareto‐optimal set, which will lead to a family of designs. We will use multi‐objective optimization extensively in this book for the design of power magnetic devices.
1.9 Formulation of Fitness Functions for Design Problems
The previous sections of this chapter have focused on the design process, and some general‐purpose single‐ and multi‐objective optimization techniques. In this section, we consider methodologies to construct fitness functions.
In constructing the fitness function, we will have a variety of metrics, such as mass and loss, and also a number of constraints related to the appropriate operation and construction of the device of interest. It will often be the case that we will have to perform multiple analyses in order to evaluate metrics, and that some of these analyses may be computationally expensive. The fact that a variety of analyses of varying computational intensity will be required will be a significant consideration in the construction of the fitness function.
Let us begin our discussion of the construction of the fitness function with consideration of the constraints. Let us assume that we have C constraints, and use ci to denote the status of the ith constraint. If the constraint is satisfied, we will set ci = 1. If the constraint is not satisfied, we will have 0 ≤ ci < 1. It is convenient to define ci so that it approaches 1 as the constraint becomes closer to becoming satisfied.
In order to test constraints, it is convenient to define the less‐than‐or‐equal‐to and greater‐than‐or‐equal‐to functions as
(1.9-1)
(1.9-2)
Figure 1.21 Constraint functions.
These functions are illustrated in Figure 1.21.
As an example, we may require the height