+ All Categories
Home > Documents > A Branc - ISyE

A Branc - ISyE

Date post: 12-Nov-2021
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
23
Transcript
Page 1: A Branc - ISyE

A Branch�and�Price Algorithm for the

Generalized Assignment Problem

Martin Savelsbergh

Georgia Institute of Technology

School of Industrial and Systems Engineering

Atlanta� GA ����������

USA

Abstract

The generalized assignment problem examines the maximum pro�t assignment of

jobs to agents such that each job is assigned to precisely one agent subject to capacity

restrictions on the agents� A new algorithm for the generalized assignment problem

is presented that employs both column generation and branch�and�bound to obtain

optimal integer solutions to a set partitioning formulation of the problem�

July ����Revised November ����Revised October ����

� Introduction

The Generalized Assignment Problem �GAP� examines the maximum pro�t assignmentof n jobs to m agents such that each job is assigned to precisely one agent subject tocapacity restrictions on the agents Although interesting and useful in its own right itsmain importance stems from the fact that it appears as a substructure in many modelsdeveloped to solve real�world problems in areas such as vehicle routing plant locationresource scheduling and �exible manufacturing systems

The GAP is easily shown to be NP�hard and a considerable body of literature existson the search for e ective enumeration algorithms to solve problems of a reasonable sizeto optimality �Ross and Soland ���� Martello and Toth ���� Fisher Jaikumar and VanWassenhove ���� Guignard and Rosenwein ���� Karabakal Bean and Lohmann ����� Arecent survey by Cattrysse and Van Wassenhove ������ provides a comprehensive treatmentof most of these methods

In this paper we present an algorithm for the GAP that employs both column generationand branch�and�bound to obtain optimal integer solutions to a set partitioning formulationof the problem We discuss various branching strategies that allow column generation at any

Page 2: A Branc - ISyE

node in the branch�and�bound tree Therefore the algorithm can be viewed as a branch�

and�price algorithm that is similar in spirit to the branch�and�cut algorithms that allow rowgeneration at any node of the branch�and�bound tree

Many variations of the basic algorithm have been implemented using MINTO a MixedINTeger Optimizer �Nemhauser Savelsbergh and Sigismondi ����� MINTO is a softwaresystem that solves mixed�integer linear programs by a branch�and�bound algorithm withlinear programming relaxations It also provides automatic constraint classi�cation pre�processing primal heuristics and constraint generation Moreover the user can enrich thebasic algorithm by providing a variety of specialized application routines that can customizeMINTO to achieve maximum e�ciency for a problem class

This paper is organized as follows Section � introduces both the standard and the setpartitioning based formulation for the GAP Section � presents the basic branch�and�pricealgorithm and discusses issues related to column generation and branch�and�bound Section� examines the various branching strategies Section � covers various implementation issuesand Section � describes the computational experiments that have been conducted FinallySection � examines approximation algorithms derived from the branch�and�price algorithm

� Formulations

In the GAP the objective is to �nd a maximum pro�t assignment of n jobs to m agentssuch that each job is assigned to precisely one agent subject to capacity restrictions on theagents The standard integer programming formulation is the following

maxX

��i�m���j�n

pijxij

subject toX

��i�m

xij � � j � f�� ���� ng�

X

��j�n

wijxij � ci i � f�� ���� mg�

xij � f�� �g i � f�� ���� mg� j � f�� ���� ng�

where pij � ZZ� is the pro�t associated with assigning job j to agent i wij � ZZ� theclaim on the capacity of agent i by job j if it is assigned to agent i ci � ZZ� the capacityof agent i and xij a ��� variable indicating whether job j is assigned to agent i �xij � ��or not �xij � ��

Page 3: A Branc - ISyE

The formulation underlying the branch�and�price algorithm discussed in this has anexponential number of variables and can be viewed as a disaggregated version of the aboveformulation

Let Ki � fxi�� xi�� � � � � x

ikig be the set of all possible feasible assignments of jobs to agent

i ie xik � �xi�k� xi�k� ���� x

ink� is a feasible solution to

X

��j�n

wijxijk � ci

xijk � f�� �g j � f�� ���� ng�

Let yik for i � f�� ���� mg and k � Ki be a binary variable indicating whether a feasibleassignment xik is selected for agent i �yik � �� or not �yik � �� The GAP can now beformulated as

maxX

��i�m���k�ki

�X

��j�n

pijxijk�y

ik

subject toX

��i�m���k�ki

xijkyik � � j � f�� ���� ng�

X

��k�ki

yik � � i � f�� ���� mg�

yik � f�� �g i � f�� ���� mg� k � Ki�

where the �rst set of constraints enforces that each job is assigned to precisely one agentand the second set of constraints enforces that at most one feasible assignment is selectedfor each agent This set partitioning formulation has been used by Cattrysse Salomon andVan Wassenhove ������ to develop an approximation algorithm for the GAP

The ��� knapsack problem associated with agent i in the standard formulation ie

maxX

��j�n

pijxij

subject toX

��j�n

wijxij � ci�

xij � f�� �g j � f�� ���� ng�

Page 4: A Branc - ISyE

has been replaced in the disaggregated formulation by

maxX

��k�ki

�X

��j�n

pijxijk�y

ik

subject toX

��k�ki

yik � ��

where xi�� ���� xiki

are the integral solutions to the knapsack problem Because the linearprogramming relaxation of a ��� knapsack problem contains the convex hull of the integersolutions the LP relaxation of the disaggregated formulation provides a bound that is atleast as tight as the bound provided by the LP relaxation of the standard formulation

Observe that the disaggregated formulation is essentially obtained by applying Dantzig�Wolfe decomposition to the standard formulation where the knapsack constraints havebeen placed in the subproblem Consequently the value of the bound provided by the LPrelaxation of the disaggregated formulation is equal to the value of the Lagrangean dualobtained by dualizing the semi�assignment constraints ie

min�

maxX

��i�m���j�n

pijxij �X

��j�n

�j���X

��i�m

xij�

subject toX

��j�n

wijxij � ci j � f�� ���� ng�

xij � f�� �g i � f�� ���� mg� j � f�� ���� ng�

See for example Nemhauser and Wolsey ����� Section II��� for an exposition of therelation between Lagrangean relaxation and Dantzig�Wolfe decomposition The algorithmsof Fisher Jaikumar and Van Wassenhove ������ Guignard and Rosenwein ������ andKarabakal Bean and Lohmann ������ are based on bounds obtained by solving the aboveLagrangean dual

Our computational experiments will show that the branch�and�price algorithm discussedin this paper although in theory using the same bounds outperforms the optimizationalgorithms of Fisher Jaikumar and Van Wassenhove ������ Guignard and Rosenwein ������and Karabakal Bean and Lohmann ������ A plausible explanation for this phenomenonis the fact that the use of the simplex method provides much better convergence propertiesthan the use of subgradient and dual ascent methods for the solution of the Lagrangeandual

Page 5: A Branc - ISyE

Let y be any feasible solution to the LP�relaxation of the disaggregated formulation andlet zij �

P��k�ki x

ijky

ik then z constitutes a feasible solution to the LP�relaxation of the

standard formulation Furthermore we have the following

Proposition� If yik is fractional then there must be a j such that zij is fractional

Proof� Suppose there is no job j such that zij is fractional Let F � fk � Ki j � � yik � �gbe the set of fractional variables associated with agent i We may assume that jF j � �because if F � fpg then zij �

P��k�ki

xijkyik is fractional for every j with xijp � � Note

that the convexity constraint associated with agent i implies thatP

k�F yik � � ThereforePk�F x

ijky

ik �P

k�F yik � � for j � �� ���� n ConsequentlyP

k�F xijky

ik is either � or � for

j � �� ���� n IfP

k�F xijkyik � � then xijk � � for all k � F � if

Pk�F xijky

ik � � then xijk � �

for all k � F But that means that we have duplicate columns� a contradiction

� Branch�and�price algorithms

Column generation is a pricing scheme for solving large�scale linear programs �LPs� Insteadof pricing out nonbasic variables by enumeration in a column generation approach the mostnegative �or positive� reduced price is found by solving an optimization problem Gilmoreand Gomory ������ introduced the column generation approach in the context of cuttingstock problems In their case as in many other cases the linear program is a relaxation ofan integer program �IP� However when an LP relaxation is solved by column generationthe solution is not necessarily integral and it is not clear how to obtain an optimal oreven feasible integer solution to the IP since standard branch�and�bound techniques caninterfere with the column generation algorithm Recently various researchers have startedto develop customized branching strategies to handle these di�culties eg DesrochersDesrosiers and Solomon ������ for vehicle routing problems Desrochers and Soumis ������and Anbil Tanga and Johnson ������ for crew scheduling problems and Vance BarnhartJohnson and Nemhauser ������ for cutting stock problems

Consider the linear programming relaxation of the disaggregated formulation for theGAP This master problem cannot be solved directly due to the exponential number ofcolumns However a restricted master problem that considers only a subset of the columnscan be solved directly using for instance the simplex method Additional columns for therestricted master problem can be generated as needed by solving the pricing problem

max��i�m

fz�KPi�� vig�

where vi is the optimal dual price from the solution to the restricted master problem as�sociated with the convexity constraint of agent i and z�KPi� is the value of the optimal

Page 6: A Branc - ISyE

solution to the following knapsack problem

maxX

��j�n

�pij � uj�xij

subject toX

��j�n

wijxij � ci

xij � f�� �g j � f�� ���� ng

with uj being the optimal dual price from the solution to the restricted master problemassociated with the partitioning constraint of job j A column prices out favorably to enterthe basis if its reduced cost is positive Consequently if the objective value of the columngeneration subproblem is less than or equal to zero then the current optimal solution forthe restricted master problem is also optimal for the �unrestricted� master problem

However unless the yik �s are integer the solution to the master problem is not a solu�tion to the original IP In fact there may not even be a feasible integer solution among thecolumns present in the master problem However computational experiments have indi�cated that the value of the LP relaxation does provide a very tight bound on the value ofthe optimal IP solution

Applying a standard branch�and�bound procedure to the master problem with its exist�ing columns will not guarantee an optimal �or feasible� solution After branching it maybe the case that there exists a feasible assignment that would price out favorably but thisassignment is not present in the master problem Therefore to �nd an optimal solutionwe must generate columns after branching However suppose that we use the conventionalbranching rule based on variable dichotomy we branch on the fractional variable yik and weare in the branch in which yik is �xed to zero In the column generation phase it is possible�and quite likely� that the optimal solution to the subproblem will be the same assignmentrepresented by yik In that case it becomes necessary to generate the column with the �nd

highest reduced cost At depth n in the branch�and�bound tree we may need to �nd thecolumn with nth highest reduced cost

In order to prevent columns that have been branched on from being regenerated we mustchoose a branching rule that is compatible with the pricing problem By compatible wemean that we must be able to modify the subproblem so that columns that are infeasible dueto the branching constraints will not be generated and the column generation subproblemwill remain tractable

Page 7: A Branc - ISyE

� Branching strategies

The challenge in formulating a branching strategy is to �nd one that excludes the currentsolution validly partitions the solution space of the problem and provides a pricing problemthat is still tractable

We have indicated in Section � that any feasible solution to the disaggregated formula�tion has a corresponding feasible solution to the standard formulation and that if a solutionto the disaggregated formulation is fractional then the corresponding solution to the stan�dard formulation is also fractional

The idea now is to perform branching using the standard formulation while workingwith the disaggregated formulation Branching strategies for ��� linear programs are basedon �xing variables either a single variable �variable dichotomy� or a set of variables �GUBdichotomy� Therefore for our idea to work we have to show that �xing a single variableor �xing a set of variables in the standard formulation has an equivalent in the disaggre�gated formulation and that the resulting branching scheme is compatible with the pricingproblem

In the standard formulation �xing variable xij to zero forbids job j to be assignedto agent i and �xing variable xij to one requires job j to be assigned to agent i In thedisaggregated formulation this can be accomplished as follows To forbid a job j to beassigned to agent i all variables for columns associated with agent i that have a one in therow corresponding to job j are �xed to zero ie if xijk � � then yik � � for all k � Ki Torequire a job j to be assigned to agent i all variables for columns associated with agent ithat do not have a one in the row corresponding to job j are �xed to zero ie if xijk � �

then yik � � for all k � Ki and all variables for columns not associated with agent i thathave a one in the row corresponding to job j are �xed to zero ie if xljk � � then ylk � �for � � l �� i � m and k � Kl

It is not hard to see that the resulting branching scheme is also compatible with thepricing problem The pricing problem involves the solution of a knapsack problem for eachagent Forbidding the assignment of job j to agent i is accomplished by not considering job jin the knapsack for agent i and requiring the assignment of job j to agent i is accomplishedby not considering job j in the knapsack for agent i and reducing the capacity of knapsacki by the claim on its capacity by job j

� Implementation issues

��� Initial restricted master problem

To start the column generation procedure an initial restricted master problem has to beprovided This initial restricted master problem must have a feasible LP relaxation to

Page 8: A Branc - ISyE

ensure that proper dual information is passed to the pricing problem We have chosen tostart with one column for each agent corresponding to the optimal knapsack solution anda dummy column consisting of all ones with a large negative pro�t The dummy columnensures that a feasible solution to the LP relaxation exists This dummy column will bekept at all nodes of the branch�and�bound tree for the same reason

��� Column generation subproblem

Any column with positive reduced cost is a candidate to enter the basis The pricingproblem de�ned above �nds the column with highest reduced cost Therefore if a columnwith positive reduced cost exists the column generation will always identify a candidatecolumn This guarantees that the optimal solution to the linear program will be found

However solving the column generation problem involves the solution of several knap�sack problems which may be computationally prohibitive Fortunately for the columngeneration scheme to work it is not necessary to always select the column with the highestreduced cost� any column with a positive reduced cost will do

Therefore various alternative column generation schemes can be developed An obviousalternative is to select the �rst column encountered with a positive reduced cost �Toprevent a bias towards a certain agent a random starting point can be used� This reducesthe computation time per iteration However since the number of iterations may increaseit is not sure whether the overall e ect is positive Another alternative is to select allcolumns encountered with a positive reduced cost It is hard to estimate the e ect onthe computation time Obviously it does not a ect the time required to solve the pricingproblem but it probably increases the time required to solve the restricted master and itmay increase or decrease the number of iterations

Yet another alternative is the use of approximation algorithms to solve the pricingproblem To guarantee that the optimal solution to the linear program will be found atwo�phase approach has to be used A fast approximation algorithm is used to solve thepricing problem as long as it is able to identify a column with positive reduced cost Incase the approximation algorithm fails to identify a column with positive reduced cost anoptimization algorithm is invoked to prove optimality or generate a column with positivereduced cost This process is repeated until the linear program is solved to optimality Wehave not explored this alternative since the pricing problem that has to be solved is a fairlysmall knapsack problem and there exist very e�cient optimization algorithms to solve suchproblems

Page 9: A Branc - ISyE

��� Primal heuristics

It is well�known that the availability of good feasible solutions may reduce the size of thebranch�and�bound tree considerably The approximation algorithm that has been incorpo�rated in our branch�and�price algorithm is a combination of the algorithms proposed byMartello and Toth ������ and J�ornsten and Nasberg ������

Martello and Toth ������ developed the following two�phase approximation algorithmfor the GAP Let fij be a measure of the �desirability� of assigning job j to agent i �Martelloand Toth suggest four measures� fij � pij fij � pij�wij fij � �wij and fij � �wij�ci�In the �rst phase an attempt is made to construct an initial feasible solution Iterativelyconsider all unassigned jobs and determine the job j� having maximum di erence betweenthe largest and the second largest fij for � � i � m� job j� is then assigned to agent forwhich fij� is maximum In the second phase if a feasible solution has been found thesolution is improved through local exchanges

The approximation algorithm developed by J�ornsten and Nasberg ������ relies heavily onlocal exchanges An initial solution is constructed by assigning each job to its most pro�tableagent If this solution is feasible which rarely happens it is also optimal Otherwise someof the capacity constraints are violated Next local exchanges using some infeasibilitymeasure are applied to obtain a feasible solution Finally if a feasible solution has beenfound local exchanges are applied again but now to improve the quality of the solution

The approximation algorithm incorporated in our branch�and�price algorithm is basi�cally the Martello and Toth algorithm extended with local exchange procedures to handlethe situation in which the attempt to construct an initial feasible solution failed It is in�voked at every node of the branch�and�bound tree using fij � zij ie fij �

P��k�ki x

ijky

ik

as a measure of the �desirability� of assigning job j to agent i

��� Branching scheme

In Section � we have shown that branching strategies based on variable �xing are compatiblewith the pricing problem We have explored two such branching strategies In the �rstwe branch on the fractional variable xij with fractional part closest to �� We set xij � �on one branch and xij � � on the other branch In case of ties we select the variablewith highest pro�t pij In the second we branch on the subset�sum constraint

P��i�m xij

that contains the most fractional variables We setP

��i�i� xij � � on one branch andPi��i�m xij � � on the other branch where we have chosen i� to be as close as possible to

m��� note that there has to be at least one fractional variable on both sides of i� In case ofties we select the subset�sum constraint for which j

P��i�i� xij � ���j� j

Pi��i�m xij � ���j

is as small as possibleThe above branching strategies specify how the current set of feasible solutions is to be

Page 10: A Branc - ISyE

divided into two smaller subsets They do not specify how the subproblem to be solvednext is to be selected We have considered two selection strategies� depth��rst search andbest�bound search Depth��rst search is usually applied to get �hopefully good� feasiblesolutions fast� experience shows that feasible solutions are more likely to be found deep inthe tree than at nodes near the root Having a good feasible solution is necessary to beable to prune nodes and thus to reduce the size of the branch�and�bound tree Best�boundsearch is motivated by the observation that the node containing the best bound has to beconsidered to prove optimality so it may as well be explored �rst

Recall that in our branch�and�price algorithm for the GAP we invoke our primal heuris�tic at each node of the branch�and�bound tree and that the primal heuristic uses the currentLP solution to measure desirability of assignments Furthermore observe that a best�boundsearch strategy jumps around the branch�and�bound tree much more than a depth��rstsearch strategy Consequently if a best�bound search strategy is used the primal heuristicis more likely to see di erent measures of desirability of assignments early on in the searchprocess than when a depth��rst search strategy is used This increases the chance that theprimal heuristic will identify a good feasible solution

� Computation results

The branch�and�price algorithm has been implemented using MINTO a Mixed INTegerOptimizer �Nemhauser Savelsbergh and Sigismondi ����� MINTO is a software systemthat solves mixed�integer linear programs by a branch�and�bound algorithm with linearprogramming relaxations It also provides automatic constraint classi�cation preprocess�ing primal heuristics and constraint generation Moreover the user can enrich the basicalgorithm by providing a variety of specialized application routines that can customizeMINTO to achieve maximum e�ciency for a problem class MINTO can either be builton top of the CPLEX callable library or on top of IBM�s Optimization Subroutine Library�OSL� Unless stated otherwise our computational experiments have been conducted withMINTO ���CPLEX �� and have been run on an IBM�RS���� model ��� The algorithmof Horowitz and Sahni ������ has been used to solve the ��� knapsack problems

We have conducted four computational experiments to determine the e ectiveness ande�ciency of our branch�and�price algorithm

Optimization algorithms for the GAP are generally tested on four classes of randomproblems usually referred to as ABC and D generated according to the following rules�see for instance Guignard and Rosenwein ��������

A pij and wij are integer from a uniform distribution between �� and �� and between� and �� respectively ci � ��n�m� � ���max��i�m

Pj�J�

i

wij where J�i � fjji �

argmin��r�nprjg

��

Page 11: A Branc - ISyE

B Same as A for pij and wij ci � ��� of ci in A

C Same as A for pij and wij ci � ���P

��j�n wij�m

D Same as C for c wij is integer from uniform distribution between � and ��� pij ����� wij � k where k is integer from a uniform distribution between � and ��

The above scheme generates instances for the minimization form of the GAP Since ouralgorithm is designed for the maximization form of the GAP All instances are convertedto the maximization form by the following transformation Let t � max��i�m���j�n pij ��We replace pij by t� pij for all i � f�� ���� mg and j � f�� ���� ng

In the �rst two experiments we have concentrated on identifying the best choices for thepricing scheme and the branching scheme For these experiments we have used various sizes�m � �� ��� �� and n � ��� ��� for all problem classes �ABC and D� All computationalresults presented are based on �� randomly generated instances for the size and class underconsideration

In the �rst experiment we have concentrated on the in�uence of the chosen algorithmfor the pricing problem For the set of instances we have compared the all�positive thebest�positive and the �rst�positive strategies The results can be found in Table � Thecomputational results show that all strategies have a comparable performance For the nextexperiments we have chosen to use the all�positive strategy since this strategy required thesmallest amount of computation time over all instances

In the second experiment we have concentrated on the in�uence of the chosen branchingstrategy For the set of instances we have compared the division schemes based on variabledichotomy and on GUB dichotomy and the depth��rst and best�bound selection schemesThe results can be found in Tables � and � The computational results show that thebest�bound selection scheme clearly outperforms the depth��rst selection scheme and thatthe division scheme based on GUB dichotomy and the division scheme based on variabledichotomy have a comparable performance For the next experiments we have chosen touse the best�bound selection scheme and the division scheme based on GUB dichotomysince this strategy required the smallest amount of computation time over all instances

In the �nal two experiments we have concentrated on the overall performance ofour branch�and�price algorithm For these experiments we have used various sizes �m ��� �� ��� �� and n � ��� ��� for all problem classes �ABC and D� All computational resultspresented are based on �� randomly generated instances for the size and class under con�sideration Note that many instances in this test set are larger than those that have beenused in computational experiments reported in earlier papers

In the third experiment we have concentrated on the quality of the bounds For thetest instances we have compared the value of the linear programming relaxation of thestandard formulation �LP�� the value of the linear programming relaxation of the standard

��

Page 12: A Branc - ISyE

Table �� Comparison of the pricing strategies

Instance all�positive best�positive �rst�positive

�nodes cpu �nodes cpu �nodes cpuavg� max� avg� max� avg� max� avg� max� avg� max� avg� max�

A��� ��� � ����� ��� ��� � ��� � ��� � ����� �� �A��� ��� ��� � � ��� ��� �� ��� � ��� ����A��� ��� � ���� ��� ��� � ����� ���� ��� � ���� ����A���� ��� � ���� ���� �� � ���� �� ��� � ��� � ���

A���� ��� � ���� ���� ��� � ���� ���� ��� � ��� ����A���� ��� � � � �� ��� � ����� � �� ���� ����

B��� ��� �� ���� ��� � ���� �� �� � ���� �B��� ��� ��� ��� ��� ���� ��� ��� � ����� ����B��� ��� � � ��� ��� ���� �� ��� � �� ����B���� ��� �� ��� ��� �� �� ����� � � ��� � ����� ����B���� ��� � ����� ��� �� �� ����� ��� ��� � ���� ����

B���� ��� � � �� ���� ��� � ���� ���� �� � ���� ����C��� ��� ���� ���� ��� ����� ���� �� ���� ���

C��� ��� � ���� �� � �� �� ���� ���� �� �� ��� ��C��� �� ���� �� ��� � � ��� �� ���� � �

C���� ��� �� ��� ����� ��� �� ���� ����� ��� �� ����� �����C���� ��� �� ����� ��� ��� �� � �� ���� ��� � ���� �� �C���� ��� � ��� �� �� ����� �� �� � ��� ����

D��� ���� ��� ���� ������ �� �� ������ ���� �� �� ���� � ��D��� ��� ��� ���� ���� ���� � � ����� ���� ��� �� ������ �����

D��� �� � ���� ���� �� �� ����� �� �� �� ���� ���D���� �� � ��� �� � ���� ��� �� ����� � ���� ��� �� � � � ��

D���� � ��� ��� �� �� ������ ���� ��� ��� ���� ����� �� ����� ��� D���� �� �� ������ �� ��� ��� ���� ����� ���� ��� ����� ���

formulation plus lifted knapsack covers �LP�� and the value of the disaggregated formula�tion �LP� We have included the second bound because knapsack covers have proven to bequite e ective in improving the quality of the bounds for general ��� integer programs seefor instance Crowder Johnson and Padberg ������ and Gu Nemhauser Savelsbergh ������The lifted knapsack covers are automatically generated by MINTO For a description of thespeci�c algorithms embedded in MINTO we refer the reader to Gu Nemhauser Savelsbergh������ The results can be found in Tables � and � The computational results in Table� show that the linear programming bound of the disaggregated formulation is quite goodEven for the instances in the most di�cult problem class D the average integrality gapis less than �� percent A closer examination also reveals that the di erence in qualitybetween LP� and LP is larger for instances with a small ratio n

m This phenomenon canbe explained as follows The ratio n

m represents the average number of jobs assigned toagents If the average number of jobs assigned to agents is small then the LP relaxationsof the ��� knapsack problems associated with the agents are typically weak Consequently

��

Page 13: A Branc - ISyE

Table �� Comparison of branching division schemes for best�bound selection

Instance GUB�dichotomy variable�dichotomy

�nodes cpu �nodes cpuavg� max� avg� max� avg� max� avg� max�

A��� ��� � ����� ��� ��� � ����� ����

A��� ��� ��� � � �� � ���� � �A��� ��� � ���� ��� ��� � ��� ���

A���� ��� � ���� ���� ��� � �� ���A���� ��� � ���� ���� ��� � ����� �� �A���� ��� � � � �� ��� � � � ��B��� ��� �� ���� ��� � ���� ��B��� ��� ��� ��� ��� � ��� ��B��� ��� � � ��� ��� � ��� ���B���� ��� �� ��� ��� ��� � ���� ���

B���� ��� � ����� ��� ��� � ���� ����B���� ��� � � �� ���� ��� � � ����C��� ��� ���� ���� ��� � ��� ����C��� ��� � ���� �� � � �� �� � ���

C��� �� ���� �� �� ���� �C���� ��� �� ��� ����� ��� �� �� �� ���� C���� ��� �� ����� ��� ��� � ����� ����

C���� ��� � ��� �� � � ���� �� D��� ���� ��� ���� ������ ��� ��� ��� � ������

D��� ��� ��� ���� ���� ���� ��� ����� ���D��� �� � ���� ���� ��� �� � ����

D���� �� � ��� �� � ���� ���� ��� ���� �� ��D���� � ��� ��� �� �� ������ ���� ��� ������� ������D���� �� �� ������ �� ��� ��� ���� � ���

solving these ��� knapsacks to optimality as done in the disaggregated formulation willlead to substantially stronger bounds If the average number of jobs assigned to agentsis large then the LP relaxations of the ��� knapsack problems associated with the agentsare typically strong and solving them to optimality will not lead to substantially strongerbounds

The computational results in Table � show that the increased quality of the boundscomes at a price The computation times have increased as well especially on problemclasses with a high ratio n

m This phenomenon can be explained as follows If the averagenumber of jobs assigned to agents is small then the ��� knapsack problems associated withthe agents typically have a small number of feasible solutions which is a favorable situationfor a column generation approach If the average number of jobs assigned to agents is largethen the ��� knapsack problems associated with the agents typically have a large numberfeasible solutions many of which may have comparable objective function values which isnot a favorable situation for column generation approaches

The arguments presented above indicate that we can expect our branch�and�price algo�

��

Page 14: A Branc - ISyE

Table �� Comparison of division schemes for depth��rst selection

Instance GUB�dichotomy variable�dichotomy

�nodes cpu �nodes cpuavg� max� avg� max� avg� max� avg� max�

A��� ��� � ��� ��� ��� � ���� ����

A��� ��� ��� � � �� � ��� � �A��� ��� � ��� �� ��� � ���� ���

A���� ��� � ��� ��� ��� � ��� ���A���� ��� � ����� ���� ��� � ���� �� �A���� ��� � � ��� ��� � � �� ���B��� ��� ��� ���� ��� � ���� ����B��� ��� ��� ��� �� � ��� ���B��� ��� � � ��� ��� � ��� ���B���� �� �� ��� ����� ��� �� ��� �����

B���� � ����� ���� �� ���� ����B���� ��� � � �� ��� ��� � � �� ���C��� �� �� ��� � ��� ��� �� ����� ���C��� �� �� ��� ���� �� �� ���� ����

C��� �� � �� �� � ��C���� ��� �� ��� ��� ���� �� ����� � ���C���� ��� �� ����� �� �� � ���� ���

C���� �� � ��� �� ��� �� � �� ����D��� ��� ��� ����� ��� ����� �� ����� ����

D��� �� ��� ����� ������ ����� � ��� � �����D��� ��� � ��� ��� ��� � �� �� ���

D���� ���� � � ������� ��� � � ����� �� �� ��� �����D���� �� �� ��� �������� ���� � �� �� ������ ������D���� ����� ��� ����� � ����� ��� ��� �� �����

rithm to do well especially on problem instances with a relatively small ratio of nm

In the �nal experiment we have compared our branch�and�price algorithm with thealgorithm of Karabakal Bean and Lohmann ������ Their branch�and�bound algorithmsolves the Lagrangean dual discussed in Section � to obtain upper bounds and extendsearlier work of Fisher Jaikumar and Van Wassenhove ������ and Guignard and Rosenwein������ The results can be found in Tables � and � The computational results showthat as anticipated our branch�and�price algorithm performs better on problem classeswith a relatively small ratio n

m ie nm � � whereas the Karabakal Bean and Lohmann

algorithm performs better on problem classes with a large ratio nm ie n

m � � As suchthe branch�and�price algorithm and the Lagrangian dual algorithm complement each othernicely

��

Page 15: A Branc - ISyE

� Approximation algorithms

The quality of the linear programming bound associated with the disaggregated formulationand the fact that good feasible solutions are usually found early on in the solution processsuggest that truncated tree search algorithms may provide very good approximation algo�rithms In truncated tree search algorithms the number of nodes evaluated in the solutionprocess is reduced according to some prespeci�ed scheme Truncated tree search algorithmspresent a trade�o between e ectiveness and e�ciency

We have considered two di erent schemes to reduce the number of evaluated nodes inthe solution process

In the �rst scheme no more than � a prespeci�ed �xed number nodes will be evaluatedThe advantage of this scheme is the fact that it guarantees that the time required to producea solution is fairly predictable The disadvantage is that it is impossible to say anythingbeforehand about the quality of the solution produced by the algorithm �it is not evenguaranteed that a solution will be found�

In the second scheme a node is fathomed if zLP � ����� � zIP where zLP is the valueof the linear programming solution at the node zIP the value of the best known integerprogramming solution and � � � an optimality tolerance The advantage of this schemeis the fact that it guarantees that the value of the solution produced by the algorithm iswithin � � ��� percent of the optimal value The disadvantage is that it is impossible to sayanything beforehand on the time required to produce a solution

Very few approximation algorithms exist for the GAP Most of them consist of twophases� a construction phase in which an initial feasible solution is constructed and animprovement phase in which the initial feasible solution is improved To the best of ourknowledge the linear relaxation heuristic �LRH� proposed by Trick ������ is one of the bestamong these heuristics in terms of quality of solution as well as solution times

In an independent study Cattrysse Salomon and Van Wassenhove ������ have usedthe set partitioning formulation underlying the algorithms developed and discussed in thispaper to develop an approximation algorithm for the GAP Their algorithm consists of twophases In the �rst phase the linear programming relaxation of the master problem issolved approximately In the process a set of columns ie feasible assignments of jobs tomachines is obtained In the second phase an enumeration scheme developed by Gar�nkeland Nemhauser is used to identify a feasible solution to the GAP among the columnsgenerated in the �rst phase They have tested their approximation algorithm on instancesof various sizes from class C

We have compared the performance of three truncated tree search algorithms with� � �� � � ���� and � � ����� to the performance of the linear relaxation heuristic onten randomly generated instances in the problem classes �D� ��� ��� and �D� ��� ��� and ontwo sets of ten even larger randomly generated instances in the problem classes �D� ��� ����

��

Page 16: A Branc - ISyE

and �D� ��� ���� The results can be found in Tables ���� and �� These computationalexperiments have been conducted with MINTO ���CPLEX �� and have been run on anIBM�RS���� model ��� The computational results show that the truncated tree searchalgorithms clearly outperform the linear relaxation heuristic in terms of solution quality withan acceptable increase in computation time for � � �� and � � ���� and a considerableincrease in computation time for � � ����� All in all the truncated tree search algorithmsprovide a good balance between e ectiveness and e�ciency

Acknowledgment

We would like to thank James Bean and Mike Trick for making their code available tous Furthermore we would like to thank an anonymous referee for his comments andsuggestions which have helped improve the quality and readability of the paper

References

R� Anbil� R� Tanga� E�L� Johnson ������ A Global Optimization Approach to Crew

Scheduling Report COC������ Georgia Institute of Technology Atlanta

D�G� Cattrysse� L�N� van Wassenhove ������ A survey of algorithms for the gener�alized assignment problem European J� Oper� Res� �� �������

D�G� Cattrysse� M� Salomon� L�N� van Wassenhove ������ A set partitioningheuristic for the generalized assignment problem European J� Oper� Res� �� �������

M� Desrochers� J� Desrosiers� M� Solomon ������ A new optimization algorithmfor the vehicle routing problem with time windows Oper� Res� �� �������

M� Desrochers� F� Soumis ������ A column generation approach to the urban transitcrew scheduling problem Transportation Science �� ����

M�L� Fisher� R� Jaikumar� L�N� van Wassenhove ������ A multiplier adjustmentmethod for the generalized assignment problem Management Science �� ���������

R�S� Garfinkel� G�L� Nemhauser ������ Set partitioning problem� set covering withequality constraints Oper� Res� �� �������

P�C� Gilmore� R�E� Gomory ������ A linear programming approach to the cutting�stock problem Oper� Res� �������

Z� Gu� G�L� Nemhauser� M�W�P� Savelsbergh ������ Cover Inequalities for ��� Inte�ger Programs I� Computation Report LEC������ Georgia Institute of Technology Atlanta

��

Page 17: A Branc - ISyE

M� Guignard� M� Rosenwein ������ An improved dual�based algorithm for the gener�alized assignment problem Oper� Res� ��� �������

E� Horowitz� S� Sahni ������ Computing partitions with applications to the knapsackproblem Journal of the ACM �� �������

K� Jornsten� M� Nasberg ������ A new Lagrangian relaxation approach to the gener�alized assignment problem European J� Oper� Res� �� �������

N� Karabakal� J�C� Bean� J�R� Lohmann ������ A Steepest Descent Multiplier Ad�

justment Method for the Generalized Assignment Problem Report ����� University ofMichigan Ann Arbor

S� Martello� P� Toth ������ An algorithm for the generalized assignment problemJ�P� Brans �ed� Operations Research �� North�Holland Amsterdam �������

G�L� Nemhauser� L�A� Wolsey ������ Integer Programming and Combinatorial Opti�mization� Wiley Chichester

G�L� Nemhauser� M�W�P� Savelsbergh� G�C� Sigismondi ������ MINTO a MixedINTeger Optimizer Oper� Res� Letters �� �����

G�T� Ross� R�M� Soland ������ A branch�and�bound algorithm for the generalized as�signment problem Math� Prog� � ������

M�A� Trick ������ A linear relaxation heuristic for the generalized assignment problemNaval Research Logistics � �������

P� Vance� C� Barnhart� E�L� Johnson� G�L� Nemhauser ������ Solving Binary Cut�ting Stock Problems by Column Generation and Branch�and�Bound� COC����� Georgia

Institute of Technology� Atlanta�

��

Page 18: A Branc - ISyE

Table �� Quality of the bounds I� integrality gap

Instance n�m LP� LP� LP�avg� max� avg� max� avg� max�

A�� �� ���� ���� ���� ��� � �A��� �� ���� ��� ���� ��� � �A��� � ���� �� � � � �A��� ��� ��� ���� � � � �

A��� ���� � � ���� ��� ��� ��� ���A���� �� ��� ��� �� ���� � �A���� �� �� ��� �� �� � �A���� ��� ��� ���� � � � �B�� �� ��� � �� � ���� ���� ���� ��

B��� �� ����� � � ���� ����� ��� ���B��� � �� � ����� ��� ��� ��� ����

B��� ��� ��� ����� ��� ���� ��� ����B��� ���� ��� ����� � �� ��� � ���� ���

B���� �� � ��� ���� ����� ���� �� B���� �� ���� ���� �� ���� �� ��

B���� ��� ��� ���� ��� ��� �� ���C�� �� ���� ��� �� � ���� �� ���C��� �� ��� � �� � �� ���� ��� ���

C��� � ��� � � ��� ���� �� �� �C��� ��� ����� ���� ��� ���� ��� ���

C��� ���� � �� ����� �� �� ��� ��� C���� �� � �� ��� � ���� � � �� ��C���� �� ��� ��� ��� ���� ��� ��C���� ��� ���� ����� ���� ��� ��� ���D�� �� ���� ����� ��� ��� ��� ���D��� �� ���� ��� ���� ����� �� ���D��� � ��� ���� ����� �� � ��� ����D��� ��� ����� �� �� ���� �� �� �� ���D��� ���� ��� ��� �� ��� ��� ���

D���� �� ���� �� ���� �� � �� � ����D���� �� ���� ��� � ����� ��� ���� ���D���� ��� ����� ��� ����� ���� ��� ��

��

Page 19: A Branc - ISyE

Table �� Quality of the bounds II� computation time

Instance n�m LP� LP� LP�avg� max� avg� max� avg� max�

A�� �� ��� ��� ��� ��� �� �� ���A��� �� ���� ��� ��� ��� ��� ���A��� � ��� ��� �� � �� ���� ��A��� ��� ���� ��� ��� � �� ���

A��� ���� ���� �� ���� ��� ���� ��� A���� �� ���� ��� �� � �� ����� ��A���� �� ���� ��� ��� �� ��� ���A���� ��� ��� �� ��� �� �� ���B�� �� ��� ��� ���� ��� ���� ���

B��� �� ���� ��� ���� ��� � � ���B��� � ���� �� ���� �� �� � ��

B��� ��� ���� �� ��� �� ��� ���B��� ���� ��� ��� ��� �� ������ ����

B���� �� ���� ��� ��� �� ���� ��� B���� �� ���� ��� ��� ��� ��� � ���

B���� ��� ��� � ���� ��� ���� ��� C�� �� ���� ��� ���� � ���� �� C��� �� ��� ��� ��� ��� ���� ���

C��� � ��� ��� �� �� ���� ���C��� ��� ���� � �� ��� ��� �

C��� ���� ��� ��� ��� �� ����� ��� �C���� �� ���� ��� ��� ��� ����� ����C���� �� ���� ��� � � ��� ���� ���C���� ��� ���� ��� � � ��� ����� ����D�� �� ���� ��� �� �� ���� ����D��� �� ��� ��� �� � � � ���D��� � ��� ��� �� �� ��� ���D��� ��� ��� �� ����� ��� ���� �� D��� ���� ���� ��� �� � �� ���� � � ���

D���� �� ���� ��� ���� ��� �� ����D���� �� �� �� ��� ��� ��� �� D���� ��� ��� ��� ���� �� ���� ����

��

Page 20: A Branc - ISyE

Table �� Results for the Karabakal Bean and Lohmann algorithm

Instance n�m �nodes cpuavg� max� avg� max�

A�� �� ��� �� �� ���A��� �� ��� � �� ���A��� � ���� �� ���� ����A��� ��� ����� ��� ����� ����A��� ���� ��� �� ���� ���

A���� �� �� �� ����A���� �� ���� ���� ���A���� ��� ��� ��� �� ����B�� �� ������ ���� ������ �����B��� �� ���� ��� ��� ����

B��� � ���� �� ��� � �B��� ��� ��� �� ����� ��

B��� ���� ������ ���� ����� �����B���� �� ����� ��� ����� ����

B���� �� �� �� ���� ����B���� ��� ��� �� ��� ���� ����

C�� �� ��� ��� ����� ����C��� �� �� � ���� ��C��� � � ��� ���� ��� ���

C��� ��� � ��� ��� ��� ��C��� ���� ��� �� ���� ��� �

C���� �� ���� ��� ���� ����C���� �� ��� �� ��� ����� �����C���� ��� ����� ��� �� �� ������D�� �� ����� ��� �� � �����D��� �� �� �� ��� ���� �����D��� � ���� �� �� �� ��� �D��� ��� ��� �� ���� ���� D��� ���� ���� �� ��� �� �����D���� �� �� ��� ��� ����� �� ��

D���� � �� ������ ���� ������ ���� �D���� �� ��� ������ ��� � ����� � ���

� Based on instances solved within �� nodes�� Based on � instances solved within �� nodes

��

Page 21: A Branc - ISyE

Table �� Results for the Savelsbergh algorithm

Instance n�m �nodes cpu

avg� max� avg� max�

A�� �� �� � ��� � ����A��� �� �� � ����� �� A��� � ��� �� � �A��� ��� ��� � ���� ���

A��� ���� ��� � ���� ���A���� �� �� � ���� ����A���� �� ��� � ���� ���A���� ��� ��� ����� ���B�� �� �� �� ����� ����

B��� �� �� � ���� ����B��� � ��� ��� ��

B��� ��� ��� � � ���B��� ���� ��� �� ������ �����

B���� �� � �� ����� ���B���� �� ��� � ���� ���

B���� ��� �� � ����� ���C�� �� �� �� � �� �� �C��� �� ��� �� ����� ���

C��� � ��� � �� �� C��� ��� �� ���� ��

C��� ���� ���� � � ��� ���C���� �� ���� � ��� � ��C���� �� ��� � ���� ���C���� ��� �� �� ��� � �� D�� �� �� �� ������ ������D��� �� ���� ��� ��� ������D��� � ��� ��� ���� ���D��� ��� �� � ���� ����D��� ���� �� ��� ����� ����

D���� �� ����� ��� ���� � �����D���� �� ����� � �� ��� ��� ����� D���� ��� ��� ���� ����� � ���

��

Page 22: A Branc - ISyE

Table �� Performance of truncated tree search algorithms �D�����

LRH TTS m � � TTS � � �� TTS � � ��value cpu value cpu value cpu value cpu opt

��� � � � � � � � � � �� � ����� � ��� �� ��� � ��� �������� � ��� �� ��� � ��� �� ������� � ���� � ���� ���� �� ����

� �� � �� � �� �� ���� ��� �������� �� � ��� �� ��� �� ��� ���� � ��� �� � � �� � �� ��� � �

� �� � � �� �� � � �� �� �� ������� � �� � �� �� � � ���� �� �

� � � � � �� � �� �� � � � � �

Table �� Performance of truncated tree search algorithms �D�����

LRH TTS m � � TTS � � �� TTS � � ��value cpu value cpu value cpu value cpu opt

� � � �� � � �� � � � � ������ � � �� � � � � �� � � ������ � � �� � � �� � � �� � � ������ � �� � ���� �� ��� �� ������ � � � � � � �� � �� �� � �

� � � � � � � � � � � �� � ����� � � � � � � � � � �� � ������ � ��� � � �� � �� �� � ����� � � � � � � � � �� �� � � ��� � ��� � ��� ���� � ���

��

Page 23: A Branc - ISyE

Table ��� Performance of truncated tree search algorithms �D������

LRH TTS m � � TTS � � �� TTS � � ��value cpu value cpu value cpu value cpu ub

� � � � �� ��� � �� ��� � � � ����� � ��� �� ��� ��� ��� �� �������� � ���� ��� ��� �� ���� � � ��� ���� � ���� �� ���� ��� ���� � ��

���� � � � �� � � ��� � � ��� � ������ � ���� ��� ���� ��� ���� �� � ������ � ���� ��� ���� ��� ���� ���� ����

���� � ��� �� ��� �� �� � ���� ������� � ��� ��� �� � ��� ���� ��� � ��

���� ��� �� ���� � �� ���� ��

Table ��� Performance of truncated tree search algorithms �D������

LRH TTS m � � TTS � � �� TTS � � ��value cpu value cpu value cpu value cpu ub

���� �� ��� �� ���� ��� ���� ��� ���� �� �� � �� � ��� � ���� � �� �� ���� � � � � � � � � � � ��� � ������ �� ��� �� � ��� � �� ���� � ��� � �� � � �� � �� ��� ��� ���� ���

� � �� � �� �� ���� �� ��� ��� ����� �� �� ��� � ���� � � ���� ��� �� ���� �� ���� �� � �� � � �� ��� � ������ �� �� �� �� ��� � ���� � ��� � �� ���� �� ���� � � ���� ��� � ��

��


Recommended