Cutting planes for branch‐and‐price algorithms

10
Cutting Planes for Branch-and-Price Algorithms Guy Desaulniers Department of Mathematics and Industrial Engineering, École Polytechnique and GERAD, Canada Jacques Desrosiers Department of Management Sciences, HEC Montréal and GERAD, Canada Simon Spoorendonk Department of Engineering Management, Technical University of Denmark, Denmark This article presents a general framework for formulating cutting planes in the context of column generation for integer programs. Valid inequalities can be derived using the variables of an equivalent compact formulation (i.e., the subproblem variables) or the master problem vari- ables. In the first case, cuts are added to the compact formulation, either at the master level or the subprob- lem level, and the decomposition process is reapplied. In the second case, we show that it is possible to model inequalities defined on the master problem variables by adding new variables and constraints to the subprob- lem formulation. The augmented subproblem indirectly indicates that there exists an augmented compact formu- lation that includes these new variables and constraints. Three examples on how to apply this framework are pre- sented: the vehicle routing problem with time windows, the edge coloring problem, and the cutting stock prob- lem. © 2011 Wiley Periodicals, Inc. NETWORKS, Vol. 58(4), 301–310 2011 Keywords: integer programming, cutting planes, column gener- ation, Dantzig-Wolfe decomposition 1. INTRODUCTION Branch-and-price (i.e., column generation embedded into a branch-and-bound scheme) is already established as one of the leading solution methodologies for many large-scale integer programming problems (see Refs. [2] and [16]). Branch-and-price algorithms have been particularly success- ful at solving problems with an underlying network structure such as vehicle routing and crew scheduling problems (see, e.g., Refs. [1] and [8]). For a majority of these problems, the natural column generation decomposition leads to a Received September 2009; accepted February 2011 Correspondence to: G. Desaulniers; e-mail: [email protected] DOI 10.1002/net.20471 Published online 29 October 2011 in Wiley Online Library (wileyonlinelibrary.com). © 2011 Wiley Periodicals, Inc. set partitioning master problem and resource constrained shortest path problems as subproblems. The use of cutting planes in branch-and-price algorithms has recently received increasing attention but has mostly been limited to specialized implementations. This article presents a generic framework for handling cutting planes in these algo- rithms. This framework clearly highlights how to deal with cuts written in terms of the variables of an original com- pact formulation (or of the subproblem) or in terms of the variables of the column generation master problem. Because any branching decision can be expressed as a cutting plane, this framework also encompasses the treatment of branching decisions that is not explicitly addressed here. On the one hand, within a Dantzig-Wolfe decomposition solution process (see Ref. [7]), there are many examples of cutting planes defined on the original variables of a compact formulation, among these, the classical subtour elimina- tion constraints and the two-path cuts for vehicle routing applications. On the other hand, one can find an early example of cut- ting planes defined on the master problem variables in a column generation method for the edge coloring problem (see Ref. [17]). The treatment of these inequalities complex- ifies the subproblem which is then solved by branch-and- bound. Other examples are found in Belov and Scheithauer [3, 4] for various cutting stock problems. In the first paper, Chvátal-Gomory cuts of any rank are used for the one- dimensional cutting stock problem and the multiple length one-dimensional cutting stock problem. In the second, both Chvátal-Gomory cuts and Gomory mixed integer cuts are used for the one-dimensional cutting stock problem and the two-dimensional two-stage cutting problem. Cuts are added to the master problem and the subproblem is solved with a branch-and-bound algorithm using an approximation algorithm to calculate lower bounds. Another example for the vehicle routing problem with time windows (VRPTW) appears in Jepsen et al. [14], where NETWORKS—2011—DOI 10.1002/net

Transcript of Cutting planes for branch‐and‐price algorithms

Cutting Planes for Branch-and-Price Algorithms

Guy DesaulniersDepartment of Mathematics and Industrial Engineering, École Polytechnique and GERAD, Canada

Jacques DesrosiersDepartment of Management Sciences, HEC Montréal and GERAD, Canada

Simon SpoorendonkDepartment of Engineering Management, Technical University of Denmark, Denmark

This article presents a general framework for formulatingcutting planes in the context of column generation forinteger programs. Valid inequalities can be derived usingthe variables of an equivalent compact formulation (i.e.,the subproblem variables) or the master problem vari-ables. In the first case, cuts are added to the compactformulation, either at the master level or the subprob-lem level, and the decomposition process is reapplied.In the second case, we show that it is possible to modelinequalities defined on the master problem variables byadding new variables and constraints to the subprob-lem formulation. The augmented subproblem indirectlyindicates that there exists an augmented compact formu-lation that includes these new variables and constraints.Three examples on how to apply this framework are pre-sented: the vehicle routing problem with time windows,the edge coloring problem, and the cutting stock prob-lem. © 2011 Wiley Periodicals, Inc. NETWORKS, Vol. 58(4),301–310 2011

Keywords: integer programming, cutting planes, column gener-ation, Dantzig-Wolfe decomposition

1. INTRODUCTION

Branch-and-price (i.e., column generation embedded intoa branch-and-bound scheme) is already established as oneof the leading solution methodologies for many large-scaleinteger programming problems (see Refs. [2] and [16]).Branch-and-price algorithms have been particularly success-ful at solving problems with an underlying network structuresuch as vehicle routing and crew scheduling problems (see,e.g., Refs. [1] and [8]). For a majority of these problems,the natural column generation decomposition leads to a

Received September 2009; accepted February 2011Correspondence to: G. Desaulniers; e-mail: [email protected] 10.1002/net.20471Published online 29 October 2011 in Wiley Online Library(wileyonlinelibrary.com).© 2011 Wiley Periodicals, Inc.

set partitioning master problem and resource constrainedshortest path problems as subproblems.

The use of cutting planes in branch-and-price algorithmshas recently received increasing attention but has mostly beenlimited to specialized implementations. This article presentsa generic framework for handling cutting planes in these algo-rithms. This framework clearly highlights how to deal withcuts written in terms of the variables of an original com-pact formulation (or of the subproblem) or in terms of thevariables of the column generation master problem. Becauseany branching decision can be expressed as a cutting plane,this framework also encompasses the treatment of branchingdecisions that is not explicitly addressed here.

On the one hand, within a Dantzig-Wolfe decompositionsolution process (see Ref. [7]), there are many examples ofcutting planes defined on the original variables of a compactformulation, among these, the classical subtour elimina-tion constraints and the two-path cuts for vehicle routingapplications.

On the other hand, one can find an early example of cut-ting planes defined on the master problem variables in acolumn generation method for the edge coloring problem(see Ref. [17]). The treatment of these inequalities complex-ifies the subproblem which is then solved by branch-and-bound. Other examples are found in Belov and Scheithauer[3, 4] for various cutting stock problems. In the first paper,Chvátal-Gomory cuts of any rank are used for the one-dimensional cutting stock problem and the multiple lengthone-dimensional cutting stock problem. In the second, bothChvátal-Gomory cuts and Gomory mixed integer cuts areused for the one-dimensional cutting stock problem andthe two-dimensional two-stage cutting problem. Cuts areadded to the master problem and the subproblem is solvedwith a branch-and-bound algorithm using an approximationalgorithm to calculate lower bounds.

Another example for the vehicle routing problem withtime windows (VRPTW) appears in Jepsen et al. [14], where

NETWORKS—2011—DOI 10.1002/net

subset row inequalities, a subset of the Chvátal-Gomoryrank-1 cuts, derived from a set partitioning master problemformulation were successfully applied. This work was laterextended in Petersen et al. [18] to include all Chvátal-Gomoryrank-1 cuts. In both papers, it is shown that the additionalcutting planes lead to an augmentation of the subproblem. Tobe more specific, the subproblem is a resource constrainedshortest path problem and one additional resource is addedfor each cut. The augmented subproblem indirectly indicatesthat there exists an augmented compact formulation of theVRPTW that includes the cuts defined on the integer mas-ter problem formulation. In Spoorendonk and Desaulniers[20], clique inequalities are applied for the VRPTW, yieldingadditional resources to handle in the dynamic programminglabeling algorithm used to solve the subproblem. Finally,using column generation and subset row inequalities to derivea lower bound, as well as variable elimination by reducedcost to reduce the size of a set partitioning formulation of theVRPTW, Baldacci et al. [1] were able to solve all well-knownSolomon’s benchmark instances except one, outperformingall the other algorithms previously published.

The main contribution of this article is the introduction of ageneric framework for dealing with cutting planes in branch-and-price algorithms. In particular, it unifies the treatment ofthe cuts defined on the column generation master problemvariables.

The article is organized as follows: Sections 2 and 3 brieflyreview the branch-and-price method and the Dantzig-Wolfereformulation of an integer program. They also establish thenotation used throughout the remainder of the text. Section4 presents the generic framework that describes how to treatcuts defined in terms of the original variables of a compactformulation or in terms of the variables of the master prob-lem reformulation. This section also considers cuts in thecontext of Lagrangian relaxation. In Section 5, we presentthree applications on how to apply and interpret the proposedframework. In the first one, the vehicle routing problem withtime windows, both types of cuts are presented, that is, cutsusing the flow variables and the path variables. In the sec-ond application, the edge coloring problem, master problemmatching variables are used to construct the odd circuit cuts.Finally, in the cutting stock problem, we describe cuts usingthe master problem pattern variables. Our conclusions followin the last section.

2. BRANCH-AND-PRICE

This section briefly recalls the main concepts of a branch-and-price method that can be used for solving integer linearprograms (see Ref. [16]). Let us call the following integerlinear program the integer master problem (IMP):

min∑j∈J

cjλj

subject to∑j∈J

ajλj ≥ b

λ ∈ Z|J|+ , (1)

where J is a finite set of indices, (cj)j∈J , are scalars, (aj)j∈J

and b are vectors of scalars, and λ = (λj)j∈J is the vector ofthe decision variables. In a branch-and-price algorithm, thelinear relaxation of IMP is solved by a column generationmethod. In each iteration of this method, we consider a sub-set J ′ ⊆ J of columns, yielding a restricted master problem(RMP) that is solved first. Like in the primal simplex algo-rithm, to determine if the computed solution is optimal, weperform a pricing step, that is, we look for a nonbasic vari-able (a column [c, a]) with a negative reduced cost. Whenevery column in J is associated with a given element x of anonempty domain X and the cost and coefficients of a columnare computed according to the corresponding element x ∈ X,that is, c = c(x) and a = a(x), respectively, this pricing stepcorresponds to solving the subproblem

c̄� := minx∈X

{c(x) − πa(x)} (2)

where π ≥ 0 is the vector of the dual variables of the RMPconstraints. If c̄� ≥ 0, no negative reduced cost columns existand the current solution λ ∈ R

|J|+ of the RMP is also optimal

for the linear relaxation of IMP. Otherwise, we add to RMPa column derived from the subproblem’s solution, and start anew iteration with the RMP reoptimization.

Column vectors a = a(x), x ∈ X, often encode combina-torial objects like paths, sets, or permutations. The cost of acolumn is naturally defined on these objects, i.e., c = c(x).Functions c(x) and a(x) may be linear functions, as in aDantzig-Wolfe reformulation of an integer linear problem(see the next section), but c(x) is typically nonlinear inmany situations: quadratic weighted distance functions forthe multisource Weber localization problem, discontinuouspiecewise linear functions for bus driver schedules, non con-vex functions for aircrew rotations, etc. This may increasethe difficulty in solving such nonlinear pricing problemsbut it ends up with a simple scalar cost coefficient in IMP.To find a solution to IMP in a branch-and-price algorithm,the column generation method is embedded into a branch-and-bound search tree. Cuts (and branching decisions) cantherefore be defined on both the master problem λ variablesor the subproblem x variables (see Section 4).

3. DECOMPOSITION OF AN INTEGER PROGRAM

Column generation is often related to the application ofthe Dantzig-Wolfe decomposition of large-scale integer pro-grams. Following is a short presentation of the commonreformulation used in the Dantzig-Wolfe decomposition of aninteger linear program, that is, the convexification approach.Again, this section is presented in the line of Lübbecke andDesrosiers [16] where one can also find the discretizationapproach. Assume that we are optimizing over a discreteset X and let the following model be the original compactformulation:

min cx

subject to Ax ≥ b

x ∈ X, (3)

302 NETWORKS—2011—DOI 10.1002/net

where c and b are vectors of scalars, A is a matrix of scalars,and x is the vector of variables. We consider the case of aninteger linear program where X = S ∩ Zn+ and S ⊆ Rn is apolyhedron. We assume that this integer program has a finiteoptimal value and that there is only one domain X .

Replacing X by conv(X) in (3) does not change its opti-mal value. Therefore we can write x ∈ conv(X) as a convexcombination of the extreme points {xp}p∈P of conv(X) plus anon-negative combination of its extreme rays {xr}r∈R, i.e.,

x =∑p∈P

xpλp +∑r∈R

xrλr ,∑p∈P

λp = 1, λ ∈ R|P|+|R|+ ,

(4)

where the index sets P and R are finite. Substituting for xin (3) and applying the linear transformations cj = cxj andaj = Axj, j ∈ P ∪ R, we obtain an equivalent extended for-mulation, that is, an IMP reformulation where the integralityrequirements are still on the x variables:

min∑p∈P

cpλp +∑r∈R

crλr

subject to∑p∈P

apλp +∑r∈R

arλr ≥ b

∑p∈P

λp = 1

λ ≥ 0

x =∑p∈P

xpλp +∑r∈R

xrλr

x ∈ Zn+. (5)

The first set of constraints are referred to as the coupling con-straints while the following one is the convexity constraint.This extended formulation can be solved by branch-and-price. In the RMP obtained from the linear relaxation of (5),there is no need to link x and λ. Still, to get an optimal inte-ger solution, we may have to impose additional constraints(cuts or branching decisions) on the x variables. Such a con-straint appear in the compact formulation (3), at the level ofthe master problem (Ax ≥ b) or of the subproblem (x ∈ X)(see Section 4.1).

Let π ≥ 0 and π0 be the dual variables associated withthe coupling constraints and the convexity constraint, respec-tively, of the RMP. For this reformulation, the subproblem(2) consists of computing minj∈P∪R{cj − πaj − π0}. By ourprevious linear transformations, this is equivalent to finding

c̄� := −π0 + minx∈X

{cx − πAx}. (6)

Once the subproblem is solved, the optimality test is per-formed as follows. If c̄� ≥ 0, the column generation algorithmterminates because no negative reduced cost columns exist.If c̄� < 0 and finite, the optimal value c̄� is achieved at anextreme point xp of X that identifies a negative reduced costcolumn [cxp, (Axp), 1] to add to the RMP. Otherwise, (6) isunbounded as indicated by an extreme ray xr of X that pro-vides a column [cxr , (Axr), 0] to add to the RMP. Note that

compared to pricing problem (2), the cost and column coef-ficients in the above subproblem (6) are linear functions ofx, that is, c(x) = cx and a(x) = Ax.

When X ⊆ [0, 1]n, all integral points in the set X areextreme points of conv(X). Only binary λp, p ∈ P, in (5)make sense and therefore x ∈ {0, 1}n ⇐⇒ λ ∈ {0, 1}|P|.Many large-scale applications belong to this class, in par-ticular, many decomposition approaches that give rise to setpartitioning formulations.

4. CUTTING PLANES

In the original compact formulation (3) and its refor-mulation (5), integrality requirements are imposed on thex variables. Therefore cutting planes can be defined usingthese original variables. In formulation (1) of an IMP solvedby branch-and-price as well as when binary (or integer) con-ditions can also be imposed on the λ variables, it is alsonatural to define cutting planes based on these variables. Inthe following, we investigate both types of cutting planesand examine their impacts on the master problem and on thesubproblem. Cutting plane examples are given in Section 5.

4.1. Cutting Planes Defined on the x Variables

Consider the set of cutting planes Fx ≥ dx for the compactformulation (3) such that we now have the following enlargedsystem:

min cx

subject to Ax ≥ b

Fx ≥ dx

x ∈ X. (7)

We consider two cases for the reformulation: the cuttingplanes Fx ≥ dx are integrated at the master problem level(Ax ≥ b) or at the subproblem level (x ∈ X). In the firstcase, a new set of constraints is added to the master problemfor the reformulation:∑

p∈P

fpλp +∑r∈R

frλr ≥ dx (8)

with the linear transformations fp = Fxp for p ∈ P and fr =Fxr for r ∈ R. Given α ≥ 0, the dual variables associatedwith (8), subproblem (6) is slightly modified and becomes

c̄� := −π0 + minx∈X

{cx − πAx − αFx}. (9)

In the second case where the cutting planes are integratedinto X, the domain is modified to XF = {x ∈ X|Fx ≥ dx}.The subproblem (6) becomes

c̄� := −π0 + minx∈XF

{cx − πAx}, (10)

and sets P and R in the master problem (5) are appropriatelyredefined as PF and RF .

NETWORKS—2011—DOI 10.1002/net 303

4.2. Cutting Planes Defined on the λ Variables

Assume an IMP of the form (1) and consider the followingcutting planes

∑j∈J gjλj ≥ dλ defined on the λ variables. The

enlarged IMP is given by

min∑j∈J

cjλj

subject to∑j∈J

ajλj ≥ b

∑j∈J

gjλj ≥ dλ

λ ∈ Z|J|+ , (11)

with dual variables β ≥ 0 for the cutting planes. A col-umn for (11) is given by [c, a, g]. Let the cut coefficients gbe calculated using functions taking vector a as argument,i.e.,g = g(a): these cuts are called rank-1 cutting planes.Subproblem (2) is then modified to

c̄� := minx∈X

{c(x) − πa(x) − βg(a(x))}. (12)

In (12), functions c(x), a(x), and g(a(x)) play a similar role,i.e., for a given x ∈ X , they compute the cost c of the newcolumn, its a-coefficients, and its g-coefficients for the cut-ting planes. When these functions are nonlinear, intermediatevariables c = c(x), a = a(x), and g = g(a) can be introducedinto the subproblem to compute these values:

c̄� := minx∈X

{c − πa − βg | c = c(x), a = a(x), g = g(a)}.(13)

As seen before, in a Dantzig-Wolfe reformulation of (3),both c(x) = cx and a(x) = Ax are linear functions. However,even in that context, functions g(Ax) can be arbitrary: theycan be linear functions g(Ax) = Fx as in Section 4.1 ornonlinear functions as for the Chvátal-Gomory rank-1 cutswhere floor functions are used (see Section 5). Assume nowthat c(x) = cx and a(x) = Ax are linear functions but notg(Ax), and rewrite subproblem (12) in the following way:

c̄� := minx∈X

{cx − πAx − βg | g = g(Ax)}. (14)

The introduction of intermediate variables g and nonlinearfunctions g(Ax) in the subproblem may increase its compu-tational complexity.

If we assume the existence of a compact formulation (3)(see Ref. [21]) and duplicate the intermediate variables g, thenwe can write an augmented compact formulation as follows:

min cxsubject to Ax ≥ b

g ≥ dλ

x ∈ X

g = g(Ax). (15)

Applying a Dantzig-Wolfe reformulation on (15) while keep-ing the cutting planes g ≥ dλ in the master problem and

g = g(Ax) in the subproblem, we obtain a new master prob-lem and a modified subproblem. To the master problem (5),we add the new set of linear constraints∑

p∈P

gpλp +∑r∈R

grλr ≥ dλ, (16)

which is equivalent to∑

j∈J gjλj ≥ dλ since J = P ∪ R.Regarding the modified subproblem, it reads as

c̄� := −π0 + minx∈X

{cx − πAx − βg | g = g(Ax)}, (17)

which is identical to (14).In the above paragraphs, we discussed the case of rank-1

cuts, that is, cuts that are derived from the coupling con-straints of the original system, that is,

∑j∈J ajλj ≥ b. In the

following, we show how this can be extended to the case ofrank-2 cuts whereupon it will be clear how to extend to cutsof any higher rank. Consider the enlarged IMP

min∑j∈J

cjλj

subject to∑j∈J

ajλj ≥ b

∑j∈J

g1jλj ≥ d1λ

∑j∈J

g2jλj ≥ d2λ

λ ∈ Z|J|+ , (18)

where the two added sets of constraints are rank-1 and rank-2cuts with the corresponding right-hand sides d1λ and d2λ, anddual variables β1, β2 ≥ 0, respectively. A column for (18) isgiven by [c, a, g1, g2]. Let the cut coefficients be g1 = g1(a)

and g2 = g2(a, g1), that is, functions for calculating the rank-2 cut coefficients depend on a and on rank-1 coefficients g1.Subproblem (2) is then modified to

c̄� := minx∈X

{c(x) − πa(x) − β1g1(a(x))

− β2g2(a(x), g1(a(x)))}, (19)

which, by introducing intermediate variables c, a, g1, and g2,can also be written as

c̄� := minx∈X

{c − πa − β1g1 − β2g2 | c = c(x),

a = a(x), g1 = g1(a), g2 = g2(a, g1)}. (20)

Repeating the procedure, we can observe that higher rankcuts depend on lower rank cuts to compute adequately thecut coefficients.

4.3. Cutting Planes in the Context of LagrangianRelaxation

Another approach to solving (3) is Lagrangian relaxation(see again Lübbecke and Desrosiers [16] for a short descrip-tion and properties). Such a relaxation, called the Lagrangiansubproblem, is obtained by relaxing constraints Ax ≥ b

304 NETWORKS—2011—DOI 10.1002/net

and penalizing their violation in the objective function viaLagrangian multipliers π ≥ 0 as follows:

L(π) := πb + minx∈X

{cx − πAx}. (21)

For any π ≥ 0, L(π) is a lower bound on the optimal valueof cx. The Lagrangian dual problem

L := maxπ≥0

L(π). (22)

consists of finding the best such bound, which is equal tothe one provided by the linear relaxation of the extendedformulation (5). To improve this lower bound, cutting planescan also be considered. However, to define cuts, one needsprimal solutions, obviously in x or in λ. One way to obtainprimal solutions is the following. Although one does not haveaccess to an IMP in a Lagrangian relaxation framework, it isalways possible to construct the master problem (5), solve it,retrieve the λ solution, and thereafter compute the value ofthe variables x = ∑

p∈P xpλp + ∑r∈R xrλr .

The solution of the linear relaxation of this master prob-lem can be obtained efficiently by considering points xp andrays xr already generated when solving the Lagrangian sub-problem (21). Moreover, given a near optimal dual solution,one can also use primal-dual stabilization tools utilized incolumn generation methods (see Ref. [6]), or a linear pro-gramming cross-over method in the case of an optimal dualsolution (see Ref. [5]). Therefore we can express the cut-ting planes in an augmented compact formulation: system(7) in the case of cuts defined in terms of the x variables,system (15) in the case of cuts defined in terms of the λ

variables and provided the function g(Ax), or a mixture ofboth types. The augmented formulation can then be solvedby Lagrangian relaxation with a possible improvement of thelower bound.

5. APPLICATIONS

This section shows some examples of how to interpretand use the theory presented above. For the first application,

the VRPTW, we present both types of cutting planes. Forthe two other applications, only cuts on the λ variables arepresented. These are odd circuit constraints for the edge col-oring problem and Chvátal-Gomory cuts of any rank for theone-dimensional cutting stock problem.

5.1. The Vehicle Routing Problem with Time Windows

The VRPTW is defined on a directed graph with nodeset N ∪ {s, t} and arc set A. It can be described as findinga set of least cost routes for a set of identical vehiclesoriginating from a single depot (split into two for modelingreasons with start at s and end at t) such that the set Nof customers is visited exactly once and the demand di ofcustomer i ∈ N is met. Furthermore, each customer i ∈ Nmust be visited within a time window [ei, li] and the load ofa vehicle must not exceed its capacity D. The cost and traveltime (including service time at one end node) for traversingthe arc (i, j) ∈ A are given as cij and τij, respectively. LetP be the set of feasible vehicle routes.

The IMP set partitioning formulation of the VRPTW isgiven by:

min∑p∈P

cpλp

subject to∑p∈P

apλp = 1

λ ∈ B|P|, (23)

where cp is the cost of route p ∈ P, ap ∈ B|N | is a binaryvector indicating the customer visited on route p, λp is abinary variable indicating the use of route p, and the couplingconstraints in (23) ensure that each customer is visited exactlyonce. Let δ−(i) ⊂ N ∪{s}\{i} and δ+(i) ⊂ N ∪{t}\{i} be thenodes connected to i by an ingoing or an outgoing arc of A,respectively. Given the generic solution set X(x0), x0 binary,presented below in (24), the routes in P correspond to integerpoints in X := X(1):

X(x0) =

x ∈ B|A|+|N |

∑j∈δ+(i)

xij − ∑j∈δ−(i)

xji =

x0, i = s0, ∀i ∈ N−x0, i = t∑

i∈Ndixi ≤ Dx0

t0 = 0

eixi ≤ ti ≤ lixi, ∀i ∈ N

xij(ti + τij − tj) ≤ 0, ∀(i, j) ∈ A

c = ∑(i,j)∈A cijxij

xi = ∑j∈δ+(i) xij, ∀i ∈ N .

(24)

NETWORKS—2011—DOI 10.1002/net 305

If x0 = 1, a vehicle route is constructed from s to t: thebinary variable xij indicates whether arc (i, j) is used or not,the binary assignment variable xi takes value 1 if customeri ∈ N is visited, ti specifies the visiting time in node i if vis-ited, and c provides the cost of the route. Otherwise x0 = 0,and all flow, assignment, cost, and time values vanish. In (24),the first set of constraints gives flow path constraints froms to t. The second set is the vehicle capacity, and the nexttwo sets of constraints are the time constraints. The nonlin-ear constraints link flow and time variables; they also actas subtour elimination constraints to impose an elementarypath structure. For a given route x ∈ X , the cost value isgiven by c(x) = c = cx = ∑

(i,j)∈A cijxij and the binaryassignment vector a = (ai(x))i∈N in (23) is computed usingai(x) = xi = ∑

j∈δ+(i) xij, ∀i ∈ N .A compact formulation for the VRPTW uses the above

generic solution set, identical for all vehicles. It can be writtenas follows, where the index k ∈ K refers to a vehicle and xk

0indicates if that vehicle is used or not:

min∑k∈K

cxk

subject to∑k∈K

xki = 1, ∀i ∈ N

xk ∈ X(xk

0

), ∀k ∈ K

xk0 binary, ∀k ∈ K . (25)

The Dantzig-Wolfe reformulation of the compact formula-tion (25) results in the set partitioning formulation (23) (seeRef. [8]). Because all vehicles are identical, a single subprob-lem defined over X can be used. Let π ∈ R|N | be the vectorof dual variables for the visiting constraints in (23). Thenthis subproblem, an elementary shortest path problem withresource constraints (ESPPRC), is given by:

minx∈X

{cx −

∑i∈N

πixi

}. (26)

Subproblem (26) is commonly solved by dynamic program-ming algorithms (see, e.g., Refs. [10,13] and [19]). Resourcesare vehicle load and visiting time, and one binary resourceper customer that is required to control the number ofvisits.

Over the years, several branching and cutting decisionshave been devised on the x variables of the compact for-mulation to improve the lower bound provided by the linearrelaxation of the set partitioning formulation of various vehi-cle routing problems. To avoid the symmetry difficultiescaused by the permutation of the vehicle indices, these deci-sions are written in terms of the aggregated values

∑k∈K xk

ij,(i, j) ∈ A. Amongst these are the cuts on the number of vehi-cles and on the total cost (see Ref. [9]) which, in terms of the

x and the λ variables, read as follows for given right-handsides κ1 and κ2:∑

k∈K

∑j∈δ+(s)

xksj =

∑p∈P

λp ≥ κ1

∑k∈K

∑(i,j)∈A

cijxkij =

∑p∈P

cpλp ≥ κ2. (27)

Even though the above cut on the total cost may appear toosimple, in fact it possesses the general structure of any cutwritten as a weighted sum of the flow variables. For such cutsgiven by

∑k∈K

∑(i,j)∈A fvijxk

ij ≥ κv, for all v ∈ V , and the

associated vector of non-negative dual variables α ∈ R|V |− , the

corresponding cuts written in terms of the λ variables are:∑p∈P

fvpλp ≥ κv, ∀v ∈ V (28)

where, for a given route x ∈ X (identical for all vehicles), thecut coefficients are computed as fv(x) = ∑

(i,j)∈A fvijxij andthe modified subproblem given as

minx∈X

cx −

∑i∈N

πixi −∑v∈V

αv

∑(i,j)∈A

fvijxij

. (29)

Special cases of (28) are the generalized subtour eliminationconstraints∑k∈K

∑i∈S

∑j∈δ+(i)\S

xkij =

∑p∈P

fSpλp ≥ κS ,

∀S ⊂ N , 2 ≤ |S| ≤ |N | − 1, (30)

where, for a given route x ∈ X, cut coefficient is computed asfS(x) = ∑

j∈δ+(i)\S xij and κS is a lower bound on the numberof vehicles required to visit all nodes of S. Such cuts havebeen used by several authors to solve the classical vehiclerouting problem and its extension involving time windows(see Ref. [15]).

Regarding cuts defined on the λ variables, let � be aset of Chvátal-Gomory rank-1 cuts for (23) as presented inRef. [18]. Given the vector of multipliers uω ∈ [0, 1[|N |∩Q

|N |+

for cut ω ∈ �, these cutting planes are given as∑p∈P

�uωap λp ≤ �uω1 , ∀ω ∈ �, (31)

with the associated vector of dual variables β ∈ R|�|− . The

subset row inequalities considered in Ref. [14] are Chvátal-Gomory rank-1 cuts with exactly three nonzero multipliersequal to 1/2. Let uωi be the multiplier for customer i in cutω and let gω be an intermediate variable in the subproblemcalculating for column a the cut coefficient in (31) usingfunction gω(x) = �uωa(x) = �∑i∈N uωixi . The modifiedsubproblem can be written as:

minx∈X

{cx −

∑i∈N

πixi −∑ω∈�

βωgω gω =⌊∑

i∈N

uωixi

⌋, ∀ω ∈ �

}.

(32)

306 NETWORKS—2011—DOI 10.1002/net

Functions gω(x), ∀ω ∈ �, are nonlinear but observe that∑i∈N πixi and

∑i∈N uωixi, ω ∈ � are linear expressions that

are computed in the same way on any partial path. Indeed itis only on the last arc reaching the destination depot that oneneeds to use the nonlinear floor function.

Now assume that we have both types of cuts, that is, (28)and (31), such that the augmented set partitioning formulationreads as:

min∑p∈P

cpλp

subject to∑p∈P

apλp = 1

∑p∈P

fpλp ≥ dx

∑p∈P

gpλp ≤ dλ

λ ∈ B|P|, (33)

and the modified subproblem is given by:

minx∈X

cx −

∑i∈N

πixi −∑v∈V

αv

∑(i,j)∈A

fvijxij −∑ω∈�

βωgω gω

=⌊∑

i∈N

uωixi

⌋, ∀ω ∈ �

}. (34)

In this case, the augmented compact formulation writes as:

min∑k∈K

cxk

subject to∑k∈K

xki = 1, ∀i ∈ N∑

k∈K

∑(i,j)∈A

fvijxkij ≥ κv, ∀v ∈ V∑

k∈Kgk

ω ≤ �uω1 , ∀ω ∈ �

xk ∈ X(xk

0

), ∀k ∈ K

xk0 binary, ∀k ∈ K

gkω =

⌊∑i∈N

uωixki

⌋, ∀k ∈ K , ∀ω ∈ �.

(35)

The above formulation (35) has a block diagonal structureand, for any vehicle, subproblem (34) can still be regarded asan ESPPRC but with |�| additional resources. Let a partialpath at node i be represented by the following label

Li = [ni, �i, ti, (gωi)ω∈�, c̄i]

consisting of all the current resource consumptions of thepartial path from s to i, that is, ni ∈ B|N | is the vector givingthe number of visits at each node (0 or 1 due to path ele-mentarity), �i is the load on the vehicle, ti is the arrival time,

gωi, ω ∈ � is a Chvátal-Gomory rank-1 cut resource, andc̄i is the reduced cost. In dynamic programming algorithms,labels are extended from node to node via the connectingarc using resource extension functions (see, e.g., Refs. [8]and [12] for a detailed description). Extending label Li onarc (i, j) ∈ A, j �= t to create label Lj (if feasible consider-ing resource limits) can be done by the following extensionfunctions:

nj = ni + 1j

�j = �i + dj

tj = max{ti + τij, lj}gωj = gωi + uωi, ∀ω ∈ �

c̄j = c̄i + cij − πj −∑v∈V

αvfvij (36)

where 1j is the unitary vector with an entry 1 in row j, and0 otherwise. On the last arc (i, t) of a path, the extensionfunctions are slightly different and given as:

nt = ni

�t = �i

tt = ti + τit

gωt = �gωi ∀ω ∈ �

c̄t = c̄i + cit −∑v∈V

αvfvit −∑ω∈�

βωgωt . (37)

Functions in (36) and (37) are nondecreasing extension func-tions from node i to node j or node t in terms of ni, �i, ti,(gωi)ω∈�, and c̄i, and therefore the classical dominance rulebetween labels can be used to discard some of them (seeRefs. [8] and [18]) improved this rule in the case of Chvátal-Gomory rank-1 cut resources; their work is a generalization ofa dominance criterion proposed in Ref. [14] but is equivalentwhen considering only the subset row inequalities.

Additional cuts can be imposed on the VRPTW. Theclique inequalities for the set partitioning formulation (23),as presented by Spoorendonk and Desaulniers [20], can bemodelled in a similar fashion as the Chvátal-Gomory rank-1cuts. However, instead of one additional resource per cut, itis necessary to add up to |N | + 1 resources for each cliqueinequality to compute the cut coefficients. Although this num-ber is much smaller in practice, the subproblems involvingclique cut resources appear to be much harder than the sub-problems involving Chvátal-Gomory rank-1 cut resourceswhen the same number of cuts is applied in (23).

5.2. The Edge Coloring Problem

The edge coloring problem on the graph G = (V , E) isto find the minimum number of colors to color the graphsuch that no adjacent edges have the same color, i.e., no twoedges with a common end node can have the same color. Asolution can also be seen as a set of matchings with differentcolors where a matching is a set of edges that do not share

NETWORKS—2011—DOI 10.1002/net 307

any end points. Therefore the edge coloring problem is tofind a minimal cardinality covering with maximal matchings.Nemhauser and Park [17] formulate the following IMP setcovering problem

min∑j∈J

λj

subject to∑j∈J

ajλj ≥ 1

λ ∈ B|J|, (38)

where J is the set of matchings, aj = (aej)e∈E is a binaryvector specifying which edges of E are in matching j, λj

is a variable indicating if matching j is used in the optimalsolution, and the covering constraints ensure that each edgeis colored at least once. Let δ(S) ⊂ E for S ⊆ V be the edgeswith an endpoint in S and the other in V \S, and let E(S) ⊂ Efor S ⊆ V be the edges with both endpoints in S. Matchingsx = (xe)e∈E are given by the following set:

X =

x ∈ B|E|

∑e∈δ({i})

xe ≤ 1, ∀i ∈ V∑e∈E(S)

xe ≤ 12 (|S| − 1),

for all odd sets S ⊆ V

,

(39)

where xe takes value 1 if edge e is selected in the matchingand 0 otherwise, the first set of constraints ensures that, foreach node, a maximum of one of its incident edges is selected,and the second constraint set imposes that no adjacent edgesare chosen. Let π ∈ R

|E|+ be the dual variables of the covering

constraints in (38), and a = a(x) = x; then the subproblemreads as

minx∈X

{1 −

∑e∈E

πexe

}≡ max

x∈X

{∑e∈E

πexe

}. (40)

Nemhauser and Park [17] propose a set of valid inequali-ties for (38) denoted the odd circuit constraints. Let U ⊂ Vwhere |U| is odd, let E(U) be the set of edges with bothend points in U, and let C ⊆ E(U) such that the subgraphG′ = (U, C) is an odd sized circuit. An odd circuit constraintstates that at least three matchings must be used to cover theedges in circuit C. Such an inequality is given by∑

{j∈J|∑e∈C aej≥1}λj ≥ 3, for an odd circuit C. (41)

Let � be the index set of (41), and for ω ∈ �, let Cω be anodd circuit, and βω ≥ 0 the corresponding dual variable. Theset of odd circuit constraints can be written as∑

j∈J

gωjλj ≥ 3, ∀ω ∈ �, (42)

where gωj = 1 if∑

e∈Cωaej ≥ 1, and 0 otherwise. Given a

matching x ∈ X, this is equivalent to gω(a(x)) = gω(x) = 1if

∑e∈Cω

xe ≥ 1, and 0 otherwise. This is simply an indicatorfunction.

The modified subproblem involves the original binaryvariables xe, e ∈ E and new binary variables g = (gω)ω∈� toevaluate the indicator functions. Since both types of variableshave non-negative coefficients in the new objective function,that is, the dual values πe, e ∈ E and βω, ω ∈ �, the indicatorfunctions can be evaluated by using linear inequalities. Themodified subproblem becomes:

maxx∈X,g∈B|�|

∑e∈E

πexe +∑ω∈�

βωgω gω ≤∑e∈Cω

xe, ∀ω ∈ �

.

(43)

Nemhauser and Park [17] solve the modified subproblem (43)to optimality with a branch-and-cut algorithm based on linearprogramming relaxation.

5.3. The One-Dimensional Cutting Stock Problem

The one-dimensional cutting stock problem is to mini-mize the number of stocks of a given width L used to cut acertain number of items I of smaller width wi, i ∈ I . It canbe formulated using the well-known model of Gilmore andGomory [11]:

min∑p∈P

λp

subject to∑p∈P

apλp = b

λ ∈ Z|P|+ , (44)

where P is the set of cutting patterns, ap ∈ Z|I|+ is a vector

where entry i represents the number of items i ∈ I in cuttingpattern p ∈ P, b ∈ Z

|I|+ is a vector of demands for the items,

and λp is an integer variable counting the number of patternsp used. Let π ∈ R|I| be the dual variables of the demandconstraints in (44). Given w the vector of item widths, the setof cutting patterns is given by X = {x ∈ Z

|I|+ | wx ≤ L}, the

constraint coefficients of column a are computed by a(x) =x, and the pricing subproblem is equivalent to a knapsackproblem:

maxx∈X

{πx}. (45)

Belov and Scheithauer [3] apply Chvátal-Gomory cuts ofrank higher than or equal to one for the one-dimensional cut-ting stock problem. For rank r = 1, . . . , h, let �r be the set ofChvátal-Gomory rank-r cuts for the integer master problem(44). The cuts of a given rank depend on cuts of lower ranks,hence the coefficient of a variable is calculated as a recursivefunction.

For rank-r cuts, let gr(xp) = (grω(xp))ω∈�r be the vectorof coefficients of pattern p, and let dr = (drω)ω∈�r be theright-hand side vector. For a cut ω ∈ �h, let the Chvátal-Gomory multipliers be u1ω ∈ [0, 1[|I|∩Q

|I|+ and urω ∈] −

1, 1[�r ∩Q�r for r = 2, . . . , h. The recursion formulas ofgrω(xp) and drω are given by:

g1ω(xp) = �u1ωxp , d1ω = �u1ωb ,

308 NETWORKS—2011—DOI 10.1002/net

and for r = 2, . . . , h,

grω(xp) =u1ωxp +

r∑j=2

ujωgj−1(xp)

,

drω =u1ωb +

r∑j=2

ujωdj−1

.

Therefore, for r ≥ 1, Chvátal-Gomory rank-r cuts can beformulated as∑

p∈P

grω(xp)λp ≤ drω, ∀ω ∈ �r . (46)

Let βr ∈ R|�r |− be the vector of dual variables for these cuts.

Hence the modified subproblem for Chvátal-Gomory cuts upto rank h is given by maxx∈X{πx + ∑h

r=1 βrgr(x)}, that is,for h = 1, it reads as:

maxx∈X

πx +

∑ω∈�1

β1ω�u1ωx , (47)

while for h ≥ 2, it becomes:

maxx∈X

πx +

∑ω∈�1

β1ω �u1ωx

+h∑

r=2

∑ω∈�r

βrω

u1ωx +r∑

j=2

ujωgj−1(x)

. (48)

Belov and Scheithauer [3] solve this nonlinear subprob-lem using linear approximations within a branch-and-boundalgorithm. Alternatively, since the floor function y = �x canbe computed using the linear inequality y ≥ x −1+ε, y ∈ Z

for a sufficiently small value ε > 0, the modified subproblemcan be solved as an integer linear program.

It is also possible to model the above subproblem as aconstrained shortest path problem with a load resource forcalculating the accumulated width of items being cut in a pat-tern and an additional resource for each cut. This is done in asimilar fashion as for the Chvátal-Gomory rank-1 cuts for theVRPTW. However, it is imperative that the cut resources beupdated in increasing order of their rank due to the recursivenature of the coefficients.

6. CONCLUSIONS

In this article, we have presented a general framework forformulating cuts in the context of integer programming col-umn generation. The way to manage cutting planes derived onan equivalent compact formulation written in terms of x vari-ables is rather simple. It suffices to define the cuts either at themaster problem level or at the subproblem level, and to reap-ply the decomposition process with the modified structures.

Cutting planes defined on the λ variables of the integer masterproblem are more difficult. We have shown that they give riseto new variables and constraints in the subproblem. The intro-duction of intermediate variables and nonlinear functions inthe subproblem may increase its computational complexity,and one will always have to evaluate the trade-off betweenthe quality of the lower bound and the effort taken to achieveit. In this article, we have described three applications wheresuch a trade-off was worthwhile according to the computa-tional results presented in the papers by Jepsen et al. [14],Belov and Scheithauer [4], and Nemhauser and Park [17].

REFERENCES

[1] R. Baldacci, E. Bartolini, A. Mingozzi, and R. Roberti, Anexact solution framework for a broad class of vehicle routingproblems, Comput Manage Sci 7 (2010), 229–268.

[2] C. Barnhart, E.L. Johnson, G.L. Nemhauser, M.W.P. Savels-bergh, and P.H. Vance, Branch-and-price: Column generationfor solving huge integer programs, Oper Res 46 (1998),316–329.

[3] G. Belov and G. Scheithauer, A cutting plane algorithm forthe one-dimensional cutting stock problem with multiplelengths, Eur J Oper Res 141 (2002), 274–294.

[4] G. Belov and G. Scheithauer, A branch-and-cut-and-pricealgorithm for one-dimensional stock cutting and two-dimensional two-stage cutting, Eur J Oper Res 171 (2006),85–106.

[5] H. ben Amor, J. Desrosiers, and F. Soumis, Recovering anoptimal LP basis from an optimal dual solution, Oper ResLett 34 (2006), 569–576.

[6] H. ben Amor, J. Desrosiers, and A. Frangioni, On the choiceof explicit stabilizing terms in column generation, Discr ApplMathe 157 (2009), 1167–1184.

[7] G.B. Dantzig and P. Wolfe, Decomposition principle forlinear programs, Oper Res 8 (1960), 101–111.

[8] G. Desaulniers, J. Desrosiers, I. Ioachim, M.M. Solomon,F. Soumis, and D. Villeneuve, A unified framework fordeterministic time constrained vehicle routing and crewscheduling problems, Fleet management and logistics, T. G.Crainic and G. Laporte (Editors), Kluwer, New York, 1998,p. 57–93.

[9] J. Desrosiers, F. Soumis, and M. Desrochers, Routing withtime windows by column generation, Networks 14 (1984),545–565.

[10] D. Feillet, P. Dejax, M. Gendreau, and C. Gueguen, An exactalgorithm for the elementary shortest path problem withresource constraints: Application to some vehicle routingproblems, Networks 44 (2004), 216–229.

[11] P.C. Gilmore and R.E. Gomory, A linear programmingapproach to the cutting-stock problem, Oper Res 9 (1961),849–859.

[12] S. Irnich, Resource extension functions: Properties, inver-sion, and generalization to segments, OR Spectrum 30(2008), 113–148.

[13] S. Irnich and G. Desaulniers, Shortest path problems withresource constraints, Column generation, G. Desaulniers, J.Desrosiers, and M.M. Solomon (Editors), Springer, NewYork, NY, 2005, pp. 33–66.

NETWORKS—2011—DOI 10.1002/net 309

[14] M. Jepsen, B. Petersen, S. Spoorendonk, and D. Pisinger,Subset-row inequalities applied to the vehicle-routing prob-lem with time windows, Oper Res 56 (2008), 497–511.

[15] N. Kohl, J. Desrosiers, O.B.G. Madsen, M.M. Solomon, andF. Soumis, 2-Path cuts for the vehicle routing problem withtime windows, Transport Sci 33 (1999), 101–116.

[16] M.E. Lübbecke and J. Desrosiers, Selected topics in columngeneration, Oper Res 53 (2005), 1007–1023.

[17] G.L. Nemhauser and S. Park, A polyhedral approach to edgecoloring, Oper Res Lett 10 (1991), 315–322.

[18] B. Petersen, D. Pisinger, and S. Spoorendonk, Chvátal-Gomory rank-1 cuts used in a Dantzig-Wolfe decompositionof the vehicle routing problem with time windows, The

vehicle routing problem: Latest advances and new challenges,B. Golden, R. Raghavan, and E. Wasil (Editors), Springer,New York, NY, 2008, pp. 397–420.

[19] G. Righini and M. Salani, Symmetry helps: Bounded bi-directional dynamic programming for the elementary short-est path problem with resource constraints, Discr Optim 3(2006), 255–273.

[20] S. Spoorendonk and G. Desaulniers, Clique inequalitiesapplied to the vehicle routing problem with time windows,INFOR 48 (2010), 53–67.

[21] D. Villeneuve, J. Desrosiers, M.E. Lübbecke, and F. Soumis,On compact formulations for integer programs solved bycolumn generation, Ann Oper Res 139 (2005), 375–388.

310 NETWORKS—2011—DOI 10.1002/net