多目标优化问题基本概念

不失一 般性,一个具有

java 多目标优化算法代码 多目标优化目标函数_算法

个决策变量、

java 多目标优化算法代码 多目标优化目标函数_最优解_02

个目标函数的多目标优化问题表述如下:

java 多目标优化算法代码 多目标优化目标函数_性能评价_03

java 多目标优化算法代码 多目标优化目标函数_最优解_04

java 多目标优化算法代码 多目标优化目标函数_算法_05

多目标优化类型:

最小化所有子目标函数

最大化所有子目标函数

最小化部分子目标函数,最大化其它目标函数

一般情况下,将目标转化为最大化/最小化目标问题

java 多目标优化算法代码 多目标优化目标函数_算法_06

多目标优化问题基本概念

定义1(可行解):对于 

java 多目标优化算法代码 多目标优化目标函数_算法_07

,如果满足约束和不等式约束,则称

java 多目标优化算法代码 多目标优化目标函数_算法_08

为可行解。定义2(可行解集):由决策空间   中所有可行解组成的集合,记为

java 多目标优化算法代码 多目标优化目标函数_多目标_09

定义3(Pareto支配):设 

java 多目标优化算法代码 多目标优化目标函数_算法_10

 满足

java 多目标优化算法代码 多目标优化目标函数_性能评价_11


java 多目标优化算法代码 多目标优化目标函数_多目标_12

Pareto支配

java 多目标优化算法代码 多目标优化目标函数_算法_13

,记做

java 多目标优化算法代码 多目标优化目标函数_多目标_14

如:两目标最小值问题的目标值集为{(2,3),(2,5),(1,4),(3,5)}

若:f1(x1) = (2,3),f2(x2)=(2,5),则任意2<=2,3<=5,且存在3<5,所以x1支配x2

定义4(Pareto最优解)

java 多目标优化算法代码 多目标优化目标函数_java 多目标优化算法代码_15

  x1支配x2,x1支配x4,

  x2支配x4

  x3支配x4,x3支配x2

不存在支配x1的解,所有x1是Pareto最优解

不存在支配x3的解,所有x3是Pareto最优解

定义5(Pareto最优解集,PS),所有最优解的集合

最优解集合为{x1,x3}

定义6(Pareto前沿,PF) PS在目标空间中的投影。

java 多目标优化算法代码 多目标优化目标函数_java 多目标优化算法代码_16

多目标性能评价指标

1. 世代距离(Generational Distance, GD):用来评估近似最优解集

java 多目标优化算法代码 多目标优化目标函数_java 多目标优化算法代码_17

与真实Pareto前沿

java 多目标优化算法代码 多目标优化目标函数_最优解_18

之间间隔的距离。

java 多目标优化算法代码 多目标优化目标函数_性能评价_19

其中:

java 多目标优化算法代码 多目标优化目标函数_多目标_20

是种群大小,

java 多目标优化算法代码 多目标优化目标函数_多目标_21

取值为2,

java 多目标优化算法代码 多目标优化目标函数_多目标_22

表示目标空间上第

java 多目标优化算法代码 多目标优化目标函数_多目标_23

个解点与

java 多目标优化算法代码 多目标优化目标函数_最优解_18

中最近的解点之间的欧氏距离。若结果为0,表示

java 多目标优化算法代码 多目标优化目标函数_多目标_25


java 多目标优化算法代码 多目标优化目标函数_性能评价_26

 

java 多目标优化算法代码 多目标优化目标函数_多目标_27

java 多目标优化算法代码 多目标优化目标函数_多目标_28

2. 空间度量指标(Spacing Metric): 用来评估近似解集 

java 多目标优化算法代码 多目标优化目标函数_java 多目标优化算法代码_17

中个体在目标空间中分布的“均匀性”

java 多目标优化算法代码 多目标优化目标函数_算法_30

其中:

java 多目标优化算法代码 多目标优化目标函数_最优解_31


java 多目标优化算法代码 多目标优化目标函数_最优解_32


java 多目标优化算法代码 多目标优化目标函数_java 多目标优化算法代码_17

上解点的个数,

java 多目标优化算法代码 多目标优化目标函数_最优解_34

为 

java 多目标优化算法代码 多目标优化目标函数_java 多目标优化算法代码_17

上的第

java 多目标优化算法代码 多目标优化目标函数_多目标_23

个解个体与 

java 多目标优化算法代码 多目标优化目标函数_java 多目标优化算法代码_17

中最近的解点之间的欧氏距离,若目标空间的维度为m,则

java 多目标优化算法代码 多目标优化目标函数_最优解_38

其中 :

java 多目标优化算法代码 多目标优化目标函数_多目标_39

。如果SP=0,表明 

java 多目标优化算法代码 多目标优化目标函数_java 多目标优化算法代码_17

上所有解点呈均匀分布。

3. 超体积指标(Hyper Volume,HV): 衡量计算解集的收敛性和分布性。

通过计算非支配解集与参考点围城的空间超体积来实现对多目标优化算法性能发评估

参考点的设置方式:

最差点(非支配解集每纬上的最大值组成的向量)

松散形式最差点

java 多目标优化算法代码 多目标优化目标函数_算法_41

其中,

java 多目标优化算法代码 多目标优化目标函数_算法_42

为勒贝格测度,

java 多目标优化算法代码 多目标优化目标函数_算法_43

表示参考点和非支配解集点

java 多目标优化算法代码 多目标优化目标函数_多目标_23

构成的超体积,

java 多目标优化算法代码 多目标优化目标函数_算法_45

代表非支配解集。

java 多目标优化算法代码 多目标优化目标函数_多目标_46

反世代距离(Inverted Generational Distance,IGD)

所获得的PF和真实PF之间的接近程度

java 多目标优化算法代码 多目标优化目标函数_算法_47

java 多目标优化算法代码 多目标优化目标函数_java 多目标优化算法代码_48

是 

java 多目标优化算法代码 多目标优化目标函数_最优解_49

上的个体

java 多目标优化算法代码 多目标优化目标函数_多目标_50

与其

java 多目标优化算法代码 多目标优化目标函数_最优解_51

最近的个体之间的欧氏距离,IGD越小,PF分布越均匀,收敛性越好

java 多目标优化算法代码 多目标优化目标函数_多目标_52

计算GD 

java 多目标优化算法代码 多目标优化目标函数_多目标_53

计算IGD 

几个基准测试函数

ZDT系列测试函数:ZDT1~ZDT6

特点:两目标测试问题,决策变量是任意规模可变的

DTLZ系列测试函数:DTLZ1~DTLZ9

特点:虽然目标个数是任意规模可变的,但是不能满足对多目标问题进行测试的要求

WFG系列测试函数:WFG1~WFG9

特点:可提供偏转、多模态和不可分性之类的特性,并能根据需要对这些特性进行组合和合并

,支持多种Pareto最优几何结构,包括凹、凸、混合凹/凸、线性、退化和不连续的几何结构等。

UF系列测试函数:UF1~UF10

特点:无约束的多目标优化问题测试

多目标优化算法性能的比较

多目标优化的实验比较流程一般由以下几个步骤组成:


选择参与比较的算法


选择测试问题


选择性能评价准则


参与比较的每个算法在每一个测试问题上执行设定的次数,得到结果


根据各算法得到的结果和性能评价准则,计算性能指标。


按多次运行的性能指标值进行统计比较,得出结论


参与比较的算法一般是被多数研究者所认可且经受过普遍检验的算法;


如果涉及算法是收到某种算法的思想启发,则应该将该算法作为比较算法。


选择问题时,应考虑问题的代表性,避免选择相似的测试问题;


测试问题,可以来自基准测试问题、实际问题或新设计的问题;


选择指标时,首先考虑能独立反应算法性能的不同方面的评价准则,避免重复;


所选的评价准则,能够尽可能全面的覆盖各种性能指标


多目标优化的实验比较流程一般由以下几个步骤组成:


选择参与比较的算法


选择测试问题


选择性能评价准则


参与比较的每个算法在每一个测试问题上执行设定的次数,得到结果


根据各算法得到的结果和性能评价准则,计算性能指标。


按多次运行的性能指标值进行统计比较,得出结论


考虑将各类算法的共同参数尽可能设置为一样

选择合适的比较方法:常用统计检验方法


如果算法存在创新的地方,应该逐个评价这些新特征对算法性能的影响。


为了对两个算法性能进行比较,需要对其在同一个测试集上运行多次,然后利用统计信息进行判断;


常用均值和方差描述实验结果分布,反应结果的平均情况和稳定性。


基于概率的方法:假设检验方法( T 检验、 Z 检验、 Wilcoxon 符号秩检验、 Mann-Whitney U 检验和 Kruskal u -Wallis H 检验等)