def METHOD_NAME(self):
    """Test the outer approximation decomposition algorithm."""
    with SolverFactory('mindtpy') as opt:
        for model in model_list:
            model = model.clone()
            results = opt.solve(
                model,
                strategy='OA',
                init_strategy='rNLP',
                solution_pool=True,
                mip_solver=required_solvers[1],
                nlp_solver=required_solvers[0],
            )
            self.assertIn(
                results.solver.termination_condition,
                [TerminationCondition.optimal, TerminationCondition.feasible],
            )
            self.assertAlmostEqual(
                value(model.objective.expr), model.optimal_value, places=2
            )
            self.check_optimal_solution(model)