Skip to content

Adding solution pool functionality to Pyomo #3513

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

Open
whart222 opened this issue Mar 10, 2025 · 1 comment
Open

Adding solution pool functionality to Pyomo #3513

whart222 opened this issue Mar 10, 2025 · 1 comment

Comments

@whart222
Copy link
Member

Summary

The alternative_solutions contrib package includes a rudimentary solution pool object. A more comprehensive capability is needed for this contrib package, but maybe this should hosted in a new solution_pool contrib package.

Rationale

Solution pools are intrinsic to the functionality of the methods in pyomo.contrib.alternative_solutions. However, solution pools are also natural building blocks for a variety of techniques like branch-and-bound and optimiality-based bounds tightening. A pyomo.contrib.solution_pool package would promote this capability and ensure that it has suitable functionality to support algorithms beyond enumeration of alternative solutions.

Description

I have prototyped a solution pool methodology outside of pyomo. This is sufficiently complex that a separate contrib package makes sense. Further, I imagine that this would be a suitable target for performance optimizations (e.g. cython), since pool management is a kernel of optimization solvers.

Additional information

None.

@michaelbynum
Copy link
Contributor

We have been working on this some in the solver interface refactor (see #1030, #3476, and https://pyomo.readthedocs.io/en/latest/explanation/experimental/solvers.html). There is still lots of work to do though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants