非支配解排序(Non-dominated Sorting)是一種用於多目標最佳化問題中識別Pareto最優解的方法。該過程通過以下步驟進行:
初始化:設所有解的集合為S。
找出非支配解集合:從集合S中找出非被其他解支配的解,記為F1。
更新集合:將已找到的非支配解集合F1從原集合S中移除,然後再次從更新後的S中找出非支配解集合,記為F2。
重複過程:重複步驟3,直到集合S為空集。
排序:將每次找出的非支配解集合按照找到的順序進行排序,形成一系列集合,如{F1, F2, ..., Fn}。
例如,如果有兩個目標函式Time(f1(x))和Cost(f2(x)),通過求解獲得一組Pareto解集。對這些解進行非支配排序的過程如下:
第一輪:找到不被其他解支配的解A, B, D, F,組成第一組非支配解集F1。
第二輪:對剩餘解C, E, G進行排序,找到不被其他解支配的解C, E, G,組成第二組非支配解集F2。
第三輪:剩餘的解H, I不能彼此支配,組成第三組非支配解集。
這個過程實際上是不斷剔除非支配解集,保留目標值較大的解,並繼續對剩餘解進行處理,直到所有解都被分配到相應的非支配解集中。