Originally posted by: SystemAdmin
No, the "<= 0" rows should not be an issue, even if presolve is disabled.
I suggest that you use the standard tactics to find out why a model is infeasible. Dump the infeasible model to an .sav file (or .lp if you like). Then load it into the interactive CPLEX and optimize (should turn out to be infeasible). Then enter "conflict" to run the conflict refiner and "disp conf all" to show the conflict that it has found. Maybe you can already see what is going wrong.
If the conflict is too big, you could try the following:
Write the conflict to a ".clp" file. Then read in the full model (which is feasible), solve it and dump the solution into a ".sol" file. Read in the ".clp" file again, change the problem type to "milp" ("change prob milp"), read the ".sol" file as MIP start, and enter "conflict 1" to analyze why the ".sol" solution is not feasible for the ".clp" problem.
In theory, your approach should work. Discarding all columns with zero solution value should not make the problem infeasible. Nevertheless, you may have encountered numerical issues. For example, if you have discarded a column with a value of 1e-9 that appears in a model with coefficients larger than 1e+3, this could trigger an infeasibility.
Tobias
#CPLEXOptimizers#DecisionOptimization