Skip to content

Output space exploration#170

Merged
EwoutH merged 39 commits intomasterfrom
output_space_exploration
Sep 23, 2022
Merged

Output space exploration#170
EwoutH merged 39 commits intomasterfrom
output_space_exploration

Conversation

@quaquel
Copy link
Copy Markdown
Owner

@quaquel quaquel commented Sep 14, 2022

adds output space exploration to the workbench.

Closes #154.

quaquel added 20 commits July 8, 2022 08:46
initial commit for output space exploration

* new module for output space exploration build on platypus-opt
* new example with the lake problem
* modifications to optimization.py to make new module work with existing optimization functionality
* updates to TODO outlining further possible cleanup of optimization.py
seems unnecessary because archive is already non dominated for e-NSGAII and is problematic for OutputSpaceExploration
basic version now works properly. HitBox as per Plos paper, but also behaves as epsilon archive. per epsilon box, the most central solution is kept. Tournament selection is used based on novelty. Novelty is 1/number of seen solutions in hitbox
added link to Cherel paper and outlined the rest of the algorithm.
@quaquel quaquel requested a review from EwoutH September 14, 2022 11:10
@coveralls
Copy link
Copy Markdown

coveralls commented Sep 14, 2022

Coverage Status

Coverage increased (+0.7%) to 80.731% when pulling 986cdec on output_space_exploration into 0c61dcc on master.

@EwoutH
Copy link
Copy Markdown
Collaborator

EwoutH commented Sep 14, 2022

Looks awesome! I will review it from a code-quality and user perspective tomorrow.

@EwoutH
Copy link
Copy Markdown
Collaborator

EwoutH commented Sep 19, 2022

I started on a review, in general, it looks quite good!

Reviewing the docs on the other hand is quite a challenge without them begin built. Could you check if it's easy to enable doc building (see #171) before I review them?

@quaquel
Copy link
Copy Markdown
Owner Author

quaquel commented Sep 19, 2022

I have enabled the building of docs for pull requests. I guess we need one more commit here to trigger it.

@EwoutH
Copy link
Copy Markdown
Collaborator

EwoutH commented Sep 19, 2022

If you can find the time, cleaning up you commits would be a great way to also trigger the CI! :)

Otherwise I will do some ci-trigger-magic when I review it (probably tomorrow).

* new module for output space exploration build on platypus-opt
* new example with the lake problem
* modifications to optimization.py to make new module work with existing optimization functionality
* updates to TODO outlining further possible cleanup of optimization.py
* unit tests for all new code
@quaquel
Copy link
Copy Markdown
Owner Author

quaquel commented Sep 21, 2022

That review app looks nice and the suggestions will indeed make the notebook a lot better. I'll try to make the suggested changes over the coming days.

@quaquel
Copy link
Copy Markdown
Owner Author

quaquel commented Sep 22, 2022

I have updated the notebook broadly in line with your suggestions. Note that I don't intend for these notebooks to be a tutorial on MOEAs so I have kept the additional text short but with links to relevant literature in case you want to know more.

I also added a small check to ensure the number of items in grid_spec matches the number of objectives (analogous to the problem with epsilon values in e-NSGA2). This in turn necessitated a small update to the test code.

@quaquel quaquel linked an issue Sep 22, 2022 that may be closed by this pull request
@quaquel quaquel marked this pull request as draft September 22, 2022 10:14
@quaquel quaquel marked this pull request as ready for review September 22, 2022 10:15
initial commit for output space exploration

* new module for output space exploration build on platypus-opt
* new example with the lake problem
* modifications to optimization.py to make new module work with existing optimization functionality
* updates to TODO outlining further possible cleanup of optimization.py
@quaquel
Copy link
Copy Markdown
Owner Author

quaquel commented Sep 22, 2022

I cleaned the commit history again, so if you agree with the notebook update, this is ready to be merged.

Copy link
Copy Markdown
Collaborator

@EwoutH EwoutH left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code quality and structure looks good, I didn't encounter strange things.

Docs are also coming along nicely, I added a few comments on things I found unclear or ambiguous.

If you take a look at those, could you let me merge afterwards? I will squash it into a nice tidy commit.

@quaquel
Copy link
Copy Markdown
Owner Author

quaquel commented Sep 23, 2022

I think this is now ready to be merged

@EwoutH
Copy link
Copy Markdown
Collaborator

EwoutH commented Sep 23, 2022

Awesome, I agree!

Can I merge #178? Then I will throw in some CI, rebase and check if #170 passes, and then merge it.

@quaquel
Copy link
Copy Markdown
Owner Author

quaquel commented Sep 23, 2022

go ahead

@EwoutH EwoutH merged commit 6c1b55c into master Sep 23, 2022
@EwoutH
Copy link
Copy Markdown
Collaborator

EwoutH commented Sep 23, 2022

@quaquel It's in, congratulations on an amazing new feature!

@quaquel quaquel deleted the output_space_exploration branch October 28, 2022 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Output Space Exploration using novelty search like optimization

3 participants