ARAVIND SESHADRI

1. Multi-Objective Optimization Using NSGA-II NSGA ( [5]) is a popular non-domination based genetic algorithm for multiobjective optimization. It is a very eﬀective algorithm but has been generally criticized for its computational complexity, lack of elitism and for choosing the optimal parameter value for sharing parameter σshare . A modiﬁed version, NSGAII ( [3]) was developed, which has a better sorting algorithm , incorporates elitism and no sharing parameter needs to be chosen a priori. NSGA-II is discussed in detail in this. 2. General Description of NSGA-II The population is initialized as usual. Once the population in initialized the population is sorted based on non-domination into each front. The ﬁrst front being completely non-dominant set in the current population and the second front being dominated by the individuals in the ﬁrst front only and the front goes so on. Each individual in the each front are assigned rank (ﬁtness) values or based on front in which they belong to. Individuals in ﬁrst front are given a ﬁtness value of 1 and individuals in second are assigned ﬁtness value as 2 and so on. In addition to ﬁtness value a new parameter called crowding distance is calculated for each individual. The crowding distance is a measure of how close an individual is to its neighbors. Large average crowding distance will result in better diversity in the population. Parents are selected from the population by using binary tournament selection based on the rank and crowding distance. An individual is selected in the rank is lesser than the other or if crowding distance is greater than the other 1. The selected population generates oﬀsprings from crossover and mutation operators, which will be discussed in detail in a later section. The population with the current population and current oﬀsprings is sorted again based on non-domination and only the best N individuals are selected, where N is the population size. The selection is based on rank and the on crowding distance on the last front. 3. Detailed Description of NSGA-II 3.1. Population Initialization. The population is initialized based on the problem range and constraints if any. 1Crowding distance is compared only if the rank for both individuals are same 1

2

ARAVIND SESHADRI

3.2. Non-Dominated sort. The initialized population is sorted based on nondomination 2. The fast sort algorithm [3] is described as below for each • for each individual p in main population P do the following – Initialize Sp = ∅. This set would contain all the individuals that is being dominated by p. – Initialize np = 0. This would be the number of individuals that dominate p. – for each individual q in P ∗ if p dominated q then · add q to the set Sp i.e. Sp = Sp ∪ {q} ∗ else if q dominates p then · increment the domination counter for p i.e. np = np + 1 – if np = 0 i.e. no individuals dominate p then p belongs to the ﬁrst front; Set rank of individual p to one i.e prank = 1. Update the ﬁrst front set by adding p to front one i.e F1 = F1 ∪ {p} • This is carried out for all the individuals in main population P . • Initialize the front counter to one. i = 1 • following is carried out while the ith front is nonempty i.e. Fi = ∅ – Q = ∅. The set for storing the individuals for (i + 1)th front. – for each individual p in front Fi ∗ for each individual q in Sp (Sp is the set of individuals dominated by p) · nq = nq −1, decrement the domination count for individual q. · if nq = 0 then none of the individuals in the subsequent fronts would dominate q. Hence set qrank = i + 1. Update the set Q with individual q i.e. Q = Q ∪ q. – Increment the front counter by one. – Now the set Q is the next front and hence Fi = Q. This algorithm is better than the original NSGA ( [5]) since it utilize the information about the set that an individual dominate (Sp ) and number of individuals that dominate the individual (np )....