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

Solver Refactor Part 2: Reduce Duplication & Restructure for Future Redesign #3447

Closed
wants to merge 42 commits into from

Conversation

mrmundt
Copy link
Contributor

@mrmundt mrmundt commented Dec 17, 2024

Fixes #1030 (partly)

Summary/Motivation:

This does not fully complete the solver refactor (though let's be honest, it'll never really be "done") and builds on the work introduced in #3137. This is a "save state", however, that introduces HiGHs into the new solver interfaces as well as introduces necessary restructuring for clarity and future changes.

There is minimal functionality change for users as a result of this PR. The main new things they will see are:

  • Access to highs_v2
  • Rename gurobi_v2 to gurobi_persistent_v2
  • Rename Results.solver_configuration to Results.solver_config

Changes proposed in this PR:

  • Introduce highs_v2 interface
  • Restructure directory in contrib/solver to have common, solvers, and tests
  • Renaming of certain modules for clarity (e.g., solution -> solution_loader)
  • Reduce duplicate code by creating mixin classes as applicable
  • Future-port assert_optimal_termination and check_optimal_termination to make it forwards and backwards compatible
  • Clean up legacy mapping logic
  • Generally apply pylint suggestions (because static analysis is good!)

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:

  1. I agree my contributions are submitted under the BSD license.
  2. I represent I am authorized to make the contributions and grant the license. If my employer has rights to intellectual property that includes these contributions, I represent that I have received permission to make contributions and grant the required license on behalf of that employer.

@mrmundt
Copy link
Contributor Author

mrmundt commented Dec 17, 2024

Temporarily closing because I didn't realize Windows was being problematic...

@mrmundt mrmundt closed this Dec 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[PEP] Redesign of Pyomo Solvers
3 participants