Hi, I believe there's a bug in the gaussian mutation operator. In this line, the scale parameter of the np.random.normal function can be negative depending on the problem's upper and lower bounds (negative values are not allowed for stdev). Maybe the intended behavior was:
np.random.normal(X[mut], sigma * abs(_xu - _xl)) # instead of (_xu * _xl) here
Hi, I believe there's a bug in the gaussian mutation operator. In this line, the
scale
parameter of thenp.random.normal
function can be negative depending on the problem's upper and lower bounds (negative values are not allowed for stdev). Maybe the intended behavior was: