Browse the glossary using this index

Special | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | ALL

B

Benders Decomposition

Benders Decomposition solves mixed-integer programs by decomposing into master problem (integer variables) and subproblem (continuous variables). For each master solution, the subproblem checks feasibility and optimality, generating cuts added to the master problem. Types of cuts: (1) Optimality cuts - improve objective function bounds; (2) Feasibility cuts - eliminate infeasible master solutions. The algorithm iterates until convergence. Benders is particularly effective for problems with complicating integer variables - when fixing integers, the remaining problem is easy to solve. Modern accelerations include: multi-cut strategies, cut strengthening, and combinatorial Benders. Applications: facility location, network design, production planning, and two-stage stochastic programming (L-shaped method).

Entry link: Benders Decomposition

Binary (Boolean) Programming

Binary Programming is a special case of integer programming where decision variables are restricted to binary values: 0 or 1. These variables represent yes/no decisions such as: select a project or not, open a facility or not, assign a task or not. Binary variables are used in: knapsack problems, set covering, facility location, scheduling, and network design. Formulation often involves logical constraints using binary variables to model conditional relationships, implications, and disjunctions.

Entry link: Binary (Boolean) Programming

Branch and Bound

Branch and Bound is a systematic enumeration method for solving integer and combinatorial optimization problems. The algorithm works by: (1) Branching - partitioning the solution space into smaller subproblems by fixing variables; (2) Bounding - computing upper and lower bounds on the optimal solution for each subproblem using LP relaxations; (3) Pruning - eliminating subproblems that cannot contain better solutions than the current best. The process continues until all subproblems are either solved or pruned. Efficiency depends on branching strategy, bounding quality, and node selection rules.

Entry link: Branch and Bound

Branch-and-Cut

Branch-and-Cut combines branch-and-bound with cutting plane methods for solving integer programs. At each node of the branch-and-bound tree: (1) solve LP relaxation; (2) if fractional, generate and add cuts to strengthen bounds; (3) if still fractional, branch on fractional variable; (4) prune nodes using bounds and cuts. This synergy is more powerful than either method alone - cuts improve bounds throughout the tree, reducing enumeration. Modern implementations include: cut pools, cut selection strategies, branching rules, and preprocessing techniques. Branch-and-cut is the core technology in commercial solvers (CPLEX, Gurobi, SCIP) and has enabled solving previously intractable large-scale integer programs in routing, scheduling, and logistics.

Entry link: Branch-and-Cut