(function from pyomo.contrib.gdpopt.solve_discrete_problem)
pyomo.contrib.gdpopt.solve_discrete_problem
Distinguish between an infeasible or unbounded solution.
Linear solvers will sometimes tell me that a problem is infeasible or unbounded during presolve, but not distinguish between the two cases. We address this by solving again with a solver option flag on.