Skip to content

Optimization improvements#424

Merged
quaquel merged 41 commits intomasterfrom
optimization_improvements
Oct 28, 2025
Merged

Optimization improvements#424
quaquel merged 41 commits intomasterfrom
optimization_improvements

Conversation

@quaquel
Copy link
Copy Markdown
Owner

@quaquel quaquel commented Oct 6, 2025

This PR is an overhaul of how the workbench integrates platypus-opt. This overhaul draws on the improvements made inside platypus. In passing, it also adds typing information, improves documentation, and ensures full test coverage.

Key new features

  • adds support for starting the optimization from a user-provided initial population
  • runtime convergence and storing of archives over time are handled automatically

Additional Improvements

  • code simplifications
  • bug fixes
  • full test coverage
  • typing information
  • improved documentation

Done

  1. Make use of new extensions functionality in Platypus for tracking progress, storing archives, and in GenerationalBorg
  2. Simplify processing of platypus jobs to take advantage of the new Sample class. Substantial simplification of the code by adding helper methods to Sample (Sample._from_platypus_solution and Sample._to_platypus_solution), so we can easily go from platypus Solution to workbench Sample and from Sample to platypus Solution.
  3. Minor bug fixes (always store archive if available, else store result)
  4. Add a keyword argument for generator so we can start with a custom population --> now possible via initial_population keyword argument on BaseEvaluator.optimize
  5. Ensure that runtime convergence information (operator probabilities/ e-progress) is always tracked and returned as part of the results.
  6. unit tests
  7. Perhaps split up optimization stuff over more files and add a subpackage inside em_framework to keep it organized and tractable.

@coveralls
Copy link
Copy Markdown

coveralls commented Oct 7, 2025

Coverage Status

coverage: 92.34% (+3.6%) from 88.699%
when pulling 84b8337 on optimization_improvements
into fe8f085 on master.

@review-notebook-app
Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@quaquel quaquel merged commit e194be6 into master Oct 28, 2025
24 checks passed
@quaquel quaquel deleted the optimization_improvements branch October 28, 2025 21:08
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.

Platypus and MPIEvaluator Issue Save time by giving optimizer initial policies from previous optimization run

2 participants