Skip to content

Add zero-cost-singleton for implied integers - #3455

Merged
Opt-Mucca merged 1 commit into
latestfrom
do-zero-cost-singleton-for-impl-int
Oct 22, 2026
Merged

Opt-Mucca merged 1 commit into
latestfrom
do-zero-cost-singleton-for-impl-int

Conversation

@Opt-Mucca

@Opt-Mucca Opt-Mucca commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

Description

This change lets implied integers also be removed via zeroCostSIngleton. That is, it removes the implied integer column from the single double-sided row that it features in, and then computes a value for it in postsolve. As it's integrality is only implied and it's bounds are always integer, I believe it's safe to remove this way. I found this while trying to figure out how SCIP made some reductions on an instance that we weren't doing.

On my test set it results in a 1.4% performance improvement (am a bit amazed at this). The main instances affected are:

Edit: Misread my own tables.......

neos-2746589-doon - Slightly more reductions and now reliably solvable
csched008 - More reduction but not faster
csched007 - One more reduction yet now reliably slower
blp-ic98 - Mixed reductions with mixed results
blp-ar98 - Way more reductions mixed results

There's a few more affected instances, but they're only affected on specific seeds, so I assume they depend on some submip or restart path to trigger these reductions.

Checklist

  • I have read the contributing guidelines
  • This PR targets the latest branch
  • Tests are passing
  • Documentation was updated where relevant
  • This PR is not primarily AI-generated (per the AI contributions policy in CONTRIBUTING.md)

@fwesselm fwesselm left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Great, thanks, @Opt-Mucca!

@codecov

codecov Bot commented Oct 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 75.12%. Comparing base (fc87eb0) to head (1f304ce).
⚠️ Report is 58 commits behind head on latest.

Additional details and impacted files
@@            Coverage Diff             @@
##           latest    #3455      +/-   ##
==========================================
+ Coverage   75.10%   75.12%   +0.01%     
==========================================
  Files         460      460              
  Lines      112030   112155     +125     
  Branches    17757    17779      +22     
==========================================
+ Hits        84144    84254     +110     
- Misses      27604    27619      +15     
  Partials      282      282              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Opt-Mucca
Opt-Mucca merged commit d36f640 into latest Oct 22, 2026
575 of 576 checks passed
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.

2 participants