dmolina / cec2013lsgo

Package for using CEC'2013 Large Scale Global Optimization benchmark in Python, this benchmark is used also in CEC'2014 and in CEC'2015
GNU General Public License v3.0
29 stars 14 forks source link

why can I have a valid output when the input is less than 1000-dimensional #2

Open HelloDuoLA opened 12 months ago

HelloDuoLA commented 12 months ago

F15 is a 1000-dimensional function, why can I have a valid output when the input is less than 1000-dimensional 屏幕截图 2023-11-14 232311

dmolina commented 12 months ago

I am sorry, this code is a wrapper of the original C++ core, actually it is evaluating a 1000-dimensional vector, in which the first positions of the vector, and the rest of values are the consecutive positions in the memory to achieve 1000 values. The problem is that using the simple API allowing both numpy and list, it is not easy to check the dimensionality. Do you consider it important?

HelloDuoLA commented 11 months ago

OK, thank you for your answer.

Wukong-SCUT commented 3 months ago

This is a point worth emphasizing. Because for F13 and F14, they have overlap=5, so only 905-dimensional vectors are needed. But info tells us that we need a 1000-dimensional vector, but in fact the following 95-dimensional vectors are useless. This can be misleading because when checking the VI, the algorithm may change the values ​​of the next 95 dimensions but get the same fitness, which can be a disaster for the algorithm results.