DTLZ
简介
该问题的目标函数个数M是自定义的。
1.DTLZ1
DTLZ1问题的特点是存在( 1 1 k − 1 11^k-1 11k−1)个局部最优,所以MOGA不容易找到最优Pareto集。
它的定义是:
最后 k = ( n − M + 1 ) k=(n−M+1) k=(n−M+1)个变量表示为 x M x_M xM。函数式 g ( x M ) g(x_M) g(xM)要求用 ∣ x M ∣ = k |x_M|=k ∣xM∣=k个变量,即有 k = ( n − M + 1 ) k=(n−M+1) k=(n−M+1)个x变量,并且必须接受带有 g ≥ 0 g≥0 g≥0的任何函数。
g
(
x
M
)
g(x_M)
g(xM)定义如下:
最优情况下:
对于所有的
x
i
∈
x
M
,
x
i
=
0.5
x_i∈x_M,x_i=0.5
xi∈xM,xi=0.5 ,而此时M个目标值之和满足等于0.5,这个特点也可用于性能度量
Pareto front:
2.DTLZ2
由于自定义M,该问题也可以被用于测试算法对大量目标函数的问题的性能。在这我们还可以将每个变量
x
i
x_i
xi变成下式p个变量的均值,用于增加难度:
具体定义为:
最优情况下:
对于所有的
x
i
∈
x
M
,
x
i
=
0.5
x_i∈x_M,x_i=0.5
xi∈xM,xi=0.5 ,而此时M个目标值的平方和满足等于1,这个特点也可用于性能度量
Pareto front:
3.DTLZ3
为了增加搜索全局最优的难度,建议在g函数等于Rastrigin的情况下使用上面的问题,即当g满足Rastrigin的最优化时,该问题才能找到全局最优。Rastrigin具体定义如下:
DTLZ3问题定义如下:
最优情况下:
对于所有的
x
i
∈
x
M
,
x
i
=
0.5
x_i∈x_M,x_i=0.5
xi∈xM,xi=0.5
Pareto front:
4.DTLZ4
该问题由DTLZ2修改而来,侧重于测试MOEA算法的解的分布性
原文建议
α
=
100
\alpha=100
α=100
最优情况下:
对于所有的
x
i
∈
x
M
,
x
i
=
0.5
x_i∈x_M,x_i=0.5
xi∈xM,xi=0.5
Pareto front:
5.DTLZ5
这个问题将测试MOEA收敛到曲线的能力,还将允许一种更简单的方法(通过绘制FMFM和任何其他目标函数)来直观地演示MOEA的性能。由于这条Pareto-最优曲线附近的解有一个自然偏差,这个问题对于一个算法来说可能很容易解决。
定义如下:
最优情况下:
对于所有的
x
i
∈
x
M
,
x
i
=
0.5
x_i∈x_M,x_i=0.5
xi∈xM,xi=0.5 ,而此时M个目标值的平方和满足等于1,这个特点也可用于性能度量
Pareto front:
6.DTLZ6
该问题基于DTLZ5进行修改
我们把g函数修改成下式,其他不变:
选择
x
M
x_M
xM矢量的大小为10,变量总数与DTLZ5相同。由于问题的上述变化,算法很难像DTLZ5那样收敛到真正的pareto最优前沿。
最优情况下:
对于所有的
x
i
∈
x
M
,
x
i
=
0.5
x_i∈x_M,x_i=0.5
xi∈xM,xi=0.5
Pareto front:
7.DTLZ7
该问题有
2
M
−
1
2^{M-1}
2M−1个不连通的最优Pareto 区域,用于测试算法在不同的Pareto区域里维持子种群的能力
定义如下:
最优情况下:
对于所有的
x
i
∈
x
M
,
x
i
=
0
x_i∈x_M,x_i=0
xi∈xM,xi=0
Pareto front: