From 0efda5be150f033cb46c4eef2b8afd5f7d335100 Mon Sep 17 00:00:00 2001 From: Bill Huang Date: Sun, 14 Apr 2024 18:49:08 +0800 Subject: [PATCH] fix: avoid nan --- src/evox/problems/numerical/cec2022_so.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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))