-
Notifications
You must be signed in to change notification settings - Fork 557
Solution Pool #3657
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
base: main
Are you sure you want to change the base?
Solution Pool #3657
Conversation
Reordering and documenting API
Use the Pyomo Bunch class as an alias for Munch, to avoid introducing an additional Pyomo dependency.
Note that this PR now includes updates to the Bunch class defined in pyomo.common. I have been using the public Munch class, but these revisions align the Bunch API with Munch. |
Avoiding use of KW_ONLY, which is an internal mechanism
Using new serialization API, which is simpler. :)
1. Reworking solver matrix logic 2. Fixing test to benchmark against the solution values
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #3657 +/- ##
==========================================
- Coverage 89.31% 87.20% -2.12%
==========================================
Files 896 826 -70
Lines 103682 102378 -1304
==========================================
- Hits 92605 89280 -3325
- Misses 11077 13098 +2021
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Added non-positive error check and value 1 warning for num_solutions in balas
Added num_solution error if num_solutions is non-positive, warning if num_solutions =1
.pool -> .active_pool ._pool -> ._pools Stresses the active pool in use and the tools to touch on multiple pools
Old to_dict method worked on all pools, renamed get_pool_dicts New to_dict is pass through to active pool
Updates to Solution Pool and MyMunch
Update the commenting documentation. The split between pool_config and metadata is now clearer with metadata containing information all SolutionPools have and pool_config is the class specific data.
Additional updates to enforce the metadata/pool_config data split We also now have pass through properties for all the not-private SolutionPool properties in PoolManager.
Added more test for pass through parameters and applied black to the files
Solnpool Updates to enforce clarity on what metadata versus pool_config objects describe
1. Using keyword names when adding solutions pools to a pool manager 2. Many documentation changes 3. Renamed Variable and Objective classes to avoid conflicts with Pyomo naming (in sphinx) 4. Clarifyied the semantics of the gurobi enumeration methods.
Includes documentation with solution pools
@emma58 @michaelbynum FYI, this PR is ready for review. |
@whart222 - Can you please resolve the merge conflicts? |
Fixes #3513 (partially) .
Summary/Motivation:
The alternative_solutions contrib package includes a rudimentary solution pool object. This PR includes a more comprehensive capability for defining and managing solution pools.
Changes proposed in this PR:
NOTE: This is a WIP PR. I'm submitting this now to help define expectations for finalizing this new capability.
Legal Acknowledgement
By contributing to this software project, I have read the contribution guide and agree to the following terms and conditions for my contribution: