(function from pyomo.contrib.gdpopt.create_oa_subproblems)
pyomo.contrib.gdpopt.create_oa_subproblems
Clone the original, and reclassify all the Disjuncts to Blocks. We’ll also call logical_to_disjunctive and bigm the disjunctive parts in case any of the indicator_vars are used in logical constraints and to make sure that the rest of the model is algebraic (assuming it was a proper GDP to begin with).