def METHOD_NAME(self):
    """Test the global outer approximation decomposition algorithm."""
    with SolverFactory('mindtpy') as opt:
        for model in model_list:
            model = model.clone()
            results = opt.solve(
                model,
                strategy='GOA',
                mip_solver=required_solvers[1],
                nlp_solver=required_solvers[0],
                single_tree=True,
                use_tabu_list=True,
            )
            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)