USING BRANCH-AND-PRICE-AND-CUT TO SOLVE ORIGIN- DESTINATION INTEGER MULTICOMMODITY FLOW PROBLEMS CYNTHIA BARNHART Massachusetts Institute of Technology, Center for Transportation Studies, Cambridge, Massachusetts 02139, cbarnhar@mit.edu CHRISTOPHER A. HANE CAPS Logistics, Atlanta, Georgia 30334, chane@baan.com PAMELA H. VANCE Auburn University, Industrial and Systems Engineering, Auburn, Alabama 36849, Pamela_Vance@bus.emory.edu (Received July 1996; revisions received May 1997, February 1998; accepted July 1998) We present a column-generation model and branch-and-price-and-cut algorithm for origin-destination integer multicommodity flow problems. The origin-destination integer multicommodity flow problem is a constrained version of the linear multicommodity flow problem in which flow of a commodity (defined in this case by an origin-destination pair) may use only one path from origin to destination. Branch-and-price-and-cut is a variant of branch-and-bound, with bounds provided by solving linear programs using column-and-cut generation at nodes of the branch-and-bound tree. Because our model contains one variable for each origin- destination path, for every commodity, the linear programming relaxations at nodes of the branch-and-bound tree are solved using column generation, i.e., implicit pricing of nonbasic variables to generate new columns or to prove LP optimality. We devise a new branching rule that allows columns to be generated efficiently at each node of the branch-and-bound tree. Then, we describe cuts (cover inequalities) that can be generated at each node of the branch-and-bound tree. These cuts help to strengthen the linear programming relaxation and to mitigate the effects of problem symmetry. We detail the implementation of our combined column- and-cut generation method and present computational results for a set of test problems arising from telecommunications applica- tions. We illustrate the value of our branching rule when used to find a heuristic solution and compare branch-and-price and branch-and-price-and-cut methods to find optimal solutions for highly capacitated problems. 1. INTRODUCTION Linear multicommodity flow problems are linear programs (LPs) that can be characterized by a set of commodities and an underlying network. The objective is to flow the commodities through the network at minimum cost with- out exceeding arc capacities. A comprehensive survey of linear multicommodity flow models and solution proce- dures was presented in Ahuja et al. (1993). In this paper, we consider an origin-destination inte- ger multicommodity flow (ODIMCF) problem, a con- strained version of the linear multicommodity flow problem in which flow of a commodity (defined in this case by an origin-destination pair) may use only one path from origin to destination. ODIMCF problems are preva- lent in a number of application contexts, including trans- portation, communication, and production. Example applications include: 1. Bandwidth packing problems require that bandwidth be allocated in telecommunications networks to maximize total revenue. The demands, or calls, on the networks are the commodities and the objective is to route the calls from their origin to their destination. In the case of video teleconferencing, call splitting is not allowed, and so each call must be routed on exactly one network path. 2. Package flow problems, such as those arising in express package delivery operations, require that shipments, each with a specific origin and destination, be routed over a transportation network. Each set of packages with a common origin-destination pair can be consid- ered as a commodity and often must be assigned to a single network path to facilitate operations and ensure customer satisfaction. We present a column-generation model for the class of integer multicommodity flow problems described above and a branch-and-bound solution approach involving col- umn and row generation. Column-generation models, such as those presented in Ahuja et al. (1993), Barnhart et al. (1995a), and Jones et al. (1993), have been used exten- sively in modeling and solving large versions of the linear MCF problem. In column generation, sets of columns are left out of the LP because there are too many columns to handle efficiently, and most of them will have their associ- ated variable equal to zero in an optimal solution. Then to check the optimality of an LP solution, a subproblem called the pricing problem, which is a separation problem for the dual LP, is solved to try to identify columns to enter the basis. If such columns are found, the LP is reoptimized. Subject classifications: Networks/graphs: multicommodity. Programming, integer: branch-and-bound. Programming, linear: column generation. Area of review: OPTIMIZATION 318 Operations Research, 2000 INFORMS 0030-364X/00/4802-0318 $05.00 Vol. 48, No. 2, March–April 2000, pp. 318 –326 1526-5463 electronic ISSN