Trying to isolate presolve

34 views
Skip to first unread message

Sidharth Ghoshal

unread,
Aug 19, 2016, 12:59:09 AM8/19/16
to Gurobi Optimization
Hello,

I am given a system of constraints of the form $$ Ax <= b $$ and I want to remove redundant constraints as efficiently as possible, to get a reduced system, that I plan to use for something other than solving. 


What I was thinking was to do the following:
     For each constraint A_j <= b_j in Ax <= b. Maximize(A_j) in A*x <= b* (where A*, b* are missing row j) 
     if found to be bounded and if C is maximal objective value and C <= b_j then row A_j must necessarily be redundant
     So remove row A_j

I was going to use Optimize to run each individual Maximize step, but it seems presolve already has a technique of pulling out redundant inequalities. Is there a way to configure presolve to remove ALL redundant inequalities, and thus, use it to directly serve purpose instead of implementing what I sketched above^ (which will likely be slower than Gurobi's native techniques)?

Tobias Achterberg

unread,
Sep 15, 2016, 5:52:22 PM9/15/16
to gur...@googlegroups.com
Presolve is doing much more than just removing redundant rows. Thus, I am not
sure whether this would help for your purpose.

In the Python API you can use the "model.Presolve()" function to obtain a
presolved model.

Regards,

Tobias
Reply all
Reply to author
Forward
0 new messages