@@ -1829,15 +1829,6 @@ def _linear_presolve(self, comp_by_linear_var, lcon_by_linear_nnz, var_bounds):
1829
1829
if expr_info .linear [x ] == 0 :
1830
1830
nnz -= 1
1831
1831
coef = expr_info .linear .pop (x )
1832
- if not nnz :
1833
- if abs (expr_info .const ) > TOL :
1834
- # constraint is trivially infeasible
1835
- raise InfeasibleConstraintException (
1836
- "model contains a trivially infeasible constraint "
1837
- f"{ expr_info .const } == { coef } *{ var_map [x ]} "
1838
- )
1839
- # constraint is trivially feasible
1840
- eliminated_cons .add (con_id )
1841
1832
elif a :
1842
1833
expr_info .linear [x ] = c * a
1843
1834
# replacing _id with x... NNZ is not changing,
@@ -1847,6 +1838,15 @@ def _linear_presolve(self, comp_by_linear_var, lcon_by_linear_nnz, var_bounds):
1847
1838
continue
1848
1839
_old = lcon_by_linear_nnz [old_nnz ]
1849
1840
if con_id in _old :
1841
+ if not nnz :
1842
+ if abs (expr_info .const ) > TOL :
1843
+ # constraint is trivially infeasible
1844
+ raise InfeasibleConstraintException (
1845
+ "model contains a trivially infeasible constraint "
1846
+ f"{ expr_info .const } == { coef } *{ var_map [x ]} "
1847
+ )
1848
+ # constraint is trivially feasible
1849
+ eliminated_cons .add (con_id )
1850
1850
lcon_by_linear_nnz [nnz ][con_id ] = _old .pop (con_id )
1851
1851
# If variables were replaced by the variable that
1852
1852
# we are currently eliminating, then we need to update
0 commit comments