Skip to content

Handle cuOpt UnboundedOrInfeasible status (11) in CUOPT adapter and tests#901

Open
rgsl888prabhu wants to merge 1 commit intocoin-or:masterfrom
rgsl888prabhu:cuopt-unboundedorinfeasible-status
Open

Handle cuOpt UnboundedOrInfeasible status (11) in CUOPT adapter and tests#901
rgsl888prabhu wants to merge 1 commit intocoin-or:masterfrom
rgsl888prabhu:cuopt-unboundedorinfeasible-status

Conversation

@rgsl888prabhu
Copy link
Copy Markdown

Summary

cuOpt added a new termination status (value 11, `UnboundedOrInfeasible`) that its presolver returns when infeasibility and unboundedness cannot be disambiguated. PuLP has no combined status, so the adapter maps it to `LpStatusUndefined` (mirroring how `GLPK_CMD` reports the same case). Status 10 (`WorkLimit`) is added explicitly at the same time.

Two test branches are updated so `CUOPT` is accepted in the tolerant paths that `GLPK_CMD` / `GUROBI` / `MOSEK` already use:

  • `test_integer_infeasible_2`: accept `Infeasible` or `Undefined` for `CUOPT`
  • `test_unbounded`: accept `Unbounded` or `Undefined` for `CUOPT`

Tracked upstream in NVIDIA/cuopt#1114.

…ests

cuOpt added a new termination status (value 11, UnboundedOrInfeasible)
that the presolver returns when it cannot disambiguate infeasibility
from unboundedness. PuLP has no combined status, so the adapter maps
it to LpStatusUndefined (mirroring how GLPK_CMD reports the same case).
Also adds an explicit entry for status 10 (WorkLimit).

Updates two test branches so CUOPT is accepted in the
'InfeasibleOrUnbounded' tolerant paths that GLPK_CMD / GUROBI / MOSEK
already use:

- test_integer_infeasible_2: accept Infeasible or Undefined for CUOPT
- test_unbounded: accept Unbounded or Undefined for CUOPT

Tracked in NVIDIA/cuopt#1114.

Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Apr 16, 2026

CLA assistant check
All committers have signed the CLA.

@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants