统一以最小化问题为例,将m个目标函数和n个决策变量,(p+q)个约束的MOP描述为
式中x∈XRn,y∈YRm,n是决策变量的个数,m是目标向量的个数,x表示决策向量,X是由决策向量x形成的决策空间;y表示目标向量,Y是由目标向量形成的目标空间;F(x)定义了由决策空间X向目标空间Y映射的函数,g(x)定义了p个不等式约束,h(x)定义了q个不等式约束。
定义1(可行解集)满足式(1)中约束函数的决策向量的集合,用Xl表示,Xl={x∈Xg(x)≥0∧h(x)=0}。
定义2(Pareto支配)存在x1,x2∈Xl是问题的解,当满足i∈(1,…M):fi(x1)≤fi(x2)∧j∈(1,…M):fi(x1) 定义3(Pareto最优解)当不存在其他解x∈Xl,使得x$\prec$xl,称xl为最优解,最优解也叫做非支配解。 定义4(Pareto最优解集)满足定义3的解的集合称为Pareto最优解集(Paretooptimalset,PS),表示为PS={xl}={x∈Xl|-x′∈Xl:x′$\prec$x}。 定义5(Pareto前沿)PS在目标空间的投影叫做Pareto前沿(Paretooptimalfront,PF),表示为PF={F(x)∈Rm|x∈PS}。 具体数学表示如公式(2): 其中f(x)=f1(x),f2(x),…,fm(x)T是解x的标准目标向量,PF是真实前沿面,λ是m维的方向向量。 算法中使用的Pareto支配满足反自反、反对称和传递性质。 ①反自反性:种群中任一个体x,满足反自反性,即x-$\prec$x。 证明:如果x$\prec$y,则至少存在一个分量i=1,2,…,m:满足fi(x) ②反对称性:种群中任意两个体x,y如果满足x$\prec$y,则y-$\prec$x。 证明:假设x$\prec$y,根据定义3,则任意fi(x),fi(y),i=1,2,…,m:存在fi(x)≤fi(y)。所以不存在fi(x)>fi(y),故y不能Pareto支配x,即y-$\prec$x,满足反对称性质。 ③传递性:x,y,z是种群中3个个体,如果x$\prec$y且y$\prec$z,则x$\prec$z。 证明:因为x$\prec$y,则满足i=1,2,…,m:fi(x)≤fi(y)∧j=1,2,…,m:fj(x) 其中,C代表参考点数量,M代表目标数量,H代表超平面上沿着每个目标考虑的划分数量。 算法:d2_NSGAⅡ算法 输入:种群规模N,决策变量数目D,MaOP问题的目标数目M,最大迭代次数Tmaxgen,沿目标方向划分H份 输出:最末代种群Pmaxgen 1.初始化 1.1初始化迭代计数器t=0; 1.2在MaOP问题的可行决策空间内随机产生N个初始点,形成初始化种群P0; 1.3计算P0中所有解的目标值向量F1(0),…,FN(0); 1.4产生参考点(M,H)→Set; 2.WHILE(t 3.构建交配池:Ptmating=Mating_selection(Pt); 4.重组运算:Ptrecombination=Recombination(Ptmating); 5.变异运算:Ptoffspring=Mutation(Ptrecombination); 6.合并子种群和父种群:Rt=Pt∪Qt; 7.计算最小向量值→Fmin; 8.计算最大向量值→Fmax; 9.归一化处理(Rt,Fmin,Fmax)→Rt; 10.保留Rt中边界解; 11.对Rt集合中的个体进行非支配排序; 12.确定最小的k值,使其满足|F1∪F2∪…∪Fk|≥N;//Fi表示第i层非Pareto支配层; 13.计算非支配层(Fk)个体的d2距离d2(Fk,Set); 14.关联Fk中个体与Set集合中的点; 15.IF|F1∪F2∪…∪Fk|>NTHEN 16.根据距离从非Pareto支配层Fk中删除(|F1∪F2∪…∪Fk|-N)个具有较大d2距离的个体; 17.ENDIF 18.Pt+1=|F1∪F2∪…∪Fk|;//获得规模为N的下一代种群; 19.更新迭代计数器t=t+1; 20.ENDWHILE. 21.输出最末代种群Pmaxgen。 算法的第1步为初始化,随机产生个体,并计算其目标值大小,同时产生参考点;第2步进入循环,进行重组变异,产生新的后代;第3步Mating_selection利用二元竞标赛法选取优秀的N/2个体;第4步对交配池中的个体进行仿二进制交叉(SBX),得到规模为N的种群Ptrecombination;第5步执行变异操作,得到后代Qt,规模为N。然后进行父种群以及子代种群的合并,生成规模为2N的新种群。为了便于目标值的比较,对目标值进行归一化处理。 归一化的目的是为了消除个体极端目标值,将数据标准化,便于比较,使实验数据更加可靠真实。首先,确定种群中个体每个目标分量fi的最小值fimin,构造向量Fmin=f1min,f2min,…,fMminT,同样构造目标最大值的向量Fmax=f1max,f2max,…,fMmaxT,其中fimax是种群Rt中fi的最大值。然后将Rt中所有个体目标值归一化,具体归一化公式如下所示: 同时,保留目标空间中的边界值,将在每个目标上的最大值与最小值的个体保留下来(边界值)。将边界个体的d2值设置为0,在迭代的时候将d2值为0的个体保留下来。与NSAGⅡ同样地进行非支配排序,确定最后的非支配层使得种群规模保持N,并在最后非支配层根据d2值由小到大筛选优秀的个体,使种群的规模保持为N,进入下一代迭代。 采用IGD指标测试新算法的性能。该指标反映了真实的Pareto前沿到近似Pareto前沿之间的距离,可以综合度量算法的收敛性与多样性。IGD指标具体工作机制如下:在真实的Pareto前沿上采用一组分布较为均匀的点,并计算他们到近似Pareto解之间的距离。IGD指标的值越小表明算法收敛性与多样性越好。具体的计算公式如下: 上述公式中,P是MOP问题的解集;Disti是目标函数归一化处理之后的最小欧氏距离;fmmax和fmmin分别表示P在第m个目标上获得的最大值与最小值。A为近似Pareto前沿,pi∈P,i=1,2,…,|P|;aj∈A,j=1,2,…,|A|。在对比实验中,实验进行30次,取结果平均值作为最后的实验结果;同时利用显著水平为0.05的Wilcoxon秩和检验分析所有对比算法结果的差异。 为解决NSGAⅡ在高维空间中效果不佳的问题,研究提出基于d2距离的NSGAⅡ算法,在保证算法收敛性的同时增加其多样性。通过实验数据验证,该算法在MaOP上取得了不错的效果,但是随着目标数目的增加,算法性能下降。究其原因,随着目标数目的增加,个体之间变得相互非支配,这是传统非支配方法面临的统一问题。未来可从支配关系以及距离度量方面进一步改进与探索,同时可以设计一些更加复杂的MaOP问题检验算法的有效性,使其效果更加优秀。