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

Results of MultiEncodingOperators are not stable / reproducable #3144

Open
HeuristicLab-Trac-Bot opened this issue Dec 17, 2021 · 6 comments
Assignees
Labels
bug Something isn't working

Comments

@HeuristicLab-Trac-Bot
Copy link
Collaborator

Issue migrated from trac ticket # 3144

milestone: HeuristicLab 3.3.17 | component: Optimization | priority: high

2021-12-17 13:45:01: @mkommend created the issue


If an algorithm uses a MultiEncoding for representing individuals and hence the respective MultiEncodingOperators, the results could vary although the random seed is fixed and a SequentialEngine for the algorithm execution is used.

@HeuristicLab-Trac-Bot
Copy link
Collaborator Author

2021-12-17 13:45:15: @mkommend changed status from new to accepted

@HeuristicLab-Trac-Bot
Copy link
Collaborator Author

2021-12-17 13:45:15: @mkommend edited the issue description

@HeuristicLab-Trac-Bot
Copy link
Collaborator Author

2021-12-17 14:12:36: @mkommend commented


After bug hunting for several hours, we discovered that MultiEncodingOperators have dedicated operators saved in a separate parameter for each individual part of the MultiEncoding. This parameters are iterated and a new operation is spawned for parameter / operator that is executed on the part of the encoding.

The issue now is that parameters are internally saved within a dictionary. Iteration over an dictionary does not guarantee the same order, hence the execution order of the spawned operations differs and in turn the algorithm produces different results.

@HeuristicLab-Trac-Bot
Copy link
Collaborator Author

2021-12-17 15:08:30: @mkommend changed status from accepted to reviewing

@HeuristicLab-Trac-Bot
Copy link
Collaborator Author

2021-12-17 15:08:30: @mkommend changed owner from @mkommend to @abeham

@HeuristicLab-Trac-Bot
Copy link
Collaborator Author

2021-12-17 15:08:30: @mkommend commented


r18153: Ordered discovered parameters of MultiEncodingOperator before operation creation.

DavidPiringer pushed a commit that referenced this issue Mar 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants