benchmarkfcns.multiobjective.dtlz2

benchmarkfcns.multiobjective.dtlz2(x: Annotated[numpy.typing.NDArray[numpy.float64], '[m, n]', 'flags.c_contiguous'], num_objectives: SupportsInt | SupportsIndex = 3) Annotated[numpy.typing.NDArray[numpy.float64], '[m, n]']

Computes the value of the DTLZ2 multi-objective benchmark function. SCORES = multiobjective.dtlz2(X, num_objectives) computes the value of the DTLZ2 function at point X. multiobjective.dtlz2 accepts a matrix of size M-by-N and returns a matrix SCORES of size M-by-K where K is the number of objectives. Properties:

  • Global Pareto front: Spherical (sum f_i^2 = 1)

  • Number of dimensions: n (usually k + num_objectives - 1, k=10)

  • Recommended domain: [0, 1]^n

  • Convexity: concave

  • Modality: unimodal

For more information, please visit: benchmarkfcns.info/doc/dtlz2fcn

Mathematical Definition

\[\begin{split}f_i(\textbf{x}) = (1 + g(\textbf{x}_M)) \left( \prod_{j=1}^{M-i} \cos(x_j \pi / 2) \right) \sin(x_{M-i+1} \pi / 2) \quad \text{for } i = 1, \dots, M \\\end{split}\]

g(textbf{x}_M) = sum_{x_j in textbf{x}_M} (x_j - 0.5)^2 \ text{where } textbf{x}_M = [x_{n-k+1}, dots, x_n] text{ and } k = n - M + 1 text{, and } sin(x_{M-i+1} pi / 2) text{ is omitted for } i=1.

Visualization

No visualization available for this function.