diff --git a/src/evox/problems/numerical/cec2022_so.py b/src/evox/problems/numerical/cec2022_so.py index 277352b6..f63eb69e 100644 --- a/src/evox/problems/numerical/cec2022_so.py +++ b/src/evox/problems/numerical/cec2022_so.py @@ -127,7 +127,8 @@ def compose_operat(self, x, fs, Os_mat, bias, sigma, lamb): term1 = 1 / jnp.sqrt(diff_square_sum) term2 = jnp.exp(-0.5 * diff_square_sum / (sigma**2 * D)) W = term1 * term2 - W_norm = W / jnp.sum(W) + term1_nan = jnp.isnan(term1) + W_norm = lax.select(jnp.any(term1_nan), term1_nan / jnp.count_nonzero(term1_nan), W / jnp.sum(W)) f = jnp.sum(W_norm * (lamb * fs + bias))