For a multi-objective optimization task I want to use the DTLZ5, DTLZ6 and DTLZ7-problems definied by Deb et al. in their Paper "Scalable Multi-Objective Optimization Test Problems".
There are multiple libraries which implemented these problems like Shark (C++), jMetal (Java), deap (Python) and pagmo (C++ and Python).
They all share their code on GitHub, but unfortunately I may only post two links here, for which I chose jMetal to illustrate the problems that occur in all of these implementations.
DTLZ5
In the paper,
$$ g(\text{x}_M)=\sum_{x_i \in \text{x}_M} x_i^{0.1} $$
while in jMetal it's
$$ g(\text{x}_M)=\sum_{x_i \in \text{x}_M} (x_i - 0.5)^{2} $$
There is no equivalent to this in the paper, although for DTLZ2 the $g$-function looks this way.
DTLZ6
In short: DTLZ6 in jMetal is DTLZ5 in the paper.
DTLZ7
I could not find any implementation of the DTLZ7 problem like it is stated in the paper. In contrast, I found at least one paper and other scientific work that referred to the $h$-value of DTLZ7 like "Dynamic Multiobjective Optimization Problems: Test Cases, Approximations, and Applications" by Farina et al. where Deb is even a co-author. Additionally, there is a definition of the DTLZ7-problem on the website of the ETH Zürich where the three co-authors worked. These two sources as well as the libraries listed above describe/implement DTLZ6 instead of DTLZ7.
TL;DR
- problem implemented as DTLZ5 is not part of the paper
- implemented DTLZ6 equals DTLZ5 from the paper
- same for DTLZ7 and DTLZ6
- there is no implementation of DTLZ7 out there
The Question
Is there any paper I could not find that makes my observations obsolete or why do all these sources differ from the paper?