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 of a transformer to be less than a maximum value hmx. If this is the first constraint and if we use h(x) to represent the height in terms of our design parameters, our first constraint could be calculated as
(1.9-3)
Next, let us consider our design metrics. The design metrics will also be a function of the parameter vector x. In this text, common metrics will be mass and loss. Let the number of metrics be denoted M, and the value of the ith metric be denoted mi. It will henceforth be assumed that all metric values are greater than zero.
As we will see, metrics and objectives are closely related but not synonymous. Metrics will be based on attributes of interest. Objectives will be based on the metrics, but also be influenced by constraints.
Let us now discuss the definition of the objective or fitness function. In keeping with the usual practice of GAs, we will assume that our fitness function (which is synonymous with the objective function) is of a form to be maximized. One approach to creating a fitness function begins with first forming a combined constraint. This can be done by averaging the constraints as