Description
test_modified_model[highs-*] fails on CI (master) across all platforms and Python versions. HiGHS returns a suboptimal solution for the modified MIP model.
The test creates a MILP:
- Binary variable
x (10 elements), continuous variable y (lower bound modified to 9)
- Constraint:
2*x + y >= 10
- Objective: minimize
2*x + y
The optimal solution is x=0, y=10 (cost 10), but HiGHS returns x=1, y=9 (cost 11).
Failing tests
FAILED test/test_optimization.py::test_modified_model[highs-lp-False]
FAILED test/test_optimization.py::test_modified_model[highs-lp-True]
FAILED test/test_optimization.py::test_modified_model[highs-lp-polars-False]
FAILED test/test_optimization.py::test_modified_model[highs-lp-polars-True]
FAILED test/test_optimization.py::test_modified_model[highs-mps-False]
FAILED test/test_optimization.py::test_modified_model[highs-mps-True]
FAILED test/test_optimization.py::test_modified_model[highs-direct-False]
Version dependency
- highspy 1.12.0 — test passes (local)
- highspy 1.14.0 — test fails (CI)
This is likely a regression in HiGHS 1.14.0 affecting MIP solving, or a change in how model modifications (updating y.lower, c.lhs, and m.objective after initial construction) are communicated to HiGHS.
Environment
- linopy: master (36bc106)
- CI: all platforms (ubuntu, macos, windows), Python 3.10–3.13
Description
test_modified_model[highs-*]fails on CI (master) across all platforms and Python versions. HiGHS returns a suboptimal solution for the modified MIP model.The test creates a MILP:
x(10 elements), continuous variabley(lower bound modified to 9)2*x + y >= 102*x + yThe optimal solution is
x=0, y=10(cost 10), but HiGHS returnsx=1, y=9(cost 11).Failing tests
Version dependency
This is likely a regression in HiGHS 1.14.0 affecting MIP solving, or a change in how model modifications (updating
y.lower,c.lhs, andm.objectiveafter initial construction) are communicated to HiGHS.Environment