Skip to content

Direct and Persistent Interfaces to SCIP#3744

Merged
michaelbynum merged 112 commits into
Pyomo:mainfrom
michaelbynum:scip_port
May 18, 2026
Merged

Direct and Persistent Interfaces to SCIP#3744
michaelbynum merged 112 commits into
Pyomo:mainfrom
michaelbynum:scip_port

Conversation

@michaelbynum
Copy link
Copy Markdown
Contributor

@michaelbynum michaelbynum commented Oct 6, 2025

Fixes #849, #3107, #1615.

Summary/Motivation:

The primary purpose of the PR is to port the direct and persistent interfaces for SCIP from #3200 to contrib/solver. I worked off of the branch created by @Opt-Mucca, so all of their commits are preserved. I will close #3200 shortly.

Changes proposed in this PR:

  • Create direct and persistent interfaces to SCIP
  • Expand the API of the ModelChangeDetector in contrib/observer slightly

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.

Opt-Mucca and others added 30 commits March 18, 2024 15:14
Co-authored-by: Miranda Mundt <55767766+mrmundt@users.noreply.github.com>
@michaelbynum michaelbynum changed the title [Depends on #3703] Direct and Persistent Interfaces to SCIP Direct and Persistent Interfaces to SCIP May 11, 2026
@michaelbynum michaelbynum marked this pull request as ready for review May 11, 2026 14:53
Copy link
Copy Markdown
Contributor

@mrmundt mrmundt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test results depending. I made the changes I wanted to see already.

@michaelbynum
Copy link
Copy Markdown
Contributor Author

Thanks, @mrmundt! I've been meaning to split that file up for a while now...

@michaelbynum
Copy link
Copy Markdown
Contributor Author

(It completely slipped my mind)

@michaelbynum
Copy link
Copy Markdown
Contributor Author

michaelbynum commented May 18, 2026

I confirmed that __del__ is not needed, so this should be good to go.

@michaelbynum
Copy link
Copy Markdown
Contributor Author

@mrmundt - I made a few minor changes since you reviewed in order to improve test coverage.

@mrmundt mrmundt self-requested a review May 18, 2026 17:01
@michaelbynum michaelbynum merged commit 6ffd3cb into Pyomo:main May 18, 2026
60 of 63 checks passed
for con in cons:
self._add_sos_constraint(con)

def _create_solver_model(self, model, config):
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This routine should be updated to use the component_data_collector so that unhandled component errors are raised

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.

SCIPAMPL fails to get primal bound from log file SCIP Solver Results undefined/unknown/inf Python interface to SCIP persistent solver

6 participants