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

Convergence tracking #193

Merged
merged 15 commits into from
Oct 19, 2022
Merged

Convergence tracking #193

merged 15 commits into from
Oct 19, 2022

Conversation

quaquel
Copy link
Owner

@quaquel quaquel commented Oct 12, 2022

This pull request entails an overhaul of how convergence tracking is being supported by the workbench. This closes #187.

In short:

  1. ArchiveLogger now stores results in a tarbal
  2. Additional helper functions for converting from a dataframe to a collection of platypus solutions
  3. Additional helper function for merging results from multiple seeds using epsilon non dominated sort
  4. All platypus convergence indicators are wrapped using a wrapper class to make them play nice with the workbench.
  5. HyperVolume results in a DeprecationWarning being logged. It is better to calculate hypervolume in post. This also closes Docs: Expand on HyperVolume minimum and maximum parameters #149
  6. modifications to various init files to ensure the correct functions and classes can be directly imported from ema_workbench.

this pull request needs to be merged before we can resolve issue #147

@quaquel quaquel requested a review from EwoutH October 12, 2022 19:26
@quaquel quaquel added this to the 2.3.0 milestone Oct 12, 2022
@coveralls
Copy link

coveralls commented Oct 12, 2022

Coverage Status

Coverage decreased (-0.4%) to 81.139% when pulling 5f8274d on convergence_tracking into 3f60527 on master.

@EwoutH
Copy link
Collaborator

EwoutH commented Oct 12, 2022

Looks like an major effort! I will dive into this tomorrow.

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

Copy link
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.

Two last nick picks, when those are resolved it's good to go!

ema_workbench/em_framework/optimization.py Outdated Show resolved Hide resolved
ema_workbench/examples/lake_model_dps.py Outdated Show resolved Hide resolved
@quaquel
Copy link
Owner Author

quaquel commented Oct 19, 2022

Two last nick picks, when those are resolved it's good to go!

A nice use case for the walrus operator indeed. I had completely. forgetting about it while writing the code.

@EwoutH EwoutH merged commit 60a45e7 into master Oct 19, 2022
@EwoutH
Copy link
Collaborator

EwoutH commented Oct 19, 2022

I checked the Read the Docs and found a few missing empty lines in the docstring, fixed those in 5f8274d, and merged!

Congratulations on getting this major feature in!

quaquel added a commit that referenced this pull request Oct 25, 2022
Building on #193, this substantially expands the directed search tutorial with improved discussion on convergence, seed analysis, and robust optimization. In addition, various links to relevant literature have been added.
@quaquel quaquel deleted the convergence_tracking branch October 28, 2022 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

convergence tracking of optimization Docs: Expand on HyperVolume minimum and maximum parameters
3 participants