多目标算法在改进的时候,需要通过测试函数来对算法的性能进行测试。
测试函数需要能够反映或包含多目标优化问题的基本特性,如连续的或非连续的、可导或不可导的、凸的或凹的、单峰的或多峰的、欺骗问题或非欺骗问题等。被广泛采用的基准多目标测试函数有MOP1-MOP7、带偏约束的MOP-C–MOP-C5、ZDT1-ZDT5MOPC5、ZDTI-ZDT6,和DILZ1~DmLZ7等。
本文小结一下在多目标算法评价中广泛使用DZT测试函数
1,DZT函数概念及特点
Zitzler等于2000年提出了ZDT测试函数集,目前使用最为广泛的一组多目标测试函数集。包括DZT1-DZT6的6个不同形式的测试函数。
函数特点:
1)均有2个目标函数,f1(xi),f2(xi),且 Pareto最优前沿的形状和位置已知,绘制图形易于理解。
2)决策变量的个数是任意可变的,灵活度较高。
2,DZT函数表达式
下表给出了DZT函数级的表达式、变量的维数以及取值范围。
3,DZT1函数matlab代码
以DZT1函数为例,用matlab编写DZT1函数,代码如下。其他函数可以参考对应关系式编程。
function z=ZDT(x)
n=numel(x); %决策变量(设计变量)数量
f1=x(1);
g=1+9/(n-1)*sum(x(2:end));
h=1-sqrt(f1/g);
f2=g*h;
z=[f1 f2]; %返回,两个目标函数值
end
完
参考文献:章恩泽.多目标粒子群优化算法及其应用研究[D].南京理工大学.2016