Integer Programming with valid inequalities

149 Views Asked by At

This question is mainly geared toward Operations Research field.

I have a large Mixed Integer Program (MIP). I found a set of facet and valid inequalities which supposedly should make the LP relaxation tighter.

The problem I ran into is that my original MIP obtains the optimal solution in less computational time compared with MIP+ valid inequalities formulation. I did many experiments. I am speaking of large instances.

My guess is that adding these valid inequalities and facets make solving the LP more time consuming. Hence, it's defeating the purpose because MIP + valid inequalities now takes more time.

These inequalities have interesting theoretical properties and I don't want to give up due to their poor performance computationally.

I think my question is how I can get around it and make MIP + valid inequalities faster or justify them?

1

There are 1 best solutions below

2
On BEST ANSWER

I'm not sure you can (or should). Theoretical properties aside, the main purpose of valid inequalities is to tighten the LP bound so that the MIP solver both finds the optimal solution sooner (if you're lucky) and reaches provable optimality sooner (the main purpose). Some problems have inherently tight LP bounds, and those problems may not benefit from adding valid inequalities. Unless you are unsatisfied with your solution times without them, I doubt there's much to gain from using them.

If you are unsatisfied with solution times for the original model without the inequalities, and if you solver supports something like what CPLEX calls "lazy constraints", you could try adding the inequalities as lazy constraints. That might cause the solver to set the less promising ones aside at any given time and reduce the computational burden they add, while at the same time exploiting whatever tightening some of them provide. There's no guarantee that helps, though.