1. Introduction
In many practical living and production activities, we often need to make decisions through weighing the pros and cons of multiple objectives, but they always conflict with each other. Manufacturers need to select the optimal production program to make a tradeoff between the cost of production, time and quality and so on, which can be formalized as a multi-objective optimization problem (MOP) [
1]. Evolutionary algorithms are more suitable to solve the MOPs than traditional optimization algorithms, as a set of optimal solutions can be found running at once [
2]. Various kinds of multi-objective evolutionary algorithms (MOEAs) have been proposed over the past few decades to deal with MOPs; e.g., MOEA/D [
3], SPEA 2 [
4], NSGA II [
2] and its improved version NSGA III [
5], etc.
As described in [
2], non-dominated sorting, used to find pareto solutions or assign solutions to different fronts, is a key but time-consuming process in multi-objective evolutionary algorithms (MOEAs). It is very meaningful to improve the computational efficiency of non-dominated sorting to improve the whole efficiency of MOEAs. Studying existing non-dominated sorting algorithms, we come to the conclusion that there are two strains of thought to find the front each solution belongs to. A fast non-dominated sorting algorithm (FNDS) [
2] is a representative of the first method. In this method, solutions which are not dominated by others are recognized as non-dominated solutions or a pareto set and they will be assigned to the first rank and deleted from the population. These solutions correspond to
p6, p7 and
p8 in
Figure 1 (an example of a bi-objective minimization problem with eight solutions). Then
p1 and
p2 are found as rank 2 through the same process. The process will be repeated until the population is empty. Another typical representative of the second method to assign solutions to the related rank is given in [
6,
7]. In this method, every solution needs to compare with solutions whose ranks have been assigned. Suppose
p2 has the maximum rank in the dominant set {
p2,
p6,
p8} who dominates
p5, and the rank of
p2 is 2, so the rank of
p5 is 2+1, i.e., 3. Above all, there are four fronts in
Figure 1, set {
p6,
p8,
p7} of rank 1, {
p1,
p2} of rank 2, {
p3,
p5} of rank 3 and {
p4} of rank 4. In this paper, based on the analysis and study of the previous algorithms, a novel non-dominated sorting algorithm, combining the advantage of characteristics of the set, is proposed.
The research contents of this paper are given below. Some general and recently studied nondominated sorting algorithms to find a pareto set or rank the solutions are introduced in
Section 2.
Section 3 presents the fundamental concepts and definitions as they will come up through the whole paper.
Section 4 describes the proposed non-dominated algorithm and a detailed example explains how the proposed algorithm implemented is also given in this section. An algorithm complexity analysis is given in
Section 4. Simulations and experimental results are discussed in
Section 5. Finally,
Section 6 makes a summary on the process of the work, and plans the next steps for following work.
2. Related Work
In this section, we will discuss and analyze the methods for non-dominated sorting that have been researched and utilized in MOPs. Through reviewing lots of broad research on non-dominated sorting [
2,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19], the common methods for sorting multi-objective solutions can be classified into two classes: one front after another (OFAA) and one solution after another (OSAA). The basic idea of OFAA is to compare each solution with others to obtain non-dominated solutions, then assign them to the current rank and remove them temporarily. This process is repeated until the population is empty. Some of the general methods are basic non-dominated sorting algorithm (BNDS) [
2], improved version fast non-dominated sorting algorithm (FNDS) [
2], quick non-dominated sorting algorithm (QNDS) [
8], the arena’s principle (AP) [
9], deductive sort (DS) [
12] and climbing sort (CLS) [
12], corner sort (CS) [
11] and so on.
BNDS [
20] compares a solution to others to judge whether it is dominated or not, if there is no solution dominating it, it will be added to the current rank. The time complexity of this method is
O(MN3) because of lots of redundancy comparisons. FNDS [
2] is proposed in reference to basic insertion sorting algorithms, which reduces the time complexity to
O(MN2), but its space complexity increases to
O(N2). In order to reduce the negative impact of multiple conflicting objectives on the running efficiency of the evolutionary algorithms, parallelization is introduced to the non-dominated sorting process, e.g., paper [
21] develops three parallel NDS versions based on FNDS, a multicore, a Graphic Processing Unit (GPU) and a hybrid, respectively. QNDS [
8] adopts the realization idea of quick sort, and can reduce the best-case time complexity to
O(MN√N). It is better than FNDS, but the worst-case time complexity remains
O(MN2).
The AP [
9] is shown to be a more effective algorithm than other OSAA algorithms in empirical evaluations. The idea of AP is to select a solution as the “arena host” randomly (always choose the first solution of the population) and for the remaining solutions to challenge the arena one by one. If the challenger wins then the challenger is better and it will be the new “arena host”—the old arena will be eliminated. The challenger who is worse than the arena host will be removed. The new arena host will compare with the rest of the solutions until the last one. Best-case time complexity can be enhanced to
O(MN√N), yet it is still
O(MN2) in the worst case.
CS [
11] first proposes to sort the population with one or multiple objectives as the solution with the best objective values are non-dominated. The under-compared solution is always dominating or unrelated to the remaining solutions. The dominated solutions are removed and unrelated solutions are reserved as the AP method. Its time complexity is the same as the FNDS and space complexity is
O(N).
Two non-dominated sorting methods to solve the multi-objective solutions, DS and CLS, are proposed in [
12]. The former is shown to be better than CLS. DS records the comparison result for avoiding unnecessary comparisons. DS also gives
O(MN√N) and
O(MN2) for the best case and worst case, respectively.
A new data structure, which is composed of a K-d tree and M-list called M-front, is proposed in [
22] and used to decrease the computational cost of non-dominated sorting. In M-front, utilizing the over-non-domination phenomenon as an advantage with the increase in the number of objectives. To hold the invariance property of the M-front, an interval query is used to reduce the scope of query and speed up the selection of the non-dominated individual. The best-case time complexity is
O(MN) or
O(MNlnN) when the K-d tree is used, and the worst-case time complexity is
O(MN2).
Different from OFAA, the realization process of OSAA is to assign solutions to fronts one by one, and every individual needs to be compared with ones that have already been sorted [
6,
7,
19]. Efficient non-dominated sorting strategy-sequential strategy (ENS-SS) and its improved version Efficient non-dominated sorting strategy-binary strategy (ENS-BS) [
7], Best Order Sort (BOS) [
6] and its improved version (BBOS) [
19], are representative algorithms. The key preparing process in these methods is to sort the population with one or multiple objectives in an ascending order, and the lexicographic order is used in case any solutions have the same values. ENS [
7] can reduce the time complexity in the best case to
O(MN√N) but it remains
O(MN2) in the worst case. BOS [
6] performs better than the abovementioned methods with more objectives, and its time complexity in the best case and the worst case are
O(MNlogN) and
O(MN2 + MNlogN). The search strategy to find the front of solutions also influences the efficiency of the algorithm which is shown in the proposed method and its improved versions. Based on the BOS algorithm, combined with the development of high performance computing systems, paper [
23] proposes two efficient parallel BOS algorithms, which are based on high performance processing units, one based on multicore processors (MCs), called MC-BOS and the other one based on GPUs, called GPU-BOS. MC-BOS runs on multicore processors, while GPU-BOS utilizes the GPU architecture to implement parallelism. Different from the proposed MC-BOS and GPU-BOS, two other different parallel BOS versions considering the PRAM CREW model are proposed in [
24] from a theoretical point of view. The best-case and worst-case time complexity is
O(log3N) and
O(logM + N2), and the relevant space complexity is
O(MN2). Inspired from the production-grade sorting algorithm, a hybrid approach which combines the divide-and-conquer strategy and BOS is proposed to improve performance, and a heuristic mechanism is designed to determine when to use the BOS algorithm to solve the subproblem [
25].
Based on the divide-and-conquer mechanism [
26], some researchers proposed recursive non-dominated sorting approaches, which is another means of achieving OSAA [
10,
26,
27,
28]. Kung’s algorithm [
27] is used to find the maxima of a set of vectors. Jensen [
28] extends Kung’s algorithm—the time complexity with bi-objectives is
O(MNlogN), while
O(Nlog (M − 1) N) is more than or equal to three objectives. When the population has a large number of objectives, the proposed algorithm will work inefficiently. To decrease redundancy comparisons, a dominance tree is presented in [
10] which is used to record the dominant relations between solutions, and this dominance tree is combined with the divide-and-conquer algorithm to acquire the fronts of solutions. Similar to [
24], a parallel NDS based on a divide-and-conquer mechanism considering the PRAM-CREW model is proposed in [
29]. This paper also explores parallelism from the angle of theory. The best time complexity is proved to be
O(logM + N) and the space complexity is also
O(MN2).
A tree-based non-dominated sorting algorithm, termed T-ENS, an extension of the ENS algorithm, is proposed in paper [
16]. Similar to the most basic algorithm FNDS, the algorithm finds the non-dominated solutions that belongs to the first front, and then deletes them and then the second front, until the population is empty. A tree structure which is formed of unrelated solutions can help to reduce the number of comparisons as the non-domination relationships between solutions have been saved in the tree. The best- and worst-case time complexities of T-ENS are
O(MNlnN/lnM) and
O(MN2).
To quicken the domination check process and reduce unnecessary comparisons, paper [
17] gives another way to improve and extend the ENS-BS algorithm, named Efficient Non-Dominated Sort with Non-dominated Tree (ENS-NDT). Different from the T-ENS in [
16], END-NDT uses a variant of the bucket k-d tree to build a tree-like structure to easy the domination checks in each front. The best-case time complexity of ENS-NDT is
O(MNlogN) when
M >
logN or
O(Nlog2N) and the worst-case time complexity is
O(MN2).
Different from the abovementioned algorithms, paper [
18] first proposes a new non-dominated sorting algorithm—Merge Non-Dominated Sorting Algorithm (MNDS)—to calculate the dominance set of each solution, instead of obtaining the dominance relationship though a comparison with others. The authors of [
18] also adapt the advantageous merge sort algorithm to find duplicate solutions. Additionally, a new data structure bitset is used to speed up the intersection operation between dominance sets. The best- and worst-case complexity is
O(NlogN) and
O(MN2).
As we can see from the aforementioned introduction, reducing the number of comparisons is the ordinary means to improve the efficiency of sorting algorithms. These studies show that the fewer comparisons one algorithm has, the better the algorithm performs. Taking full advantage of the hidden positional information and the idea of set theory, we propose a novel non-dominated sorting algorithm. The proposed algorithm can greatly reduce the comparing times by determining the dominant region of the solution to be sorted first.
3. Basic Concepts and Definitions
To facilitate the understanding of this work, the mathematical model of multi-objective optimization problems and the relevant concepts and definitions which are used in this paper are introduced in this section.
3.1. Mathmatical Model
It is important to note that throughout the whole paper we focus on minimal optimization problems and vice versa. Therefore, a minimal multi-objective optimization problem can be stated as follows:
where
D denotes the decision space, x represents an individual of
D,
is called the objective space, and
, namely
F(x) is an individual of
. Since the non-dominated sorting process focuses mainly on the objective space, we use s instead of
F(x) for convenience.
3.2. Concepts
3.2.1. Parameters
N number of solutions
M number of objectives
s solution
Aj(s) objective value of solution s on objective j
r rank level
3.2.2. Variables
We define
as the result of dominate comparison between solution
p and solution
s, the formula is as follows:
3.2.3. SETS
P set of solutions
A set of sorted objectives of solutions
APj(s) set of preferential solutions of s in the jth objective
set of solutions which dominate solution s
PS objective position information set
F set of solutions’ fronts
3.3. Definitions
Dominant Relationships between different solutions: Suppose solution p and s are any two members of solution set P, if is satisfied, we will say that p dominates s, which can be expressed as , else instead. If p and s are not dominated by each other, we will say that p is unrelated to s, which can be expressed as and vice versa.
Partition of objective space: The objective values of any point in the objective space can divide the space into several parts, based on the relationships between solutions with the under-sorted solution
s, these parts can be named the dominant region, unrelated region and dominated region. As shown in
Figure 2, the objective values of point
s can divide the bi-objective space into four parts; the relationships between point
s and these parts are given as follows:
located in the lower left part of s, also called the dominant region—any point located here dominates s, which can be expressed as .
: located in the upper left and lower right of s, also called the unrelated region—any point located at this part is unrelated to s, which can be expressed as .
: located in the upper right of s, also called the dominated region, any point located here is dominated by s, which can be expressed as .
Determination of the solution’s rank: As shown in
Figure 3, it is enough to only consider the dominant region
of
s to determine the rank of
s. Suppose the highest rank level in
is
r and the corresponding point is
p, i.e.,
F(p) = r. Then the rank of s will be
r + D (p, s).