Skip to content

Fix variables out of bounds caused by CPUFJ LP scratch thread#425

Merged
rapids-bot[bot] merged 1 commit intobranch-25.10from
fj-oob-fix
Oct 1, 2025
Merged

Fix variables out of bounds caused by CPUFJ LP scratch thread#425
rapids-bot[bot] merged 1 commit intobranch-25.10from
fj-oob-fix

Conversation

@aliceb-nv
Copy link
Copy Markdown
Contributor

If the CPUFJ LP scratch thread is started before the LP relaxation solution is found (if one is found), the initial solution vector may not satisfy the problem variable bounds. This PR fixes the issue by ensuring the CPUFJ LP thread is started only after such a solution is found. The initial solution is also projected to the variable bounds to ensure no such violation can exist.

Closes #423

@aliceb-nv aliceb-nv added this to the 25.10 milestone Oct 1, 2025
@aliceb-nv aliceb-nv requested a review from a team as a code owner October 1, 2025 12:14
@aliceb-nv aliceb-nv added bug Something isn't working non-breaking Introduces a non-breaking change labels Oct 1, 2025
@aliceb-nv aliceb-nv requested review from kaatish and nguidotti October 1, 2025 12:14
Copy link
Copy Markdown
Contributor

@nguidotti nguidotti left a comment

Choose a reason for hiding this comment

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

Looks good to me. Thanks for the quick fix, Alice.

@rg20
Copy link
Copy Markdown
Contributor

rg20 commented Oct 1, 2025

/merge

@rapids-bot rapids-bot bot merged commit ea52678 into branch-25.10 Oct 1, 2025
175 of 176 checks passed
@rgsl888prabhu rgsl888prabhu deleted the fj-oob-fix branch October 29, 2025 16:24
jieyibi pushed a commit to yining043/cuopt that referenced this pull request Mar 26, 2026
…#425)

If the CPUFJ LP scratch thread is started before the LP relaxation solution is found (if one is found), the initial solution vector may not satisfy the problem variable bounds. This PR fixes the issue by ensuring the CPUFJ LP thread is started only after such a solution is found. The initial solution is also projected to the variable bounds to ensure no such violation can exist.

Closes NVIDIA#423

Authors:
  - Alice Boucher (https://github.com/aliceb-nv)

Approvers:
  - Nicolas L. Guidotti (https://github.com/nguidotti)
  - Rajesh Gandham (https://github.com/rg20)

URL: NVIDIA#425
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Incorrect post-solve results for supportcase42

3 participants