Skip to content

Conversation

rg20
Copy link
Contributor

@rg20 rg20 commented Sep 24, 2025

Description

This PR integrates the CliqueMerging presolver from Papilo and customizes some presolver settings for cuOpt. This PR also provides --dual-postsolve option. This option allows users to disable dual post solve which makes presolver apply more reductions. By default this flag is set to false.

Issue

Closes #356

Checklist

  • [ x] I am familiar with the Contributing Guidelines.
  • Testing
    • [ x] New or existing tests cover these changes
    • Added tests
    • Created an issue to follow-up
    • NA
  • Documentation
    • The documentation is up to date with these changes
    • Added new documentation
    • [x ] NA

@rg20 rg20 requested review from a team as code owners September 24, 2025 22:07
Copy link

copy-pr-bot bot commented Sep 24, 2025

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@rg20 rg20 added non-breaking Introduces a non-breaking change improvement Improves an existing functionality labels Sep 24, 2025
@rg20 rg20 added this to the 25.10 milestone Sep 24, 2025
@rg20 rg20 force-pushed the tune_presolve_settings branch from 5edeb2b to dc2937b Compare September 24, 2025 22:07
@rg20 rg20 requested review from aliceb-nv and removed request for kaatish and akifcorduk September 24, 2025 22:08
@aliceb-nv
Copy link
Contributor

Thanks a lot for the super quick and great work Rajesh! :)
I'm seeing a consistent regression on comp07-2idx.mps compared to the previous commit that only appears when the CliqueMerging presolver is added, do you have an idea what could cause this (overconstraining?)
Previous commit finds near-optimal solutions (obj <15) in 10-20 seconds, while w/ cliquemerging it remains above 100

I think we can merge the PR as it's overall beneficial but we should probably track this with a GH issue

@aliceb-nv
Copy link
Contributor

/ok to test dc2937b

@rg20
Copy link
Contributor Author

rg20 commented Sep 25, 2025

/ok to test 2d9f080

Copy link
Contributor

@tmckayus tmckayus left a comment

Choose a reason for hiding this comment

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

cmake lgtm. What's the strategy to remember to change this someday from a specifc hash? We might forget :)

@rg20
Copy link
Contributor Author

rg20 commented Sep 26, 2025

cmake lgtm. What's the strategy to remember to change this someday from a specifc hash? We might forget :)

This is the latest commit from development branch. Once things merge to main branch, we can switch to that. I can add some notes.

@rg20 rg20 changed the title Integrate CliqueMerging presolver Integrate CliqueMerging presolver and tune presolver settings Sep 26, 2025
@rg20
Copy link
Contributor Author

rg20 commented Sep 26, 2025

/ok to test d3ac1bc

@rgsl888prabhu
Copy link
Collaborator

/ok to test 547ccf2

@rgsl888prabhu
Copy link
Collaborator

/ok to test f3d9bf5

@rg20
Copy link
Contributor Author

rg20 commented Sep 30, 2025

/ok to test 6d5b773

@rg20
Copy link
Contributor Author

rg20 commented Sep 30, 2025

/ok to test b339605

@rg20
Copy link
Contributor Author

rg20 commented Sep 30, 2025

/ok to test 9e13e09

@rg20
Copy link
Contributor Author

rg20 commented Sep 30, 2025

/ok to test 556d96a

@rg20
Copy link
Contributor Author

rg20 commented Oct 1, 2025

/ok to test 1c1bddd

@rg20
Copy link
Contributor Author

rg20 commented Oct 1, 2025

/ok to test 036117b

@rg20
Copy link
Contributor Author

rg20 commented Oct 1, 2025

/ok to test d0fc79f

@rg20
Copy link
Contributor Author

rg20 commented Oct 2, 2025

/ok to test b9c0dcb

@rg20
Copy link
Contributor Author

rg20 commented Oct 2, 2025

/ok to test 5fe2f3c

@rg20
Copy link
Contributor Author

rg20 commented Oct 3, 2025

/merge

@rapids-bot rapids-bot bot merged commit a57d894 into NVIDIA:branch-25.10 Oct 3, 2025
258 of 260 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement Improves an existing functionality non-breaking Introduces a non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEA] Add a new --presolve option that supports dual-preserving presolve methods
5 participants