NSGA3

原文

1,NSGA3的总框架是:

(1)初始化:随机产生大小为N的父代种群Pt;

(2)更新操作:父代种群通过交叉变异产生大小相同的子代种群Qt(SBX,多项式变异);

(3)选择操作:采用某种选择机制从Rt=Pt∪Qt(种群大小为2N)中选择出N个优秀个体构成新一代进化群体Pt+1;

1.1更新操作:

(1)SBX

(2) 多项式变异

1.2选择机制:

首先采用非支配排序方法将Rt分成不同的非支配层(F1,F2,……)

然后将优先级高的非支配集保留到下一代中。

当\F1∪F2∪…∪Fl-1\<N,但\F1∪F2∪…∪Fl\>N时,定义Fl为临界层,采用临界层选择方法选择个体进入下一代,直到子代种群大小等于N。

注:

(1)临界层选择方法

与NSGA2不同,NSGA3的临界层选择方法采用参考点方法选择个体,以使种群具有良好的分布性。

1)参考点设置方法:Das和Dennis在1998年提出的边界交叉构造权重的方法。

在标准化参考平面上,如果每一维目标被均匀地分割成p份,那么均匀地产生C(m+p-1,p)个参考点。例如

NSGA3_第1张图片

2)超平面

由maxf1,maxf2,maxf3三点连线所构成的平面,如图所示:

2,标准化

首先,选取当前种群St中个体的每一维目标的最小值Z(i,min)(i=1,2,…M)构成当前种群的理想点Z*=(Z(1,min),Z(2,min),…,Z(M,min))。将种群St做平移操作f'i(x)=fi(x)-Z(i,min),使得理想点变为原点。然后计算极值点,截距,标准化。

2.1 极值点

三维目标下,对于在一个方向上目标值很大,另两个方向上目标值很小的点,计算其极值点:

例如:A(1,0.2,0.3);  B(1,0.6,0.3);  C(1,0.1,0.2),固定第一个坐标轴(即w=(1,0,0)),计算ASF(x,w),有

ASFA(x,w)=MAX(1,0.2,0.3)/ (1,10-6, 10-6)=MAX{1,0.2*10-6, 0.3*10-6}=0.3*10-6

ASFB(x,w)= MAX(1,0.6,0.3)/ (1,10-6, 10-6)= MAX{1,0.6*10-6, 0.3*10-6}=0.6*10-6

ASFC(x,w)= MAX(1,0.1,0.2)/ (1,10-6, 10-6)= MAX{1,0.1*10-6, 0.2*10-6}=0.2*10-6

因为每一维坐标的极大值点Zi,max取ASFi(x,w)的最小值,即极值点为使得ASFi(x,w)最小的点,而ASFC(x,w) =0.2*10-6最小,对应的极值点为(1,0.1,0.2)。同理可以计算出第二维和第三维对应的极值点。

2.2 截距

三维目标下,由极值点计算方法可计算出三个极值点。例如Z1(-1,1,2),Z2(2,0,-3),Z3(5,1,-2).

对于方程ax+by+cz=1,将Z1,Z2,Z3分别代入方程中得a=-0.4,b=1.8,c=-0.6。从而可得-0.4x+1.8y+-0.6z=1

令y=0,z=0,则x=-5/2

令x=0,z=0,则y=5/9

令x=0,y=0,则z=-5/3

从而得到截距a1=-5/2;a2=5/9;a3-5/3.

2.3标准化计算公式

其中ai为第i维的截距,求和fn,i(x)=1(i=1…M)。

3,关联操作

(1)将参考点与原点连线作为该参考点在目标空间的中的参考线;

(2)计算St中个体到各参考线的距离,个体距离哪条参考线近,就与哪条参考线对应的参考点相关联。

你可能感兴趣的:(多目标优化)