makeDTLZ3Function function

DTLZ3 Function (family)

DTLZ3 Function (family)

Builds and returns the multi-objective DTLZ3 test problem. The formula is very similar to the formula of DTLZ2, but it uses the gg function of DTLZ1, which introduces a lot of local Pareto-optimal fronts. Thus, this problems is well suited to check the ability of an optimizer to converge to the global Pareto-optimal front.

The DTLZ3 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)=100(XM+sumx[i]inXM(x[i]0.5)2cos(20pi(x[i]0.5)))g(XM) = 100 * (|XM| + sum{x[i] in XM} {(x[i] - 0.5)^2 - cos(20 * pi * (x[i] - 0.5))})")

makeDTLZ3Function(dimensions, n.objectives)

Arguments

  • dimensions: [integer(1)]

    Number of decision variables.

  • n.objectives: [integer(1)]

    Number of objectives.

Returns

[smoof_multi_objective_function]

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