Abstract
		We present a new non-dominated sorting algorithm to generate the non-dominated
		fronts in multi-objective optimization with evolutionary algorithms,
		particularly the NSGA-II. The non-dominated sorting algorithm used by NSGA-II
		has a time complexity of O(MN2) in generating non-dominated fronts in one
		generation (iteration) for a population size N and M objective functions. Since
		generating non-dominated fronts takes the majority of total computational time
		(excluding the cost of fitness evaluations) of NSGA-II, making this algorithm
		faster will significantly improve the overall efficiency of NSGA-II and other
		genetic algorithms using non-dominated sorting. The new non-dominated sorting
		algorithm proposed in this study reduces the number of redundant comparisons
		existing in the algorithm of NSGA-II by recording the dominance information
		among solutions from their first comparisons. By utilizing a new data structure
		called the dominance tree and the divide-and-conquer mechanism, the new
		algorithm is faster than NSGA-II for different numbers of objective functions.
		Although the number of solution comparisons by the proposed algorithm is close
		to that of NSGA-II when the number of objectives becomes large, the total
		computational time shows that the proposed algorithm still has better
		efficiency because of the adoption of the dominance tree structure and the
		divide-and-conquer mechanism.
		
			
		
                
		Introduction
		Design optimization for many engineering applications is multi-objective in
		nature. For most multi-objective problems, the objectives conflict with each
		other, and it is impossible to obtain a single set of values for the design
		variables that corresponds to the optima of all the objectives. In this
		situation, an optimal solution represents a certain the optima of all the
		objectives. In this situation, an optimal solution represents a certain level
		of trade-offs among all of the objectives, and a set of trade-off solutions
		exists for a multi-objective optimization problem. The set containing all the
		trade-off solutions is formally called the Pareto front
[1], and the solutions on the
		Pareto front are also called non-dominated solutions. Therefore, solving a
		multi-objective optimization problem refers to obtaining a subset of the
		solutions on the Pareto front instead of getting each objective’s optimum.
		
		
	
	 	
                
		The Non-dominated Sorting Algorithm of NSGA-II
		In each generation in NSGA-II, genetic operators are applied to the parent
		population to obtain an equal sized child population. The parent and child are
		then combined to form a temporary population on which the non-dominated sorting
		algorithm is applied to generate the non-dominated fronts. Therefore, the
		population size for non-dominated sorting is twice as large as the parent
		population. The population for the next generation has the same size as the
		parent population; its solutions are selected from non-dominated fronts with
		the highest ranks. The solutions within a front are sorted by
		crowding-distances so that those with the largest crowding distances are
		selected into the next generation, if only a portion of the front can be
		selected. Details about the definition and sorting algorithm of
		crowding-distance sorting can be found in the literature. 
[2] Figure 1 illustrates the
		schematic procedure of NSGA-II in one generation. In NSGA-II, non-dominated
		fronts are obtained one after another starting from the one with the highest
		rank to the one with the lowest rank. The procedure for generating the first
		front of a population of N solutions is as follows.  
		 
		
		
		     - Create a population P by combining the parent and offspring populations.
 
		     - Create an empty front F. Remove the first solution s1 from P and put s1 into F.
 
		     - 
			Compare the second solution s2 in P with s1. 
			If s1 dominates s2, s2 remains in P and go to next step; otherwise, remove s2 from P
			and put it into F. If s1 is dominated by
			s2, remove s1 from F and put
			it back to P; otherwise, s1 and s2 are non-dominated.
				
 
		     - 
			Compare si (i = 3, 4, . . .,N) in P with all solutions in F. If solution si is dominated
			by a solution in F, si remains in P. Any solutions in F dominated by si are removed
			from F and put back
			into P. If si is not dominated after all the comparisons, si is removed from P and put into F.
		     
 
		
 		
		
	     
		
	    
                
                    
                     Figure 1: Schematic procedure of NSGA-II 
                 
            
		
	    
		The New Non-dominated Sorting Algorithm
 
	
The basic idea of the proposed non-dominated sorting algorithm is that, if the dominance information from the first comparisons can be saved for any two solutions, we can then eliminate the redundant comparisons between the same pairs of solutions. Furthermore, we do not even need to compare all the pairs of solutions. For example, if Solution A is found to dominate Solution B, all solutions already found being dominated by Solution B do not need to compare with Solution A, because they are all dominated by Solution A. Because the dominance information among solutions is hierarchical, a hierarchical data structure, that is, a tree structure, is preferred to save the dominance information. In this study, we used the dominance tree presented in Figure 2 for this purpose. We also adopted the divide-and-conquer mechanism to make the new algorithm faster and more efficient in obtaining the dominance information.
	    
 	
	    
                
                    
                        Figure 2: Dominance tree of eight solutions 
                 
		
	    
            
                The Dominance Tree
		A data structure was developed called the dominance tree to save the dominance
		information among solutions in order to reduce the number of repetitive
		comparisons. The basic unit of a dominance tree is called a node, which keeps a
		solution and is linked to other nodes. There are two types of links between any
		two nodes, the non-dominance link and the dominance link. The nodes connected
		with a non-dominance link are called siblings whose solutions are
		non-dominated. The nodes connected with a dominance link are called parent and
		child, respectively, with the solution in the parent node dominating the one in
		the child node. The dominance tree for the example problem in Section 2 is
		shown in Figure 3, in which 4, 5, 7, and 8 are sibling nodes and Node 4
		(parent) dominates Node 1 (child). If several sibling nodes are dominated by
		the same parent node, only one dominance link is needed between the parent node
		and the first sibling node. This is the case for Nodes 1, 2, and 3 in Figure 2.
		 
	    
 
	    
            	
                    
                       Figure 3: New Sorting Algorithm
    	         
	    
 	         
 	    
                Conclusions
		A new non-dominated sorting algorithm has been developed that can be used in
		evolutionary algorithms, particularly the NSGA-II, to efficiently generate the
		nondominated fronts. The new algorithm adopts the divide-and-conquer mechanism
		and uses a new data structure called the dominance tree to achieve both time
		and space efficiency. The comparisons of the new algorithm with the
		non-dominated sorting algorithm currently used in NSGA-II showed that the
		former always performed better for different numbers of objectives and
		population sizes. Although the reduction on the number of redundant comparisons
		by the new algorithm becomes less significant when the number of objectives
		increases, the speedup of the new algorithm on the total processing time is
		still significant even for a large number of objectives. The nondominated
		fronts generated by the new algorithm for different numbers of objectives and
		population sizes were also verified and shown to be identical to those
		generated by the algorithm of NSGA-II.
		
		
	
		
            
		Original Paper
		This page is a shortened version of the original paper found 
 here
		
		
                        
 
            
		References
	            
		    	    
			- ↑ 
			Coello, C. A. C. (1999). A comprehensive survey of evolutionary-based multi-objective optimization techniques. Knowledge and Information Systems, 1:269–308
			
 
			- ↑ 
			Deb, K., Pratab, A., Agarwal, S., and Meyarivan, T. (2002). A fast and elitist multi-objective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Comput			      ation, 6:182–197