Originally posted by: SystemAdmin
Even though there exists the concept of a dual for a MIP, this is only of theoretical use. It has exponential size and is really not practical.
I guess you mainly want to answer the question "What prevents my model from improving the objective function?" when looking at an optimal solution. You can get some clue using the conflict refiner.
Assume you are solving
min c*x
s.t. A*x <= b
x >= 0
x_j integer for j \in I
and you get an optimal objective value c'. Then the following problem will be infeasible:
min c*x
s.t. A*x <= b
c*x <= c' - eps
x >= 0
x_j integer for j \in I
for a suitable small value eps. Now, if you run the conflict refiner on this infeasible model, it will extract a (hopefully) small subset of the model that already suffices to prove that no better solution than c' can exist.
Tobias
#CPLEXOptimizers#DecisionOptimization