论文题目:Performance metrics in multi-objective optimization

2015年在会议上提出的,对近十几年来对专业文献中提出的54个多目标优化指标进行了回顾和分析,讨论了被引用最多的指标的用法、趋势和优缺点.

表中显示了排名前十的评价指标,现在看论文主要看到的就是HV和GD,IGD

多目标优化加权系数法python 多目标加权算法优化_最优解

引言

一般来说,EA的性能是通过实验测试来评估的,因此,为此定义了一些性能指标。度量主要考虑解集的3个方面:

  • 收敛性,即接近理论帕累托最优前沿
  • 多样性:分布以及传播的广泛程度
  • 解的个数.

定义

多目标优化问题一般有D个决策变量,N个目标函数,所以他会有两个空间,一个是决策变量空间(D维度,代表决策变量的分布情况),一个是目标空间(N维度,表示每个目标值的分布情况,pareto前沿就在这上面)

Pareto Dominance

给定在决策变量空间的两个向量S1,S2,如果S1支配S2,则称S1在任何目标函数空间的值中都不劣于S2,且在至少一个目标函数中严格更优.

Pareto optimal set and Pareto optimal front

对于给定的一个多目标优化问题MOP,帕累托最优集(POS)就是包含所有关于决策变量空间非支配解的集合.

那么对于给定的MOP及其对应的帕累托最优集(POS),他的帕累托最优前沿(PF)就是将POS映射到目标空间的结果.

Approximation set(近似集)

A为目标空间的一组向量,如果A中的任何一个元素不支配或者不等于A中的任何其他向量,则称A为近似集,所有近似集的集合记为Z.

再解决现实问题的结果通常都是近似集.

Performance metric

就是设计一个函数,可以包含对每个集合赋予一个实数值,最后使用实数值来比较不同算法在求解多目标优化问题时的质量.

并对指标进行了分类

  1. Cardinality metrics(基数度量):直观上说就是解的数量多
  2. Accuracy metrics(精度度量):指A的收敛性,代表离PF的距离
  3. Diversity metrics(多样性度量):指A中解的相对距离和A所覆盖的范围

如果度量作为参数只有一个被评估的近似集A,则称该度量是一元(Unary metrics) HV,GD,IGD都是一元.

HV

根据上面的分类,它是一元的,且是包含了精确性和多样性.

Hypervolume(HV)是一种用于衡量多目标优化算法性能的指标,用于度量目标空间的体积,该体积至少被非支配解集中的一个解所覆盖.

计算HV指标的关键是确定参考点。参考点是一个向量,其中的每个元素都是目标函数在已知最优解上的最大值。通过将解集中的每个解与参考点进行比较,可以计算出每个解所贡献的超体积,进而得到整个解集的HV值。

优点:

同时评价收敛性和多样性,并能以单个数字得到解与最优集合的接近程度,以及在某种程度上得到目标空间上解的分布。

缺点:

HV指标的计算复杂度较高,尤其是对于高维多目标优化问题,并且参考点的选择也会影响HV指标的值。

多目标优化加权系数法python 多目标加权算法优化_优化问题_02

GD

Generation Distance是一种用于测量得到的解与已知最优解之间的距离的绩效指标。其计算公式为:GD=∑(d(i)−d(r))/(m−1),其中d(i)表示得到的解i与最近的参考点之间的欧几里得距离,d(r)表示帕累托前沿上的最优解与最近的参考点之间的欧几里得距离,m为目标的个数。

GD值越小,说明得到的解越接近帕累托前沿上的最优解。

优点

        相比HV,计算代价是轻量级的。

缺点:   

1)仅度量解集的收敛性,无法评估多样性;

2)需要参考集

PopObj = Population.best.objs;
    if size(PopObj,2) ~= size(optimum,2)
        score = nan;
    else
        Distance = min(pdist2(PopObj,optimum),[],2);
        score    = norm(Distance)/length(Distance);
    end

IGD

 Inverted Generational Distance和GD相似,但是同时考虑了多样性和收敛性,对于真实的最优帕累托前沿中的每个解y,找到与其最近的PF中的解x,计算其欧式距离,取平均值而不需开方,如果

多目标优化加权系数法python 多目标加权算法优化_多目标优化加权系数法python_03

的数量大于PF数量,那么IGD就能最完整的表达PF的性能,IGD值越好,代表算法多样性和收敛性更好。

优点:

        可同时评价收敛性和多样性,且计算量小

        与GD指标相比,IGD指标具有更好的数学性质和计算稳定性。

缺点:

        需要有参考点

PopObj = Population.best.objs;
    if size(PopObj,2) ~= size(optimum,2)
        score = nan;
    else
        score = mean(min(pdist2(optimum,PopObj),[],2));
    end