An optimization algorithm that systematically explores a solution space by dividing it into subproblems and pruning branches that cannot contain better solutions.