## Section: Scientific Foundations

### Dantzig-Wolfe decomposition and branch-and-price algorithms

An alternative to using LP bounds to prune the branch-and-bound tree
is to use bounds from *Lagrangian relaxation* . Lagrangian relaxation
consists in transforming some of the hard constraints of a problem into
soft constraints that can be violated with a given penalty. The idea is to
keep as hard constraints those that define a well-structured
combinatorial problem that is much easier to solve than the
original. In particular, one may want to relax linking constraints
without which the problem decomposes into much smaller and simpler
problems. The best bounds can then be obtained by properly adjusting the
penalty cost. Choosing the best set of penalties is itself an optimization problem:
the so-called *Lagrangian dual* . It can be reformulated as
a linear program with an exponential number of variables (that are
associated with the generators of the subproblem solution sets):
this is the so-called *Dantzig-Wolfe reformulation* . This large
LP can be solved using the revised simplex method while generating
its variables and associated columns in the course of the
optimization: this is the so-called *column generation*
procedure. If branch-and-bound enumeration is based on the
Dantzig-Wolfe reformulation of the problem, one must use column
generation at each node of the branch-and-bound tree giving rise to
the so-called *branch-and-price* algorithm.

Branch-and-price algorithms are more recent than branch-and-cut algorithms. Although column generation appeared in the 60's as a technique to handle linear programs with a huge number of variables [49] , [87] , its combination with branch-and-bound to solve integer programs was only developed in the 90's [54] (we did pioneering work on this subject [161] ). Branch-and-price proved to be very useful in solving many practical problems that were intractable by other means: crew and fleet assignment problems faced by airline companies [70] , [152] , vehicle routing problems in public and in fret transport systems [71] , cutting stock problems experienced in the paper, textile, or steel industry [141] , [154] , [156] , [160] , production planning problems [52] , [159] , and network design problems [148] , [40] are such examples. Branch-and-price has now become the reference method for problems well suited to decomposition and it is making its way in industry: for instance, decision aid software developed by consultant firms like Eurodecision (Paris) or Adopt (MontrĂ©al) rely on this approach. The use of this method in the practical context of challenging applications has revealed its limitation. Further developments are required to overcome these difficulties.

Indeed, using column generation in the context of integer
programming is not straightforward. The primary challenges
revolve around the convergence of the dual bound computations, the
enforcement of integrality restrictions and the combination with
dynamic cutting plane generation. A first step toward targeting
these difficulties was to clarify the underlying Dantzig-Wolfe
decomposition principle. While the standard view was to see
Dantzig-Wolfe decomposition as the linear programming formulation of
the Lagrangian dual [134] , we presented it as a
reformulation technique that gives rise to an integer master program
( [155] does this for the integer case, while
[153] extends this view to the mixed integer case).
Then, the integrality restrictions of the original formulation
translate into integrality restrictions in the reformulated problem
(this is the *discretization* approach). Our framework based on
the concept of generating sets facilitates the handling of branching
decisions (to enforce integrality) and adding cutting planes to the
formulation.

Natural applications for the Dantzig-Wolfe approach are problems whose constraint matrix has a block diagonal structure augmented with linking constraints, i.e. a constraint matrix A of the form

with K blocks B^{k} , k = 1, ..., K . Then, dualizing constraints
L decomposes the problem into K sub-problems of smaller
size. Moreover, if the K blocks are identical, the column
generation reformulation eliminates the symmetry in k and there is
only one pricing problem that needs to be solved during the column
generation algorithm (the same column being optimal for all K
subsystems). Beyond this standard application framework, open
questions concern the viability of applying the decomposition
principle recursively or to multiple independent subsystems. We
develop a first application of a nested decomposition in
[156] . A decomposition based on multiple independent
subsystems (not necessarily disjoint) should provide tighter bounds
according to the theory of Lagrangian decomposition
[98] . But, there is typically a large number of
dualized constraints linking the different systems and hence many
dual prices to adjust (therefore one expects slow convergence). To
our knowledge the literature does not report of any column
generation approach based on multiple subsystems capturing different
combinatorial structures. A recent study however comes close to such
multiple decomposition: [69] combines variable
redefinition applied to one subsystem and column generation applied
to another subsystem. The dual bounds that they obtained are shown
to be tighter than with alternative approaches but the computational
times are much larger.