Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Are there any problems with F14? #3

Open
Wukong-SCUT opened this issue Jul 18, 2024 · 3 comments
Open

Are there any problems with F14? #3

Wukong-SCUT opened this issue Jul 18, 2024 · 3 comments

Comments

@Wukong-SCUT
Copy link

Wukong-SCUT commented Jul 18, 2024

The optimal point in F14 should be the point provided in the xopt file, but in fact it is not the case. I personally think it is because F14 itself has the attribute of overlap. It should provide a 905-dimensional vector like F13, and then form a 1000-dimensional vector based on overlap. But this is not the case in the code. Instead, xopt with 1000 dimensions is provided. In this way, even if xopt is input, the vector obtained after expanding the first 905 dimensions of xopt is not a shift vector, so it is not the optimal point. And such an optimal point cannot be achieved. 1000-dimensional xopt means that one dimension requires two values ​​​​in different sub_sizes.

@Wukong-SCUT Wukong-SCUT closed this as not planned Won't fix, can't repro, duplicate, stale Jul 18, 2024
@Wukong-SCUT Wukong-SCUT reopened this Jul 18, 2024
@dmolina
Copy link
Owner

dmolina commented Jul 18, 2024

Dear @Wukong-SCUT, actually this is a benchmark for a previous competition in 2013 for Large Scale Global Optimization. The idea of the benchmark is to be able to reproduce comparisons and also to compare results directly between algorithms. Thus, it is difficult to change any behavior for any function. However, if you write me a more detailed explanaition, we could work on that for next comparisons. Thanks in advance for your comments.

@Wukong-SCUT
Copy link
Author

Wukong-SCUT commented Jul 18, 2024 via email

@Wukong-SCUT
Copy link
Author

Thank you for your professional reply. Here I give a detailed explanation of some of my ideas:

You can see the picture below. This is the key calculation step of the F14 function. It is first processed by rotateVectorConflict.
image

Okay, so let's take a look at the function rotateVectorConflict, which is shown in the picture below.
image
This picture contains the code for how to get z, which is more critical.
image

Note that for F14, the dimension of x is 905, which means it is overlapped, but OvertorVec is a matrix divided by 1000-dimensional vectors into subspace sizes. Therefore, the meaning of this code is to expand the dimension of x to 1000, and then divide the dimension into subspaces and then compare it with OvectorVec to achieve the purpose of translation.

Because x is expanded from 905 dimensions to 1000 dimensions. Therefore, for the overlapped dimension, the values ​​in different subspaces are the same. But this is not the case for OvectorVec. The values ​​of overlapped dimensions in different subspaces are different. Therefore, even if the x^opt vector is brought into the function, the optimal value 0 cannot be obtained, which is also inconsistent with the original paper.

The above are my personal thoughts. I may not understand them well. Please forgive me. I can understand that the original intention is to make the overlapped dimensions have different effects in each subspace, so this operation is performed. But this makes it impossible to obtain the optimal value, because it is impossible for anyone to input a 905-dimensional vector, and the overlapped dimensions after expansion are different in different subspaces.

So my idea is to change the dimension of X to 1000, but remind users that they need to pay attention to overlap, so that people can find the optimal value of the dimension in different components based on conflict. Otherwise, it seems that we can't find the optimal value, and we don't even know what the possible optimal value of the 905-dimensional x input would be.

The above are some of my personal thoughts. There may be many misunderstandings. Please forgive me. Thank you again for your professional answer. I am very concerned about the development of the LSGO field. If you have a new Benchmark release, please let me know. Thank you again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants