NVIDIA / NVIDIA/cuopt

Apply objective_step LP-cutoff tightening in deterministic B&B node-solve paths

Open
#1,304 0 comments 0 reactions 1 assignee View on GitHub

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_step cutoff logic through the deterministic node-solve paths so that deterministic runs observe identical cutoff tightening behavior.
  • Alternatively, gate the objective_step propagation to only opportunistic mode until deterministic support is implemented.

References

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.