The MILP incumbent-callback test hits the 10s time limit and returns TimeLimit instead of FeasibleFound/Optimal, failing the assertion.
Failure
> assert termination in (
MILPTerminationStatus.FeasibleFound,
MILPTerminationStatus.Optimal,
)
E assert <MILPTerminationStatus.TimeLimit: 5> in (<MILPTerminationStatus.FeasibleFound: 8>, <MILPTerminationStatus.Optimal: 1>)
tests/linear_programming/test_incumbent_callbacks.py:90: AssertionError
Analysis
The test fixes CUOPT_TIME_LIMIT = 10 and asserts a feasible/optimal termination (test_incumbent_callbacks.py:83, :90). On the slowest matrix entry (oldest-deps, earliest-driver, CUDA 12.2.2, L4) swath1.mps does not reach a feasible solution within 10s, so the solver returns TimeLimit and the assertion fails. Appears environment/timing-sensitive rather than a solver correctness bug.
Possible fixes
- Treat
TimeLimit gracefully (skip/soft-pass when no incumbent fired within the limit), similar to the existing root-node skip at test_incumbent_callbacks.py:98.
- Or raise the time limit for this test / use a smaller MIP instance on the oldest-deps config.
Related (closed)
The MILP incumbent-callback test hits the 10s time limit and returns
TimeLimitinstead ofFeasibleFound/Optimal, failing the assertion.Failure
conda-python-tests / 12.2.2, 3.11, amd64, rockylinux8, l4, earliest-driver, oldest-deps(PR Fix symbol visibility and add checks #1526)tests/linear_programming/test_incumbent_callbacks.py::test_incumbent_get_set_callback[/mip/swath1.mps]Analysis
The test fixes
CUOPT_TIME_LIMIT = 10and asserts a feasible/optimal termination (test_incumbent_callbacks.py:83, :90). On the slowest matrix entry (oldest-deps, earliest-driver, CUDA 12.2.2, L4)swath1.mpsdoes not reach a feasible solution within 10s, so the solver returnsTimeLimitand the assertion fails. Appears environment/timing-sensitive rather than a solver correctness bug.Possible fixes
TimeLimitgracefully (skip/soft-pass when no incumbent fired within the limit), similar to the existing root-node skip at test_incumbent_callbacks.py:98.Related (closed)
test_incumbent_callbacks(python) #1185)test_incumbent_callbacks(python) #1185 crash on test_incumbent_callbacks (closed, completed) — different failure mode (crash, not TimeLimit)