I found that presolving is sometimes buggy.
For example, in the following problem, the presolved model has objective 0.0, and all its variables/constraints are removed, which is clearly not true.
A, b, c = np.ones((10, 5)), 10 * np.ones(10), np.ones(5)
ip = gp.Model()
x_var = ip.addMVar(n, lb = 0.0, ub = float('inf'), vtype = GRB.BINARY, name = 'x')
ip.addConstr(A @ x_var <= b)
ip.setObjective(c @ x_var, GRB.MAXIMIZE)
presolved = ip.presolve()
This problem is reproducible on both my PC and colab versions.
Please sign in to leave a comment.