其他分享
首页 > 其他分享> > ASC2015MaOP 论文笔记

ASC2015MaOP 论文笔记

作者:互联网

ASC2015MaOP 论文笔记



The paper

A clustering-ranking method for many-objective optimization

Highlights

Abstract

In evolutionary multi-objective optimization, balancing convergence and diversity remains a challenge and especially for many-objective (three or more objectives) optimization problems (MaOPs). To improve convergence and diversity for MaOPs, we propose a new approach: clustering-ranking evolutionary algorithm (crEA), where the two procedures (clustering and ranking) are implemented sequentially. Clustering incorporates the recently proposed non-dominated sorting genetic algorithm III (NSGA-III), using a series of reference lines as the cluster centroid. The solutions are ranked according to the fitness value, which is considered to be the degree of closeness to the true Pareto front. An environmental selection operation is performed on every cluster to promote both convergence and diversity. The proposed algorithm has been tested extensively on nine widely used benchmark problems from the walking fish group (WFG) as well as combinatorial travelling salesman problem (TSP). An extensive comparison with six state-of-the-art algorithms indicates that the proposed crEA is capable of finding a better approximated and distributed solution set.



1 算法框架

1.1 主体框架


R e q u i r e : H ( 划 分 的 数 量 ) 1 : Λ    参 考 点 集 合 ( H ) 2 : P 0    初 始 化 种 群 3 : z ∗    初 始 化 理 想 点 ( p 0 ) 4 : t = 1    迭 代 计 数 变 量 5 : w h i l e 终 止 条 件 未 满 足 d o    6 :   P t    重 组 ( p 0 )    7 :   Q t    交 叉 ( p t )    8 :   R t    P t ∪ Q t    9 :   Z ∗    更 新 理 想 点    10 :   R t    自 适 应 归 一 化    11 :   ( C ^ , N f )    聚 合       12 :   F ^    排 序 ( C ^ , N f )    13 :    P t + 1    选 择 ( F ^ )    14 :   t ← t + 1    迭 代 次 数 加 1    15 : e n d w h i l e \begin{aligned} &Require: H (划分的数量) \\ &1: \Lambda \ \ 参考点集合(H) \\ &2: P_0 \ \ 初始化种群 \\ &3: z^* \ \ 初始化理想点(p_0) \\ &4: t = 1 \ \ 迭代计数变量\\ &5: while 终止条件未满足 do \\ &\ \ 6: \ P_t \ \ 重组(p_0) \\ &\ \ 7: \ Q_t \ \ 交叉(p_t) \\ &\ \ 8: \ R_t \ \ P_t \cup Q_t \\ &\ \ 9: \ Z^* \ \ 更新理想点 \\ &\ \ 10: \ R_t \ \ 自适应归一化 \\ &\ \ 11: \ (\hat{C},N_f) \ \ 聚合 \ \ \\ &\ \ 12: \ \hat{\mathcal{F}} \ \ 排序(\hat{C},N_f) \\ &\ \ 13: \ \ P_{t+1} \ \ 选择(\hat{\mathcal{F}}) \\ &\ \ 14: \ t \gets t+1 \ \ 迭代次数加1 \\ &\ \ 15: end while \\ \end{aligned} ​Require:H(划分的数量)1:Λ  参考点集合(H)2:P0​  初始化种群3:z∗  初始化理想点(p0​)4:t=1  迭代计数变量5:while终止条件未满足do  6: Pt​  重组(p0​)  7: Qt​  交叉(pt​)  8: Rt​  Pt​∪Qt​  9: Z∗  更新理想点  10: Rt​  自适应归一化  11: (C^,Nf​)  聚合    12: F^  排序(C^,Nf​)  13:  Pt+1​  选择(F^)  14: t←t+1  迭代次数加1  15:endwhile​



1.2 参考点生成

1.2.1 变量说明



1.2.2 参考点生成算法





1.3 自适应归一化

1.3.1 自适应归一化算法




1.4 聚类算子

1.4.1 聚类算法



对于解 E 而言, 距离参考线 λ 1 与 λ 2 ( ) \lambda_1 与 \lambda_2() λ1​与λ2​() 的距离分别是0.0894 和 0.4919, 显然距离 λ 1 \lambda_1 λ1​ 的距离更近, 因此我们使得 E 与 λ 1 \lambda_1 λ1​ 建立联系。 聚类算子的意义也在于找到解 E 距离最近的 λ \lambda λ 点。

算法 STEP


step 1: 计算参考点与解之间的距离, 获取距离解最近的参考点和距离, 并入 index 集合

step 2: 更新 N f    w h e n   N f < ∣ C i n d e x ∣ N_f \ \ when \ N_f < |C_{index}| Nf​  when Nf​<∣Cindex​∣



1.5 排序算子

1.5.1 排序算法

对于上图中的 A 与 B 、E 三点而言, 其计算方式如下
F T A = m a x { 0.3 0.5 , 0.8 1 } = 0.8 F T B = m a x { 0.4 0.5 , 0.6 1 } = 0.8 F T E = m a x { 0.4 0.5 , 0.8 1 } = 1 FT_A = max\{\frac{0.3}{0.5} ,\frac{0.8}{1} \} = 0.8 \\ FT_B = max\{\frac{0.4}{0.5} ,\frac{0.6}{1} \} = 0.8 \\ FT_E = max\{\frac{0.4}{0.5} ,\frac{0.8}{1} \} = 1 FTA​=max{0.50.3​,10.8​}=0.8FTB​=max{0.50.4​,10.6​}=0.8FTE​=max{0.50.4​,10.8​}=1
显然有 F T A = F T B < F T E FT_A = FT_B \lt FT_E FTA​=FTB​<FTE​ , 因此我们可以得出 解 A 与 解 B 位 于 同 一 条 曲 线 , E 位 于 不 同 的 曲 线 解A与解B位于同一条曲线, E位于不同的曲线 解A与解B位于同一条曲线,E位于不同的曲线

并且对于 F T i FT_i FTi​ 的值越小越靠近 P F PF PF , 如下图所示:

step1: 计算适应度值 F T ( x ) = m a x k = 1 m { 1 λ k ( f k ^ ( x ) ) } FT(x)=max_{k=1}^m \{{\frac{1}{\lambda_k}(\hat{f_k}(x))}\} FT(x)=maxk=1m​{λk​1​(fk​^​(x))} , 对所有种群个体进行适应度值升序排序并放入集合。

step2: 将集合 ∑ i N C j \sum_i^N C_j ∑iN​Cj​ 中已经排序好的序列, 按照 1 − N 1 - N 1−N 的顺序遍历。 依次将其排序为 1 , 2 , . . . N 1,2,...N 1,2,...N 的个体取出放入到不同的 F j \mathcal F_j Fj​ 中。

​ 简言之, 也即取每个集合中第 j 大的个体加入第 jPareto 面 :

{1,4,7},{2,3,7},{1,6,9} 
j = 1   {1,2,1}
j = 2   {4,3,6}
j = 3   {7,7,9}


1.6 选择算子

1.6.1 选择算法

如图所示, 我们给出了 参 考 点 λ 1 、 λ 2 参考点 \lambda_1、\lambda_2 参考点λ1​、λ2​ 与 U = { a 、 b 、 c 、 d 、 e 、 f } 等 6 个 解 U = \{a、b、c、d、e、f\}等6个解 U={a、b、c、d、e、f}等6个解。 我们根据 聚类算子 依照不同的 d ( λ , i )   i ∈ U d_{(\lambda,i)} \ i \in U d(λ,i)​ i∈U 将其进行划分, 划分为 C 1 = { a , b , c }    C 2 = { d , e , f } C_1 = \{a,b,c\} \ \ C_2 =\{d,e,f\} C1​={a,b,c}  C2​={d,e,f} 。 然后依照 排序算子 对其进行排序, 排序结果为 { a , d } , { b , e } , { c , f } \{a,d\},\{b,e\},\{c,f\} {a,d},{b,e},{c,f} 。 由于 较低的 T F TF TF 更贴近 P F PF PF, 我们将 { a , d } \{a,d\} {a,d} 并入新种群 P t + 1 P_{t+1} Pt+1​ 直到其大小等于种群大小 N1

​ step: 不断选取适应度最优的个体加入种群 P t + 1 P_{t+1} Pt+1​ 直到 P t + 1 = N P_{t+1} = N Pt+1​=N。



1.7 总结

总的来说, 该论文借鉴了 MOEA/D 与 NSGA-III 的思想, 也即 分解支配的思想, 提炼出来得到了 聚类算子排序算子

聚类的意义在于 依照解距离参考向量的距离建立解 A A A 与 参考线/参考向量(0点与参考点的连线) λ \lambda λ 的联系 m i n   d ( A , λ ) 为 所 取 联 系 min \ d_{(A,\lambda)} 为所取联系 min d(A,λ)​为所取联系

排序的意义在于 依照聚类的结果根据适应度计算公式 F T ( x ) = m a x k = 1 m { 1 λ k ( f k ^ ( x ) ) } FT(x)=max_{k=1}^m \{{\frac{1}{\lambda_k}(\hat{f_k}(x))}\} FT(x)=maxk=1m​{λk​1​(fk​^​(x))} 得出的适应度进行聚类集合内排序, 再从已排序好的聚类集合中根据适应度值的优越性(这个是排序好的)进行选取并加入到对应的前沿面 F \mathcal F F 。实质上也即从每个不同的聚类排序结果上选取第 i 个点加入到第 i 层前沿面。

标签:...,frac,论文,笔记,算法,ASC2015MaOP,参考点,排序,lambda
来源: https://blog.csdn.net/qq_40491534/article/details/121105602