makeDTLZ2Function function

DTLZ2 Function (family)

DTLZ2 Function (family)

Builds and returns the multi-objective DTLZ2 test problem.

The DTLZ2 test problem is defined as follows:

Minimize c("\n\n", "f[1](X)=(1+g(XM))cos(x[1]pi/2)cos(x[2]pi/2)...cos(x[M2]pi/2)cos(x[M1]pi/2)f[1](X) = (1 + g(XM)) * cos(x[1] * pi/2) * cos(x[2] * pi/2) * ... * cos(x[M-2] * pi/2) * cos(x[M-1] * pi/2)")

Minimize c("\n\n", "f[2](X)=(1+g(XM))cos(x[1]pi/2)cos(x[2]pi/2)...cos(x[M2]pi/2)sin(x[M1]pi/2)f[2](X) = (1 + g(XM)) * cos(x[1] * pi/2) * cos(x[2] * pi/2) * ... * cos(x[M-2] * pi/2) * sin(x[M-1] * pi/2)")

Minimize c("\n\n", "f[3](X)=(1+g(XM))cos(x[1]pi/2)cos(x[2]pi/2)...sin(x[M2]pi/2)f[3](X) = (1 + g(XM)) * cos(x[1] * pi/2) * cos(x[2] * pi/2) * ... * sin(x[M-2] * pi/2)")

......

Minimize c("\n\n", "f[M1](X)=(1+g(XM))cos(x[1]pi/2)sin(x[2]pi/2)f[M-1](X) = (1 + g(XM)) * cos(x[1] * pi/2) * sin(x[2] * pi/2)")

Minimize c("\n\n", "f[M](X)=(1+g(XM))sin(x[1]pi/2)f[M](X) = (1 + g(XM)) * sin(x[1] * pi/2)")

with 0<=x[i]<=10 <= x[i] <= 1, for i=1,2,...,ni=1,2,...,n

where c("\n\n", "g(XM)=sumx[i]inXM(x[i]0.5)2g(XM) = sum{x[i] in XM} {(x[i] - 0.5)^2}")

makeDTLZ2Function(dimensions, n.objectives)

Arguments

  • dimensions: [integer(1)]

    Number of decision variables.

  • n.objectives: [integer(1)]

    Number of objectives.

Returns

[smoof_multi_objective_function]

Note

Note that in case of a bi-objective scenario (n.objectives = 2L) DTLZ2 and DTLZ5 are identical.

References

K. Deb and L. Thiele and M. Laumanns and E. Zitzler. Scalable Multi-Objective Optimization Test Problems. Computer Engineering and Networks Laboratory (TIK), Swiss Federal Institute of Technology (ETH) Zurich, 112, 2001

  • Maintainer: Jakob Bossek
  • License: BSD_2_clause + file LICENSE
  • Last published: 2023-03-10