On Dantzig-Wolfe Decomposition in Integer Programming and ways to Perform Branching in a Branch-and-Price Algorithm

Dantzig-Wolfe decomposition as applied to an integer program is a specific form of problem reformulation that aims at providing a tighter linear programming relaxation bound. The reformulation gives rise to an integer master problem, whose typically large number of variables is dealt with implicitly by using an integer programming column generation procedure, also known as branch-and-price algorithm. There is a large class of integer programs that are well suited for this solution technique. In this paper, we propose to base the Dantzig-Wolfe decomposition of an integer program on the discretization of the integer polyhedron associated with a subsystem of constraints (as opposed to its convexification). This allows us to formulate the integrality restriction directly on the master variables and sets a theoretical framework for dealing with specific issues such as branching or the introduction of cutting planes in the master. We discuss specific branching schemes and their effect on the structure of the column generation subproblem. We give theoretical bounds on the complexity of the separation process and the extent of the modifications to the column generation subproblem. Our computational tests on the cutting stock problem and a generalisation--the cutting strip problem--show that, in practice, all fractional solutions can be eliminated using branching rules that preserve the tractability of the subproblem, but there is a trade-off. between branching efficiency and subproblem tractability.

[1]  John E. Beasley,et al.  OR-Library: Distributing Test Problems by Electronic Mail , 1990 .

[2]  R. Gomory,et al.  A Linear Programming Approach to the Cutting-Stock Problem , 1961 .

[3]  Laurence A. Wolsey,et al.  Integer and Combinatorial Optimization , 1988, Wiley interscience series in discrete mathematics and optimization.

[4]  George L. Nemhauser,et al.  Min-cut clustering , 1993, Math. Program..

[5]  R. Kipp Martin,et al.  Using separation algorithms to generate mixed integer model reformulations , 1991, Oper. Res. Lett..

[6]  Martin W. P. Savelsbergh,et al.  A Branch-and-Price Algorithm for the Generalized Assignment Problem , 1997, Oper. Res..

[7]  Odile Marcotte The cutting stock problem and integer rounding , 1985, Math. Program..

[8]  Jacques Desrosiers,et al.  A Unified Framework for Deterministic Time Constrained Vehicle Routing and Crew Scheduling Problems , 1998 .

[9]  George L. Nemhauser,et al.  Solving binary cutting stock problems by column generation and branch-and-bound , 1994, Comput. Optim. Appl..

[10]  George B. Dantzig,et al.  Decomposition Principle for Linear Programs , 1960 .

[11]  Martin W. P. Savelsbergh,et al.  Branch-and-Price: Column Generation for Solving Huge Integer Programs , 1998, Oper. Res..

[12]  R. Kipp Martin Generating Alternative Mixed-Integer Programming Models Using Variable Redefinition , 1987, Oper. Res..

[13]  Laurence A. Wolsey,et al.  Integer and Combinatorial Optimization , 1988 .

[14]  Ralph E. Gomory,et al.  A Linear Programming Approach to the Cutting Stock Problem---Part II , 1963 .

[15]  José M. Valério de Carvalho,et al.  Exact solution of bin-packing problems using column generation and branch-and-bound , 1999, Ann. Oper. Res..

[16]  Laurence A. Wolsey,et al.  Optimal Placement of Add/Drop Multiplexers: Heuristic and Exact Algorithms , 1998, Oper. Res..

[17]  Jacques Desrosiers,et al.  Time Constrained Routing and Scheduling , 1992 .

[18]  Paolo Toth,et al.  Knapsack Problems: Algorithms and Computer Implementations , 1990 .

[19]  Laurence A. Wolsey,et al.  An exact algorithm for IP column generation , 1994, Oper. Res. Lett..