An Efficient Nondominated Sorting Algorithm for Large Number of Fronts

IEEE Trans Cybern. 2019 Mar;49(3):859-869. doi: 10.1109/TCYB.2017.2789158. Epub 2018 Jan 12.

Abstract

Nondominated sorting is a key operation used in multiobjective evolutionary algorithms (MOEA). Worst case time complexity of this algorithm is O(MN2) , where N is the number of solutions and M is the number of objectives. For stochastic algorithms like MOEAs, it is important to devise an algorithm which has better average case performance. In this paper, we propose a new algorithm that makes use of faster scalar sorting algorithm to perform nondominated sorting. It finds partial orders of each solution from all objectives and use these orders to skip unnecessary solution comparisons. We also propose a specific order of objectives that reduces objective comparisons. The proposed method introduces a weighted binary search over the fronts when the rank of a solution is determined. It further reduces total computational effort by a large factor when there is large number of fronts. We prove that the worst case complexity can be reduced to Θ(MNCmaxlog2 (F+1)) , where the number of fronts is F and the maximum number of solutions per front is Cmax ; however, in general cases, our worst case complexity is still O(MN2) . Our best case time complexity is O(MNlog N) . We also achieve the best case complexity O(MNlog N+N2) , when all solutions are in a single front. This method is compared with other state-of-the-art algorithms-efficient nondomination level update, deductive sort, corner sort, efficient nondominated sort and divide-and-conquer sort-in four different datasets. Experimental results show that our method, namely, bounded best order sort, is computationally more efficient than all other competing algorithms.