Skip to main content

polynomial_delta

Function polynomial_delta 

pub fn polynomial_delta(u: f64, eta: f64) -> f64
Expand description

The perturbation of polynomial mutation (Deb & Goyal 1996).

δ = (2u)^(1/(η_m+1)) − 1            for u < 0.5
δ = 1 − (2(1−u))^(1/(η_m+1))        for u ≥ 0.5

δ lies in [−1, 1] and is applied as x + δ·(upper − lower); in the unit hypercube upper − lower = 1, so the perturbation is δ. The distribution is symmetric about zero and sharply peaked there: most draws nudge, a few jump. η_m is the sharpness — the customary value is 20 (DEFAULT_MUTATION_ETA).