Skip to content

Changes to presolve initial sweep - #3210

Merged
fwesselm merged 4 commits into
latestfrom
initialSweepChanges
Aug 11, 2026
Merged

Changes to presolve initial sweep#3210
fwesselm merged 4 commits into
latestfrom
initialSweepChanges

Conversation

@fwesselm

Copy link
Copy Markdown
Collaborator
  • Remove std::vector<bool>
  • Use HighsCDouble for activity bounds (similar to HighsLinearSumBounds)

@fwesselm
fwesselm requested a review from jajhall August 10, 2026 15:04
@codecov

codecov Bot commented Aug 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.77%. Comparing base (57e5065) to head (b196d7a).
⚠️ Report is 92 commits behind head on latest.

Additional details and impacted files
@@           Coverage Diff           @@
##           latest    #3210   +/-   ##
=======================================
  Coverage   72.77%   72.77%           
=======================================
  Files         444      444           
  Lines      107464   107469    +5     
  Branches    17288    17290    +2     
=======================================
+ Hits        78208    78213    +5     
  Misses      28979    28979           
  Partials      277      277           

☔ 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.

@jajhall jajhall left a comment

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.

Thanks. I thought it was OK to compute infinite implied bounds explicitly, rather than tracking them with the HighsBool vectors implied_row_*_finite, but fair enough

@fwesselm

Copy link
Copy Markdown
Collaborator Author

Thanks. I thought it was OK to compute infinite implied bounds explicitly, rather than tracking them with the HighsBool vectors implied_row_*_finite, but fair enough

I think using HighsCDouble is beneficial if the activity bounds are large.

kHighsInf cannot be converted to HighsCDouble, at least I ran into issues last time I tried, hence the additional indicator vectors.

@jajhall

jajhall commented Aug 10, 2026

Copy link
Copy Markdown
Member

kHighsInf cannot be converted to HighsCDouble, at least I ran into issues last time I tried, hence the additional indicator vectors.

Very true

@fwesselm

Copy link
Copy Markdown
Collaborator Author

kHighsInf cannot be converted to HighsCDouble, at least I ran into issues last time I tried, hence the additional indicator vectors.

Very true

However, I can still try to get rid of the HighsBool vectors. I will update the PR.

@fwesselm
fwesselm merged commit 5f87d07 into latest Aug 11, 2026
677 of 678 checks passed
@fwesselm
fwesselm deleted the initialSweepChanges branch August 11, 2026 13:02
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.

2 participants