• No results found

Multi-objective optimization is the process of optimizing (minimizing or maximizing) a number of objectives simultaneously. A multi-objective optimization problem may also contain a set of constraints which any feasible solution must satisfy. In general, a multi- objective optimization problem can be defined as follows:

Find the vectorx∗ that optimizes a given set ofO objective functions, i.e.,

M aximize/M inimize F (x∗) = [F1(x∗), F2(x∗), ..., FO(x∗)]T

subjected to the constraints,

gj(x∗) ≤ 0 ; j = 1, 2, ..., k

hl(x∗) = 0 ; l = 1, 2, ..., e

Each objective function Fi(x) must be maximized or minimized, O is the number of ob-

jective functions, k is the number of inequality constraints, and e is the number of equality constraints.

In many real-life problems, various objectives conflict with each other. Hence, opti- mizing with respect to a single objective results in poor solutions with respect to the other objectives. Therefore, in multi-objective optimization we obtain a set of solutions, each of which satisfies the objectives at an acceptable level without being dominated by any other solution.

solutions, each of which is non-dominated by any other solution. A solution X is non- dominated, if every solution better than X with respect to one objective function, must be worse than X with respect to another objective function. For example, in a car purchase problem scenario, two objectives of interest to a buyer would be the cost and the engine performance. Alternatives may include a car which has low cost and low engine perfor- mance, and another car which comes with high cost and high engine performance. In this scenario, neither is strictly ‘better’ than the other according to both cost and performance criteria. Such solutions are called Pareto optimal solutions. The set of all possible non- dominated solutions in X is called the Pareto optimal set. The corresponding objective function values of the Pareto optimal set in the objective space constitute the Pareto front. The goal of a multi-objective optimization algorithm is to identify solutions in the Pareto optimal set.

3.2.1

Evolutionary algorithms for multi-objective optimization

Many different methods exist to solve multi-objective optimization problems. The most common technique is to aggregate the multiple objectives into a single objective by using weighted sum model [86]. Another trivial technique is to optimize the objectives one at the time, with a given order of importance of the objective functions [86]. However, finding the appropriate weight assignment for the objective functions is generally non trivial and problem-dependent. In additions, since these techniques arbitrarily limit the search space some Pareto optimal solutions will not be considered [26].

The application of evolutionary algorithms to solve multi-objective optimization prob- lems is similar to Algorithm 2. However, multi-objective optimization algorithms should also consider how the fitness values should be assigned to individuals to lead the evolution to a Pareto optimal set and how to maintain diversity in the population to avoid premature convergence [34].

rithm proposed to solve multi-objective optimization. During each generation of VEGA, a number of sub-populations are generated by performing proportional selection according to each objective function. Then these sub-populations are shuffled, and regular GA op- erations are carried out on the shuffled populations. The concept of Pareto optimality was introduced by David E. Goldberg in [50], and has been used by almost all the evolutionary algorithms proposed to solve multi-objective optimization afterwords.

Non-dominated Sorting Genetic Algorithm (NSGA) was proposed by Srinivas and Deb [106], and is based on several layers of classification of the individuals. The key steps of the NSGA are as follows:

i. Before selection, the population is ranked based on non-domination, where all non- dominated individuals are given the same rank.

ii. All these individuals share the same fitness value.

iii. Then, this group of individuals are ignored and the next set of non-dominated individ- uals are obtained from the remaining layers.

iv. These individuals are given a fitness value less than that of the previous set. v. The process continues until all individuals in the population are assigned a rank.

Since the individuals in the first non-dominating set have the highest fitness value, more individuals of that set get selected to the mating pool. NSGA was shown to be a computa- tionally expensive algorithm for multi-objective optimization because of repeated calcula- tion of non-dominating sets [27]. Niched-Pareto Genetic Algorithm (NPGA) [56], which uses a tournament selection scheme based on Pareto dominance, and Multi-Objective Ge- netic Algorithm (MOGA)[44], which ranks individuals based on the number of other indi- viduals which are dominated by it, were also proposed during the same period. Strength Pareto Evolutionary Algorithm (SPEA) [127] uses a generational gap elitist approach,

Algorithm 3 : The NSGA-II algorithm

1: i ← 0

2: Pi ← Random set of individuals (initial population) of size N 3: Evaluate the fitness of all individuals of Pi

4: Apply crossover and mutation to Pito create offspring population Ciof size N 5: Choose a maximum number of generations imax

6: while i < imax do 7: Set Ri = Pi∪ Ci

8: Identify the non-dominated fronts F1, F2, ..., Fkin Ri. 9: for j = 1, ...k do

10: Calculate crowding distance of the solutions in Fi

11: Pi+1= ∅ 12: if (|Pi+1| + Fj ≤ N ) then 13: Pi+1= Pi+1∪ Fj 14: else

15: Add the least crowded N −|Pi+1| individuals from Fj to Pi+1

16: end if

17: end for

18: Use binary tournament selection based on the crowding distance to select parents from Pi+1

19: Apply crossover and mutation to Pi+1to create offspring population Ci+1of size N 20: i ← i + 1

21: end while

where a proportion of the current population is preserved and carried to the next gener- ation. Strength Pareto Evolutionary Algorithm 2 (SPEA2) [126] is an improved version of the SPEA.

The most widely used evolutionary algorithm for multi-objective optimization is the Non-dominated Sorting Genetic Algorithm-II (NSGA-II) [31], which is an improved ver- sion of NSGA [106], and is shown in Algorithm 3.

NSGA-II estimates the density of solutions surrounding a particular solution in the population by computing the average distance of two points on either side of this point along each of the objectives of the problem. This value is called the crowding distance. During selection, the NSGA-II considers both the non-domination rank of an individual and its crowding distance. The elitist mechanism used in NSGA-II consists of combining the best parents with the best offspring obtained. NSGA-II is much more efficient than its

predecessor, and the superior performance is evident from the wide usage of the algorithm in wide range of applications [70].

Some of the more recent evolutionary algorithms proposed to solve multi-objective optimization problems includes MOEA/D [125], BORG[53] and NSGA-III [33, 61].

As NSGA-II has been widely used and shown superior performance in multiple appli- cations, we use NSGA-II as the multi-objective optimization algorithm in this study.