Skip to content

Conversation

@akifcorduk
Copy link
Contributor

@akifcorduk akifcorduk commented May 22, 2025

This PR fixes bugs in

  • Preprocess in set callback function, the checks were done on the original assignment before preprocess, thus rejecting almost all set_solution calls.
  • Line segment returning worse solutions because of bug.
  • A side effect of LS returning worse solutions is that B&B added solutions are not added to the population as LS makes them worse.

@akifcorduk akifcorduk added this to the 25.05 milestone May 22, 2025
@akifcorduk akifcorduk requested a review from a team as a code owner May 22, 2025 11:04
@akifcorduk akifcorduk added the bug Something isn't working label May 22, 2025
@akifcorduk akifcorduk requested review from aliceb-nv and hlinsen May 22, 2025 11:04
@akifcorduk akifcorduk added the non-breaking Introduces a non-breaking change label May 22, 2025
Copy link
Contributor

@aliceb-nv aliceb-nv left a comment

Choose a reason for hiding this comment

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

LGTM, thanks!

temp_assignment.begin(),
assignment.begin());
handle_ptr->sync_stream();
auto has_nans = cuopt::linear_programming::detail::has_nans(handle_ptr, assignment);
Copy link
Contributor

Choose a reason for hiding this comment

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

This will cause errors if not caught before

}

auto has_variable_bounds_violation =
cuopt::linear_programming::detail::has_variable_bounds_violation(handle_ptr, assignment, this);
Copy link
Contributor

Choose a reason for hiding this comment

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

Does it solve the issue if you pass original problem bounds here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Probably, i didn't try it. But it was not accepting the solutions we outputted with get_solution.

Copy link
Contributor

Choose a reason for hiding this comment

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

Because bounds are scaled so I think this is the issue

Copy link
Contributor

@hlinsen hlinsen left a comment

Choose a reason for hiding this comment

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

Thanks Akif!

@akifcorduk
Copy link
Contributor Author

/merge

@rapids-bot rapids-bot bot merged commit f1ccce3 into NVIDIA:branch-25.05 May 22, 2025
83 checks passed
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.

3 participants