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.
| Problem | k | m | alpha | nvar | nobj | Lower bound | Upper bound |
|---|---|---|---|---|---|---|---|
DTLZ1 | 5 | 3 | — | 7 | 3 | 0.0 | 1.0 |
DTLZ2 | 10 | 3 | — | 12 | 3 | 0.0 | 1.0 |
DTLZ3 | 10 | 3 | — | 12 | 3 | 0.0 | 1.0 |
DTLZ4 | 10 | 3 | 100.0 | 12 | 3 | 0.0 | 1.0 |
DTLZ5 | 10 | 5 | — | 14 | 5 | 0.0 | 1.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.DTLZ1 — Function
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.
MOProblems.DTLZ2 — Function
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.
MOProblems.DTLZ3 — Function
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.
MOProblems.DTLZ4 — Function
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.
MOProblems.DTLZ5 — Function
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.