• No results found

EA Approaches to Multi-objective Optimization

Definition 2.1: The multi-objective optimization problem (MOOP)

2.2.3 EA Approaches to Multi-objective Optimization

There have been many approaches for using Evolutionary Algorithms to solve multi-objective optimization problems. The first attempt in 1984 of using a genetic algorithm (GA) for multi-objective optimization was Schaffer’s modification to a single-objective normal GA, the Vector-Evaluated Genetic algorithm (VEGA) [87]. However, after long runs the population of VEGA in the last generation tends to converge to a single optimal solution. After this study, Goldberg suggested the use of the concept of domination to formulate the fitness function using in multi-objective evolutionary algorithm (MOEA) in his book in 1989 [43]. His suggestion provided the inspiration for a lot of researchers to develop a number of MOEAs. Basically we can classify MOEA into two approaches:

Non-elitist and Elitist Approaches. Some of the well-known algorithms of both approaches are given brief descriptions below.

Let us begin with non-elitist approaches. The first algorithm, Fonseca and Fleming’s multi-objective GA (MOGA) [38] introduced in 1993, works by assigning a rank to each solution equal to the number of individuals of the current population that it dominates, plus one, and the non-dominated individuals are given the lowest rank of 1.

After that, all individuals in the current population are sorted based on their ranks, and

36

the fitness of each individual is calculated by interpolating from the best rank to the worst one. Next, Srinivas and Deb’s non-dominated sorting GA (NSGA) [92] presented in 1994 works by ranking all individuals in the current population using Pareto dominance, and the fitness assignment is computed based on dividing the population into a number of “fronts” of equal domination. For the last algorithm of non-elitist approaches, Horn et al. proposed NPGA [48] in 1994. This algorithm uses a modified version of tournament selection based on Pareto dominance, which operates by comparing two solutions on two conditions: the relation of domination between each other and the number of similar individuals already created in the new population.

With a drawback that non elitist MOEAs can potentially lose good solutions, the elitist strategy was applied to MOEA to prevent this problem. The MOEAs that mainly use the elitist concept are the Elitist Non-Dominated Sorting Genetic Algorithm (NSGA-II) [23], the strength Pareto evolutionary algorithm (SPEA-2) [112] and the Pareto archived evolutionary strategy (PAES) [52]. The first one, NSGA-II, was introduced in 2001, and it still uses the same idea of non-dominated fronts as in NSGA with a considerable improvement in computational complexity (see section 2.2.4). The SPEA-2 algorithm has several significant changes to improve the performance of its prior version of SPEA [113] such as: fixed size archive and fitness assignment considering both dominated and dominating information of individuals. The PAES algorithm uses a (1+1) evolutionary strategy and works with only mutation operators to create a single child from a single parent, which is compared to its parent to update the archive. Both SPEA2 and PAES algorithms use an archive with a predefined fixed size, and this archive is used for containing non-dominated solutions discovered during the search process. Table 2-1 provides summary notes from [53] of the well-known multi-objective algorithms described above with their advantages and disadvantages.

37

Algorithm Fitness assignment Diversity

mechanism Elitism External

population Advantages Disadvantages

VEGA

-Tend converge to the extreme of each objective

MOGA

[38] Pareto ranking Fitness sharing

by niching No No -Simple extension of

by niching No No -Fast convergence -Problem related to niche size parameter

Table 2-1: Summary notes of the well-known multi-objective algorithms

Due to the availability of open source code and adaptability to combine with our Genetic Programming (GP) system, the concept of Elitist Non-Dominated Sorting Algorithm (NSGA-II) was applied to our GP algorithm to run all experiments in Chapter 4. As a result, in next section we will have a look at the NSGA-II algorithm in detail.

2.2.4 NSGA-II

2.2.4.1 An Overview

38

NSGA-II begins by combining between and parent population together to form set of solutions of size 2 , and then the entire population is sorting by a non-dominated sorting method. This ensures that a global non-domination check is done among the offspring and parent solutions. After the non-dominated sorting is finished, the new population is populated one by one by solutions of different non-dominated fronts, beginning with the best (first) non-dominated front, following by the second non-dominate front and continuing with the third non-dominated front and so on. Due to the limitation of size of the new population at , often not all fronts from of size 2 can be used, and all remaining unused fronts are simply discarded. In the process of filling in the new population with the last allowed front, it is possible that the number of solutions in the last front is more than the remaining slots in the new population as illustrated in Figure 2-11. This problem can be solved wisely by using a niching strategy to select the members of the last front, which reside in the least crowded regions in that front, rather than randomly disposing some members from the last front [22].

Pseudocode of the NSGA-II algorithm can be found in the next section.

Figure 2-11: Process of filling the new population of the NSGA-II algorithm.

Crowding distance sorting

Rejected Non-dominated sorting

39 2.2.4.2 NSGA-II pseudocode

To begin with, an initial population is randomly created, and then it is sorted into different non-domination levels. After that, the non-domination level of each solution is assigned as its fitness, so the fitness of solutions is to be minimized as 1 is the best level. Following that, a binary crowed tournament selection operator, crossover operator and mutation operator are used to create an offspring population of size . Pseudocode of the NSGA-II procedure from [22] is given in Figure 2-12 with supplementary algorithms in Figure 2-13 and Figure 2-14.

Step1: Combine parent and offspring populations and create .

Perform a non-dominated sorting to and identify different fronts: , 1, 2, … , .

Step2: Set new population .

Set a counter 1.

Until | | | | , perform and 1.

Step3: Perform the Crowding-sort( , ) procedure (described in section 2.2.4.3) and include the most widely spread | | solutions by using the crowding distance values in the sorted to .

Step4: Create offspring population from by using the crowded tournament selection (see section 2.2.4.4), crossover and mutation operators.

Figure 2-12: A pseudocode of NSGA-II.

2.2.4.3 Crowding Distance Assignment Procedure

40

Step1: Call the number of solutions in as | |.

For each in the set, first assign 0.

Step2: For each objective function 1, 2, … , , sort the set in worse order of or, find the sorted indices vector: , .

Step3: For 1, 2, … , , assign a large distance to the boundary

solutions, or ∞ , and for all other solutions

2 1 , assign:

Figure 2-13: A pseudocode of crowding distance assignment procedure:

Crowding-sort( , ). 2.2.4.4 Crowding Tournament Selection Algorithm

BEGIN

Set current_member = 1;

WHILE (current_member ) DO BEGIN

1. Pick individuals randomly, with or without replacement;

2. Select the best of these using crowded tournament selection operator (described in section 2.2.4.5);

3. Denote this individual as ;

4. set mating_pool[current_member] = ; 5. set current_member = current_member + 1;

END END

41

Figure 2-14: A pseudocode for crowded tournament selection algorithm to select parents into mating pool.

2.2.4.5 Crowding Tournament Selection Operator

The crowded comparison operator requires that every solution has two attributes:

1) a non-domination rank in the population and 2) a local crowding distance in the population, and it works by comparing two solutions and returning the winner of the tournament. The crowding distance of a solution is the average distance of two solutions on either side of solution along each of the objectives, which is calculated by the algorithm in section 2.2.4.3. The definition of the crowded tournament selection operator is as follows.

Definition 2.2 Crowded Tournament Selection Operator: A solution wins a