benchmarkfcns.multiobjective.dtlz3

benchmarkfcns.multiobjective.dtlz3(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 DTLZ3 multi-objective benchmark function. SCORES = multiobjective.dtlz3(X, num_objectives) computes the value of the DTLZ3 function at point X. multiobjective.dtlz3 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 (Concave)

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

  • Recommended domain: [0, 1]^n

  • Modality: Highly Multimodal (Numerous local Pareto fronts)

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

Mathematical Definition

\[\begin{split}f_i(\textbf{x}) = (1 + g(\textbf{x})) \prod_{j=1}^{M-i} \cos(x_j \pi / 2) \cdot \begin{cases} 1 & i = 1 \\ \sin(x_{M-i+1} \pi / 2) & i > 1 \end{cases} \\\end{split}\]

g(textbf{x}) = 100 left[ k + sum_{i=n-k+1}^n ((x_i - 0.5)^2 - cos(20 pi (x_i - 0.5))) right]

Visualization

No visualization available for this function.