PlatEMO
PlatEMO copied to clipboard
Ackley function implemented incorrectly in ZXH_CF problems 3, 8, 9, and 14
The Ackley function for ZXH_CF problems 3, 8, 9, and 14 have potentially been implemented incorrectly.
The paper describing the ZXH_CF functions writes the Ackley function (for ZXH_CF3) as follows:
This is not how it is implemented in the Platemo code where h (representing the Ackley function) is written as follows:
h = 20 - 20 * exp(-0.2 * sqrt(sum((PopDec(:,M+1:end)-OptX).^2,2)/(D-M))) + exp (1) - exp(sum(cos(2 * pi .*(PopDec(:,M+1:end)-OptX)),2)/(D-M));
Instead of n - m, it is implemented as D-M. This will result in division by zero when D and M are of equal values, for instance when the number of decision variables and the number of objectives both equal 2.
I haven't been able to identify exactly what n is in the paper, however, I don't believe it is the number of decision variables.