该问题的目标函数个数M是自定义的。
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,这个特点也可用于性能度量
由于自定义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,这个特点也可用于性能度量
为了增加搜索全局最优的难度,建议在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
该问题由DTLZ2修改而来,侧重于测试MOEA算法的解的分布性
最优情况下:
对于所有的 x i ∈ x M , x i = 0.5 x_i∈x_M,x_i=0.5 xi∈xM,xi=0.5
Pareto front:
这个问题将测试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:
该问题基于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
该问题有 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