Branch and Bound Methods for Mathematical Programming Systems

Branch and Bound algorithms have been incorporated in many mathematical programming systems, enabling them to solve large nonconvex programming problems. These are usually formulated as linear programming problems with some variables being required to take integer values. But it is sometimes better to formulate problems in terms of Special Ordered Sets of variables of which either only one, or else only an adjacent pair, may take nonzero values. Algorithms for both types of formulation are reviewed. And a new technique, known as Linked Ordered Sets, is introduced to handle sums and products of functions of nonlinear variables in either the coefficients or the right hand sides of an otherwise linear, or integer, programming problem.