You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Unrestricted variables with Big-M report false infeasibility - Phase 1 of the simplex incorrectly treated negative-valued unrestricted basic variables as infeasibility violations, causing models with unrestricted variables and Big-M constraints (e.g., absolute value formulations |x| >= C) to return feasible: false or find suboptimal solutions. (#130)
Solver hangs on degenerate LPs - Both phases of the simplex could cycle indefinitely on problems with many redundant bound constraints. Phase 1 now detects non-convergence and falls back to Bland's rule with lazy matrix save/restore; phase 2 detects stalled objectives and terminates degenerate cycling. (#112)
Variable-name objectives return zero - When optimize names a variable directly (e.g., optimize: "x") rather than a coefficient attribute, the solver now correctly assigns an implicit cost of 1 to that variable. (#121)
Performance
B&B node pruning - Branch-and-bound now prunes nodes whose LP relaxation bound equals the best known integer solution, avoiding unnecessary LP re-solves on provably non-improving nodes. (#90)