BranchandBound
Branch and bound is a general algorithm design paradigm for solving discrete and combinatorial optimization problems. It systematically explores a search tree of subproblems and uses bounding to prune parts that cannot yield better solutions than the current best.
The method starts with an initial feasible solution to establish a bound. For a minimization problem, this
If the bound is worse than the current best, the subproblem is discarded. If it corresponds to
Common variants include branch-and-cut, which combines cutting planes with branching to tighten relaxations; branch-and-price, which uses
Applications include integer programming, the traveling salesman problem, knapsack problems, and scheduling. The approach is problem-dependent;