Originally posted by: Panos_N89
Thank you both for your useful answers!
So, in conclusion, it turns out that CPLEX presolve doesn't necessarily determine the constraints that form the feasible region, have I understood right?
Polymake seems a really nice suggestion and I am definitely going to use it to double-check results. However, for the time being I have to insist on CPLEX, since I know that a research organization has successfully used it to define critical constraints.
It is not that I actually know certain redundant constraints. What I really do is call CPLEX presolve for several LP problems and compare the results. Let's say, I have two LP's. What Presolve returns, looks like:
LP1, critical constraints: 11, 12, 13, 14
LP2, critical constraints: 13, 14, 15, 16
Well, these LP problems are just different expressions of the same system. Thus, they have to return identical results. As already described above, removing constraints 11, 12 and 15, 16 from LP1 and LP2 respectively has no effect on the solution of the problem.
Regarding what Thomas suggested in the second part of the answer, I am thinking of solving the presolved LP, each time removing one of the remaining constraints. If the solution is unchanged, then the removed constraint is redundant. Does this one sound right to you?
#CPLEXOptimizers#DecisionOptimization