Skip to main content

Module zdt

Module zdt 

Source
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):

Problemh(f₁, g)The front
ZDT11 − √(f₁/g)f₂ = 1 − √f₁, convex, f₁ from 0 to 1
ZDT21 − (f₁/g)²f₂ = 1 − f₁², concave
ZDT31 − √(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. Along f₂ = 1 − √f₁ − f₁ sin(10π f₁), a point is on the front only if f₂ is below its value at every smaller f₁: 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’s findroot), here rounded to the nearest f64, and agree with the ten-digit ranges published for ZDT3; the tests check each end’s equation.