MathOptPresolve.jl
MathOptPresolve.jl copied to clipboard
[RFC] Translate empty column rule and reduction to apply! syntax
This is mostly straightforward.
One open question: how should we handle unbounded columns with close-to-zero objective?
For instance: if a problem has an empty column with no lower bound and objective coeff of 1e-30, should we declare it dual infeasible?
Since empty columns are just empty rows in the dual, I would suggest to follow the same idea: we use a dual feasibility tolerance ϵ_d, and declare dual infeasibility if column j is empty, has no lower (resp. upper) bound and its objective is greater (resp. smaller) than ϵ_d (resp. -ϵ_d).
Obviously, using a "dual feasibility" tolerance for MIPs could raise some eyebrows.