
172 9. Genetic Algorithms
Vector Evaluated Genetic Algorithm
The vector evaluated GA (VEGA) [760, 761] is one of the first algorithms to solve
MOPs using multiple populations. One subpopulation is associated with each objec-
tive. Selection is applied to each subpopulation to construct a mating pool. The result
of this selection process is that the best individuals with respect to each objective are
included in the mating pool. Crossover then continues by selecting parents from the
mating pool.
Niched Pareto Genetic Algorithm
Horn et al. [382] developed the niched Pareto GA (NPGA), where an adapted tourna-
ment selection operator is used to find nondominated solutions. The Pareto domina-
tion tournament selection operator randomly selects two candidate individuals, and a
comparison set of randomly selected individuals. Each candidate is compared against
each individual in the comparison set. If one candidate is dominated by an individual
in the comparison set, and the other candidate is not dominated, then the latter is
selected. If neither or both are dominated equivalence class sharing is used to select
one individual: The individual with the lowest niche count is selected, where the niche
count is the number of individuals within a niche radius, σ
share
, from the candidate.
This strategy will prefer a solution on a less populated part of the Pareto front.
Nondominated Sorting Genetic Algorithm
Srinivas and Deb [807] developed the nondominated sorting GA (NSGA), where
only the selection operator is changed. Individuals are Pareto-ranked into different
Pareto fronts as described in Section 12.6.2. Fitness proportionate selection is used
based on the shared fitness assigned to each solution. The NSGA is summarized in
Algorithm 9.11.
Deb et al. [197] pointed out that the NSGA has a very high computational complexity
of O(n
k
n
3
s
). Another issue with the NSGA is the reliance on a sharing parameter,
σ
share
. To address these problems, a fast nondominated sorting strategy was proposed
and a crowding comparison operator defined. The fast nondominated sorting algorithm
calculates for each solution, x
a
, the number of solutions, n
a
, which dominates x
a
,and
the set, X
a
, of solutions dominated by x
a
. All those solutions with n
a
= 0 are added
to a list, referred to as the current front. For each solution in the current front,
each element, x
b
,ofthesetX
b
has its counter, n
b
, decremented. When n
b
=0,the
corresponding solution is added to a temporary list. When all the elements of the
current front have been processed, its elements form the first front, and the temporary
list becomes the new current list. The process is repeated to form the other fronts.
To eliminate the need for a sharing parameter, solutions are sorted for each sub-
objective. For each subobjective, the average distance of the two points on either side
of x
a
is calculated. The sum of the average distances over all subobjectives gives the