讀論文——A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II


Abstract—Multiobjective evolutionary algorithms (EAs) that use nondominated sorting and sharing have been criticized mainly for their:

1) O(MN3) computational complexity (where is the number of objectives and is the population size);

2) nonelitism approach; and

3) the need for specifying a sharing parameter.

In this paper, we suggest a nondominated sorting-based multiobjective EA (MOEA), called nondominated sorting genetic algorithm II (NSGA-II), which alleviates all the above three difficulties. Specifically, a fast nondominated sorting approach with O(MN2) computational complexity is presented. Also, a selection operator is presented that creates a mating pool by combining the parent and offspring populations and selecting the best (with respect to fitness and spread) solutions. Simulation results on difficult test problems show that the proposed NSGA-II, in most problems, is able to find much better spread of solutions and better convergence near the true Pareto-optimal front compared to Pareto-archived evolution strategy and strength-Pareto EA—two other elitist MOEAs that pay special attention to creating a diverse Pareto-optimal front.Moreover, we modify the definition of dominance in order to solve constrained multiobjective problems efficiently. Simulation results of the constrained NSGA-II on a number of test problems, including a five-objective seven-constraint nonlinear problem, are compared with another constrained multiobjective optimizer and much better performance of NSGA-II is observed.

 概述——利用非支配排序算法多目標進化算法,有共同的缺點:

1)時間復雜度O(MN3)

2)非精英主義方法

3)明確共享參數的需求

在這篇論文中,我們提出一個非支配多目標進化算法,成為非支配排序進化算法2(NSGA-II),減輕了前三種問題。特別地,提出了一個時間復雜度為O(MN2)快速的非支配排序方法。並且, 結合親代和子代種群創造匹配池的選擇運算符,選擇最優解(考慮適應度和傳播)。在復雜測試問題上模擬結果,展示了提出的NSGA2,在大多數問題,是能夠找到一個更好的解分布,相較於之前的其他兩種更關注於創造一個多樣化的Pareto optimal front的精英多目標進化——Pareto-archive進化策略和strength-Pareto進化算法,該方法在真Pareto最優前沿的附近更好收斂。此外,為了有效解決約束的多目標問題,我們修改支配的定義。約束的NSGAII的模擬解集,在包括五個目標七個約束的非線性問題一系列測試問題上得出,作為和和另一個約束的多目標優化器的比較,有更好的表現。

 

 

A. Fast Nondominated Sorting Approach

For the sake of clarity, we first describe a naive and slow procedure of sorting a population into different nondomination levels. Thereafter, we describe a fast approach.

In a naive approach, in order to identify solutions of the first nondominated front in a population of size , each solution can be compared with every other solution in the population to find if it is dominated. This requires O(MN) comparisons for each solution, where M is the number of objectives. When this process is continued to find all members of the first nondominated level in the population, the total complexity is O(MN2) .At this stage, all individuals in the first nondominated front are found. In order to find the individuals in the next nondominated front, the solutions of the first front are discounted temporarily and the above procedure is repeated.

一個快速的非支配搜索算法

為了簡潔,我們先描述了一個原始慢速的種群支配等級排序過程,在此之后描述快速的方法。

在原始方法中,為了在種群大小中辨識第一支配前沿的解集,每個解與種群中的其他解做比較來發現其是否受支配。每個解需要 O(MN)次比較,M是目標數。當繼續這個過程來發現所有第一支配順位的成員,總的復雜度是O(MN2)。這個階段,找到所有在第一支配前沿的個體。為了找到在下一個非支配前沿的個體,在第一前沿的解集暫時不被計算,重復上述過程。

In the worst case, the task of finding the second front also requires O(MN2) computations, particularly when O(N) number of solutions belong to the second and higher nondominated levels. This argument is true for finding third and higher levels of nondomination. Thus, the worst case is when there are fronts and there exists only one solution in each front. This requires an overall O(MN3) computations. Note that O(N) storage is required for this procedure. In the following paragraph and equation shown at the bottom of the page, we describe a fast nondominated sorting approach which will require O(MN2) computations.

在最壞的場合,找到第二前沿也需要O(MN2)次計算,特別當O(N)為屬於第二和更高的非支配等級解的數目。為了找到第三或更高非支配等級,這個聲明為真。因此最壞的情況是這有許多前沿並且每個前沿僅存在一個解。這需要整體的計算(O(MN3)次)。注意這個過程需要O(N)次存儲。在下面的段落和本頁底部展示的方程,我們描述了一個需要O(MN2)次計算的快速非支配排序方法。

First, for each solution we calculate two entities: 1) domination count , the number of solutions which dominate the solution , and 2) , a set of solutions that the solution dominates. This requires O(MN2) comparisons.

首先,對於每個解我們計算兩個實體:1)受支配數,支配當前解的其他解的數目,2)當前解所支配的一系列解集。這需要O(MN2)次比較。

All solutions in the first nondominated front will have their domination count as zero. Now, for each solution p with np = 0 , we visit each member (q) of its set Sp and reduce its domination count by one. In doing so, if for any member q the domination count becomes zero, we put it in a separate list Q. These members belong to the second nondominated front. Now, the above procedure is continued with each member of Q and the third front is identified. This process continues until all fronts are identified.

所有在第一支配前沿的解的受支配數為零。現在,對於每個np = 0的解p,我們遍歷對應集合Sp的每個成員(q),使其受支配數減一。在這么做的過程中,如果任意成員的受支配數變為0,我們將它放入另一個列表Q里。這些成員屬於第二非支配前沿。現在,Q的成員繼續上述過程,並且找到第三前沿。這個過程繼續直到找到所有前沿。

For each solution p in the second or higher level of nondomination, the domination count np can be at most N-1. Thus, each solution p will be visited at most N-1 times before its domination count becomes zero. At this point, the solution is assigned a nondomination level and will never be visited again.Since there are at most N-1 such solutions, the total complexity is O(N2). Thus, the overall complexity of the procedure is O(MN2). Another way to calculate this complexity is to realize that the body of the first inner loop (for each p ∈ Fi) is executed exactly N times as each individual can be the member of at most one front and the second inner loop (for each q ∈ Sq ) can be executed at maximum (N-1) times for each individual [each individual dominates(N -1) individuals at maximum and each domination check requires at most M comparisons] results in the overall O(MN2) computations. It is important to note that although the time complexity has reduced to O(MN2), the storage requirement has increased to O(N2).

對於每個在第二或更高的非支配層的解p,受支配數np最大為N-1。因此在其受支配數變為零之前,每個解p最多會被遍歷N-1次。出於這點,解被分配一個非支配等級並且將不會被再次訪問。因此有最多N-1個這樣的解,整體的復雜度為O(N2)。因此該流程整體的復雜度為O(MN2)。另一個計算復雜度的方法是實現第一次內部循環體(for each p ∈ Fi),恰好運行N次因為每個個體最多屬於一個前沿。對於每個個體而言,第二前沿的內部循環(for each q ∈ Sq )最多運行N-1次[每個個體最多主導N-1個個體,每個支配查詢需要最多M次比較],因此總共需要O(MN2)次計算。值得一提的是,雖然時間復雜度減少到O(MN2),但是存儲需求增長到了O(N2)。

 

上圖中的比較符號可為離散數學中的偏序關系

 

 

B. Diversity Preservation

We mentioned earlier that, along with convergence to the Pareto-optimal set, it is also desired that an EA maintains a good spread of solutions in the obtained set of solutions. The original NSGA used the well-known sharing function approach, which has been found to maintain sustainable diversity in a population with appropriate setting of its associated parameters. The sharing function method involves a sharing parameter σshare, which sets the extent of sharing desired in a problem. This parameter is related to the distance metric chosen to calculate the proximity measure between two population members. The parameter denotes the largest value of that distance metric within which any two solutions share each other’s fitness. This parameter is usually set by the user, although there exist some guidelines [4]. There are two difficulties with this sharing function approach.
1) The performance of the sharing function method in maintaining a spread of solutions depends largely on the chose σshare value.

2) Since each solution must be compared with all other solutions in the population, the overall complexity of the sharing function approach is O(N2)

我們之前提到,在收斂到Pareto最優集是,也希望進化算法在獲得解集上維持一個好的分布。原生的NSGA使用有名的的共享函數功能,共享函數配置合適的相關參數,可維持種群的持續多樣性。共享函數方法涉及到共享參數 σshare,其設置了問題中共享的范圍。這個參數和計算兩個種群成員的臨近距離的米制選擇有關。參數表示米制距離的最大值,在這個范圍中任意兩個解都共享對方的適應度。這個參數通常由用戶設置,盡管有一些方針指示。共享函數方法有兩個難題:

1)共享函數在維持解分布上的表現在很大程度上依賴於σshare的選擇

2)由於每個解需要和其他在種群中的解比較,共享函數法的總體復雜度為O(N2)

In the proposed NSGA-II, we replace the sharing function approach with a crowded-comparison approach that eliminates both the above difficulties to some extent. The new approach does not require any user-defined parameter for maintaining diversity among population members. Also, the suggested approach has a better computational complexity. To describe this approach, we first define a density-estimation metric and then present the crowded-comparison operator.

在提出的NSGA-II算法中,我們用擁擠度比較方法取代共享函數方法,限制上述兩種拓展困難。這個新方法不需要任何用戶定義參數來維持種群成員的多樣性。且有更好的計算復雜度。為了描述這個方法,我們先定義一個密度評估米制,然后表示密度比較算子。

1) Density Estimation: To get an estimate of the density of solutions surrounding a particular solution in the population, we calculate the average distance of two points on either side of this point along each of the objectives. This quantity idistance serves as an estimate of the perimeter of the cuboid formed by using the nearest neighbors as the vertices (call this the crowding distance). In Fig. 1, the crowding distance of the ith solution in its front (marked with solid circles) is the average side length of the cuboid (shown with a dashed box).

1)密度評估:為了估計在種群中特定解附近的解集密度,我們沿着對應目標計算這個解兩側的兩點間的距離均值。這個距離值idistance被用作以最近相鄰作為頂點數的立方體的邊緣檢測(稱為擁擠距離)。在圖1中,在解i前沿的擁擠距離(用實心圓表示)是立方體(用虛線框表示)的平均邊長。

 

The crowding-distance computation requires sorting the population according to each objective function value in ascending order of magnitude. Thereafter, for each objective function, the boundary solutions (solutions with smallest and largest function values) are assigned an infinite distance value. All other intermediate solutions are assigned a distance value equal to the absolute normalized difference in the function values of two adjacent solutions. This calculation is continued with other objective functions. The overall crowding-distance value is calculated as the sum of individual distance values corresponding to each objective. Each objective function is normalized before calculating the crowding distance. The algorithm as shown at the bottom of the page outlines the crowding-distance computation procedure of all solutions in an nondominated set L.

 擁擠距離的計算需要根據目標函數值對種群進行升序排序。因此,對於每個目標函數,邊界解(對應函數最大最小值的解)分配了一個無限距離值。其他所有內部解分配了一個,與兩個臨近解的函數值的規范化差的絕對值相同的距離值。對於其他目標函數,繼續該計算。全局的擁擠距離是,與各目標一致的每個個體的距離的加和。在計算擁擠距離前正則化每個目標函數。算法在本頁底部展示了在非支配集L所有解的擁擠距離的計算流程。

Here, L[i].m refers to the th objective function value of the ith individual in the set and the parameters and are the maximum and minimum values of the th objective function. The complexity of this procedure is governed by the sorting algorithm. Since independent sortings of at most solutions (when all population members are in one front ) are involved, the above algorithm has O(MNlogN) computational complexity.

這里的L[i].m是指集合中第i個個體的目標函數的值,參數均為目標函數的最大最小值。排序決定這個過程的復雜度。因為涉及了對最多解集(當所有種群成員都在同一前沿)的獨立排序,上述算法有O(MNlogN)的計算復雜度。

After all population members in the set L are assigned a distance metric, we can compare two solutions for their extent of proximity with other solutions. A solution with a smaller value of this distance measure is, in some sense, more crowded by other solutions. This is exactly what we compare in the proposed crowded-comparison operator, described below.
Although Fig. 1 illustrates the crowding-distance computation for two objectives, the procedure is applicable to more than two objectives as well.

在集合L中所有種群成員都被分配一個米制距離,我們可以比較兩個解和其他解的邊緣擴展。一個具有更小距離的解,在某些場合,與其他解更擁擠。下面描述的,就是我們提出的擁擠度比較算子所比較的。雖然圖1 展示了兩個目標的擁擠距離的計算,這個過程也可應用到大於兩個目標上。

2) Crowded-Comparison Operator: The crowded-comparison operator ( ≺) guides the selection process at the various stages of the algorithm toward a uniformly spread-out Pareto- optimal front. Assume that every individual in the population has two attributes:

1) nondomination rank ( irank );

2) crowding distance ( idistance ).
We now define a partial order ≺as

i ≺n j if ( irank < jrank )

or (( irank = jrank) 

and ( idistance > jdistance))

That is, between two solutions with differing nondomination ranks, we prefer the solution with the lower (better) rank. Otherwise, if both solutions belong to the same front, then we prefer the solution that is located in a lesser crowded region.
With these three new innovations—a fast nondominated sorting procedure, a fast crowded distance estimation procedure, and a simple crowded comparison operator, we are now ready to describe the NSGA-II algorithm.

擁擠比較算子:擁擠比較算子≺n指導不同的算法階段中選擇的過程向着均勻分布的Pareto最優前沿前進。假設每個在種群中的解有兩個屬性

1)非支配排行irank

2)擁擠距離idistance

我們現在定義偏序符號≺n

i ≺n j if ( irank < jrank )

or (( irank = jrank) 

and ( idistance > jdistance))

也就是說,在兩個有不同的非支配排行的解之間,我們選擇具有更低(更好)排行的解。否則,如果兩個解都屬於同一前沿,我們選擇在更稀疏擁擠區域的解。

結合這三個新的創新,一個快速非支配排行過程,一個快速的擁擠距離估計過程,和一個簡單的擁擠度比較算子,我們可以描述NSGA-II算法了。

C. Main Loop

Initially, a random parent population is created. The population P0 is sorted based on the nondomination. Each solution is assigned a fitness (or rank) equal to its nondomination level (1 is the best level, 2 is the next-best level, and so on). Thus, minimization of fitness is assumed. At first, the usual binary tournament selection, recombination, and mutation operators are used to create a offspring population Q0 of size N . Since elitism is introduced by comparing current population with previously found best nondominated solutions, the procedure is different after the initial generation. We first describe the tth generation of the proposed algorithm as shown at the bottom of the page.

C.主循環

最初,創建一個隨機的親代種群。非支配排序種群P0。每個解都分配一個與其非支配等級相等的適應度(或者排行)(一級是最好的,二級次之,以此類推)。因此,假設一個最小的適應度。首先,常見的二分比較選擇,重構,和變異運算符被用來創建種群大小為N的子代Q0。通過比較目前種群與之前找到的最優非支配解介紹了精英主義,流程在初代種群后變得不同。在底部圖片中,我們首先描述了提出算法的t代。

The step-by-step procedure shows that NSGA-II algorithm is simple and straightforward. First, a combined population Rt = Pt υ Qt is formed. The population Rt is of size 2N. Then, the population Rt is sorted according to nondomination. Since all previous and current population members are included in Rt, elitism is ensured. Now, solutions belonging to the best nondominated set F1 are of best solutions in the combined population and must be emphasized more than any other solution in the combined population.

 一步一步地展示NSGA-II算法是簡單且直接的。首先,合成種群Rt = Pt υ Qt。種群Rt的大小為2N。接下來, 對種群Rt進行非支配排序。既然Rt包含了所有之前和現在的種群成員,就保證了精英主義。現在,屬於最佳的非支配集 F1的解是在合成種群中的最優解,且必須被比其他在合成種群中的解更為強調。

If the size of F1 is smaller than N, we definitely choose all members of the set Ffor the new population Pt+1. The remaining members of the population Pt+1 are chosen from subsequent nondominated fronts in the order of their ranking. Thus, solutions from the set F2 are chosen next, followed by solutions from the set F3, and so on. This procedure is continued until no more sets can be accommodated. Say that the set Fl is the last nondominated set beyond which no other set can be accommodated.

如果第一前沿F1的大小小於N,我們選擇其所有成員構成新的種群Pt+1。種群Pt+1剩下的成員會從接下來的非支配前沿按照其排行選擇。因此,下一步選擇集合F2的解,然后是F3,並以此類推。這個過程繼續指導容不下任何集合。稱集合Fl為最后非支配集,在其之后沒有其他的集合被加入(種群Pt+1)。

In general, the count of solutions in all sets from F1 to Fl would be larger than the population size.
To choose exactly N population members, we sort the solutions of the last front Fl using the crowded-comparison operator ≺in descending order and choose the best solutions needed to fill all population slots.

總的來說, F1 到 Fl所有解的數目 會比種群大小更大。

為了選擇正好數目為種群數N的成員,我們用擁擠度比較算子≺n對最后前沿Fl進行降序排序,並選擇要填充所有種群的最優解。

The NSGA-II procedure is also shown in Fig. 2. The new population Pt+1 of size N is now used for selection, crossover, and mutation to create a new population Qt+1 of size N . It is important to note that we use a binary tournament selection operator but the selection criterion is now based on the crowded-comparison operator ≺n. Since this operator requires both the rank and crowded distance of each solution in the population Pt+1, we calculate these quantities while forming the population , as shown in the above algorithm.

圖2展示了NSGA-II過程。大小為N的新種群Pt+1被用來進行選擇,交叉和變異來生成新的大小為N的種群Qt+1。注意我們用二分比較選擇符,這很關鍵,但是現在的選擇標准是基於擁擠度算子≺n的選擇符。因為該運算符需要在種群Pt+1中的每一個解的(非支配)排行和擁擠距離,在種群構成時,我們計算這些量,如以上算法所示。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM