Expand description
Two-goal test problems with known Pareto fronts, for nsga2: ZDT1, ZDT2 and
ZDT3 of E. Zitzler, K. Deb and L. Thiele, “Comparison of multiobjective evolutionary
algorithms: empirical results”, Evolutionary Computation 8(2), 173–195 (2000),
https://doi.org/10.1162/106365600568202, §4, eqs. (7)–(9) (pp. 177–178), each of n variables in [0, 1]
(the paper’s n = 30):
f₁ = x₀, g = 1 + 9 Σᵢ₌₁ⁿ⁻¹ xᵢ / (n − 1), f₂ = g h(f₁, g).
The front is g = 1, every variable but the first zero, where f₂ = h(f₁, 1):
| Problem | h(f₁, g) | The front |
|---|---|---|
| ZDT1 | 1 − √(f₁/g) | f₂ = 1 − √f₁, convex, f₁ from 0 to 1 |
| ZDT2 | 1 − (f₁/g)² | f₂ = 1 − f₁², concave |
| ZDT3 | 1 − √(f₁/g) − (f₁/g) sin(10π f₁) | five separate pieces of f₂ = 1 − √f₁ − f₁ sin(10π f₁) (zdt::ZDT3_PIECES) |
Enums§
- Zdt
- One of the three problems.
Constants§
- ZDT3_
PIECES - The
f₁ranges of ZDT3’s five pieces of front. Alongf₂ = 1 − √f₁ − f₁ sin(10π f₁), a point is on the front only iff₂is below its value at every smallerf₁: each piece ends at a local minimum of the curve (where its slope is zero), and the next starts where the curve, falling again, first drops below that minimum. These were solved to 40 digits (mpmath 1.3.0’sfindroot), here rounded to the nearestf64, and agree with the ten-digit ranges published for ZDT3; the tests check each end’s equation.