Deb–Thiele–Laumanns–Zitzler (DTLZ)

This family comprises DTLZ1 through DTLZ5. These test problems are described in Chapter 6, “Scalable Test Problems for Evolutionary Multiobjective Optimization,” pages 105–145 of Evolutionary Multiobjective Optimization: Theoretical Advances and Applications [6].

Overview

For all five constructors, k >= 1, m >= 2, nvar = k + m - 1, and nobj = m. Here, k is the number of trailing variables x_m, ..., x_n used by g(x); equivalently, k = nvar - m + 1. The first m - 1 variables determine the objective trade-off, whereas these k variables determine g(x). Thus, k changes the number of decision variables without changing the number of objectives. DTLZ4 additionally requires alpha > 0. The default dimensions and componentwise bounds are shown below.

ProblemkmalphanvarnobjLower boundUpper bound
DTLZ153730.01.0
DTLZ21031230.01.0
DTLZ31031230.01.0
DTLZ4103100.01230.01.0
DTLZ51051450.01.0

Analytical Jacobians are registered for all five constructors. Hessians are not registered. The catalog metadata classifies every objective in DTLZ1 through DTLZ5 as not strictly convex (:not_strictly_convex). This is distinct from nothing, which indicates that strict-convexity information is not available for a problem.

Mathematical formulations

The formulas below describe the objective functions implemented by the constructors. For each problem, let $F:\mathbb{R}^n \to \mathbb{R}^m$ be defined by $F(x)=(f_1(x),\ldots,f_m(x))$, where $n = k + m - 1$.

DTLZ1

The objectives are

\[\begin{aligned} f_1(x) &= \frac{1}{2}(1+g(x))x_1x_2\cdots x_{m-1},\\ f_2(x) &= \frac{1}{2}(1+g(x))x_1x_2\cdots x_{m-2}(1-x_{m-1}),\\ &\ \vdots\\ f_{m-1}(x) &= \frac{1}{2}(1+g(x))x_1(1-x_2),\\ f_m(x) &= \frac{1}{2}(1+g(x))(1-x_1). \end{aligned}\]

where

\[g(x) = 100\left[k + \sum_{r=m}^{n} \left((x_r-0.5)^2-\cos\left(20\pi(x_r-0.5)\right)\right)\right].\]

DTLZ2

The objectives are

\[\begin{aligned} f_1(x) &= (1+g(x))\cos\left(\frac{\pi x_1}{2}\right) \cos\left(\frac{\pi x_2}{2}\right)\cdots \cos\left(\frac{\pi x_{m-1}}{2}\right),\\ f_2(x) &= (1+g(x))\cos\left(\frac{\pi x_1}{2}\right) \cos\left(\frac{\pi x_2}{2}\right)\cdots \cos\left(\frac{\pi x_{m-2}}{2}\right) \sin\left(\frac{\pi x_{m-1}}{2}\right),\\ &\ \vdots\\ f_{m-1}(x) &= (1+g(x))\cos\left(\frac{\pi x_1}{2}\right) \sin\left(\frac{\pi x_2}{2}\right),\\ f_m(x) &= (1+g(x))\sin\left(\frac{\pi x_1}{2}\right). \end{aligned}\]

where

\[g(x) = \sum_{r=m}^{n}(x_r-0.5)^2.\]

DTLZ3

The objectives are

\[\begin{aligned} f_1(x) &= (1+g(x))\cos\left(\frac{\pi x_1}{2}\right) \cos\left(\frac{\pi x_2}{2}\right)\cdots \cos\left(\frac{\pi x_{m-1}}{2}\right),\\ f_2(x) &= (1+g(x))\cos\left(\frac{\pi x_1}{2}\right) \cos\left(\frac{\pi x_2}{2}\right)\cdots \cos\left(\frac{\pi x_{m-2}}{2}\right) \sin\left(\frac{\pi x_{m-1}}{2}\right),\\ &\ \vdots\\ f_{m-1}(x) &= (1+g(x))\cos\left(\frac{\pi x_1}{2}\right) \sin\left(\frac{\pi x_2}{2}\right),\\ f_m(x) &= (1+g(x))\sin\left(\frac{\pi x_1}{2}\right). \end{aligned}\]

where

\[g(x) = 100\left[k + \sum_{r=m}^{n} \left((x_r-0.5)^2-\cos\left(20\pi(x_r-0.5)\right)\right)\right].\]

DTLZ4

The objectives are

\[\begin{aligned} f_1(x) &= (1+g(x))\cos\left(\frac{\pi x_1^\alpha}{2}\right) \cos\left(\frac{\pi x_2^\alpha}{2}\right)\cdots \cos\left(\frac{\pi x_{m-1}^\alpha}{2}\right),\\ f_2(x) &= (1+g(x))\cos\left(\frac{\pi x_1^\alpha}{2}\right) \cos\left(\frac{\pi x_2^\alpha}{2}\right)\cdots \cos\left(\frac{\pi x_{m-2}^\alpha}{2}\right) \sin\left(\frac{\pi x_{m-1}^\alpha}{2}\right),\\ &\ \vdots\\ f_{m-1}(x) &= (1+g(x))\cos\left(\frac{\pi x_1^\alpha}{2}\right) \sin\left(\frac{\pi x_2^\alpha}{2}\right),\\ f_m(x) &= (1+g(x))\sin\left(\frac{\pi x_1^\alpha}{2}\right). \end{aligned}\]

where

\[g(x) = \sum_{r=m}^{n}(x_r-0.5)^2.\]

DTLZ5

The objectives are

\[\begin{aligned} f_1(x) &= (1+g(x))\cos\left(\frac{\pi\theta_1}{2}\right) \cos\left(\frac{\pi\theta_2}{2}\right)\cdots \cos\left(\frac{\pi\theta_{m-1}}{2}\right),\\ f_2(x) &= (1+g(x))\cos\left(\frac{\pi\theta_1}{2}\right) \cos\left(\frac{\pi\theta_2}{2}\right)\cdots \cos\left(\frac{\pi\theta_{m-2}}{2}\right) \sin\left(\frac{\pi\theta_{m-1}}{2}\right),\\ &\ \vdots\\ f_{m-1}(x) &= (1+g(x))\cos\left(\frac{\pi\theta_1}{2}\right) \sin\left(\frac{\pi\theta_2}{2}\right),\\ f_m(x) &= (1+g(x))\sin\left(\frac{\pi\theta_1}{2}\right). \end{aligned}\]

where

\[\theta_1 = x_1, \qquad \theta_j = \frac{\pi}{4(1+g(x))}\left(1+2g(x)x_j\right), \quad j=2,\ldots,m-1,\]

and

\[g(x) = \sum_{r=m}^{n}(x_r-0.5)^2.\]

Usage

using MOProblems

prob = DTLZ2(k = 10, m = 4)
x = fill(0.5, prob.nvar)

values = eval_f(prob, x)
J = eval_jacobian(prob, x)

Constructor reference

MOProblems.DTLZ1Function
DTLZ1(; k::Int = 5, m::Int = 3)

Construct the DTLZ1 problem with parameters k and m.

Requires k >= 1 and m >= 2. The instance has nvar = k + m - 1, nobj = m, and bounds [0, 1]^n; the default is nvar = 7, nobj = 3. An analytical Jacobian is registered; objective Hessians are not registered.

source
MOProblems.DTLZ2Function
DTLZ2(; k::Int = 10, m::Int = 3)

Construct the DTLZ2 problem with parameters k and m.

Requires k >= 1 and m >= 2. The instance has nvar = k + m - 1, nobj = m, and bounds [0, 1]^n; the default is nvar = 12, nobj = 3. An analytical Jacobian is registered; objective Hessians are not registered.

source
MOProblems.DTLZ3Function
DTLZ3(; k::Int = 10, m::Int = 3)

Construct the DTLZ3 problem with parameters k and m.

Requires k >= 1 and m >= 2. The instance has nvar = k + m - 1, nobj = m, and bounds [0, 1]^n; the default is nvar = 12, nobj = 3. An analytical Jacobian is registered; objective Hessians are not registered.

source
MOProblems.DTLZ4Function
DTLZ4(; k::Int = 10, m::Int = 3, alpha::Real = 100.0)

Construct the DTLZ4 problem with parameters k, m, and alpha.

Requires k >= 1, m >= 2, and alpha > 0. The instance has nvar = k + m - 1, nobj = m, and bounds [0, 1]^n; the default is nvar = 12, nobj = 3. An analytical Jacobian is registered; objective Hessians are not registered.

source
MOProblems.DTLZ5Function
DTLZ5(; k::Int = 10, m::Int = 5)

Construct the DTLZ5 problem with parameters k and m.

Requires k >= 1 and m >= 2. The instance has nvar = k + m - 1, nobj = m, and bounds [0, 1]^n; the default is nvar = 14, nobj = 5. An analytical Jacobian is registered; objective Hessians are not registered.

source