Apply objective_step LP-cutoff tightening in deterministic B&B node-solve paths
Nobody has claimed this yet.
- Dominant language
- Cuda
- Stars
- 1k
- Forks
- 233
- Avg merge
- 4d 4h
- Merged PRs (30d)
- 95
Description
Background
In PR #1239 (Detect when MIP objectives must move in discrete steps), objective_step lattice tightening was added to the opportunistic branch-and-bound (B&B) node-solve paths. However, the deterministic node-solve paths still hard-code worker.local_upper_bound + dual_tol for the LP cutoff and do not apply the new lattice/integral cutoff calculation.
Problem
When CUOPT_MIP_OBJECTIVE_STEP is enabled, the objective_step is propagated to branch_and_bound_problem regardless of solver mode (opportunistic vs. deterministic). However, the tightened cutoff math (floor-based lattice computation from (cutoff - bias)/step) is only exercised by opportunistic solvers. This causes inconsistent behavior across modes.
TODO
- Thread the
objective_stepcutoff logic through the deterministic node-solve paths so that deterministic runs observe identical cutoff tightening behavior. - Alternatively, gate the
objective_steppropagation to only opportunistic mode until deterministic support is implemented.
References
- PR: #1239
- Review comment: https://github.com/NVIDIA/cuopt/pull/1239#discussion_r3263461182
- Requested by: @chris-maes
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.