Branch-And-Price: Column Generation for Solving Huge Integer Programs ,Y

Branch-And-Price: Column Generation for Solving Huge Integer Programs ,Y

BranchandPrice Column Generation for y Solving Huge Integer Programs Cynthia Barnhart Ellis L Johnson George L Nemhauser Martin WPSavelsb ergh Pamela H Vance School of Industrial and Systems Engineering Georgia Institute of Technology Atlanta GA Abstract We discuss formulations of integer programs with a huge number of variables and their solution by column generation metho ds ie implicit pricing of nonbasic variables to generate new columns or to prove LP optimality at a no de of the branch andb ound tree We present classes of mo dels for whichthisapproach decomp oses the problem provides tighter LP relaxations and eliminates symmetryWethen discuss computational issues and implementation of column generation branchand b ound algorithms including sp ecial branching rules and ecientways to solvethe LP relaxation February Revised May Revised January Intro duction The successful solution of largescale mixed integer programming MIP problems re quires formulations whose linear programming LP relaxations give a go o d approxima Currently at MIT Currently at Auburn University This research has b een supp orted by the following grants and contracts NSF SES NSF and AFORS DDM NSF DDM NSF DMI and IBM MHV y An abbreviated and unrefereed version of this pap er app eared in Barnhart et al tion to the convex hull of feasible solutions In the last decade a great deal of attention has b een given to the branchandcut approach to solving MIPs Homan and Padb erg and Nemhauser and Wolsey give general exp ositions of this metho dology The basic idea of branchandcut is simple Classes of valid inequalities preferably facets of the convex hull of feasible solutions are left out of the LP relaxation b ecause there are to o many constraints to handle eciently and most of them will not b e binding in an optimal solution anyway Then if an optimal solution to an LP relaxation is infea sible a subproblem called the separation problem is solved to try to identify violated inequalities in a class If one or more violated inequalities are found some are added to the LP to cut o the infeasible solution Then the LP is reoptimized Branching o ccurs when no violated inequalities are found to cut o an infeasible solution Branchandcut which is a generalization of branchandb ound with LP relaxations allows separation and cutting to b e applied throughout the branchandb ound tree The philosophy of branchandprice is similar to that of branchandcut except that the pro cedure fo cuses on column generation rather than row generation In fact pricing and cutting are complementary pro cedures for tightening an LP relaxation We will describ e algorithms that include b oth but we emphasize column generation In branchandprice columns are left out of the LP relaxation b ecause there are to o many columns to handle eciently and most of them will have their asso ciated variable equal to zero in an optimal solution anywayThentocheck the optimality ofanLP solution a subproblem called the pricing problem which is a separation problem for the dual LPissolved to try to identify columns to enter the basis If such columns are found the LP is reoptimized Branching o ccurs when no columns price out to enter the basis and the LP solution do es not satisfy the integrality conditions Branchandprice which also is a generalization of branchandb ound with LP relaxations allows column generation to b e applied throughout the branchandb ound tree Wehaveseveral reasons for considering formulations with a huge number of variables A compact formulation of a MIP mayhaveaweak LP relaxation Frequently the relaxation can b e tightened by a reformulation that involves a huge number of variables A compact formulation of a MIP mayhave a symmetric structure that causes branchandb ound to p erform p o orly b ecause the problem barely changes after branching A reformulation with a huge number of variables can eliminate this symmetry Column generation provides a decomp osition of the problem into master and sub problems This decomp osition mayhave a natural interpretation in the contextual setting allowing for the incorp oration of additional imp ortant constraints A formulation with a huge number of variables may b e the only choice At rst glance it may seem that branchandprice involves nothing more than combin ing wellknown ideas for solving linear programs by column generation with branchand b ound However as App elgren observed years ago it is not that straightfor ward There are fundamental diculties in applying column generation techniques for linear programming in integer programming solution metho ds Johnson These include Conventional integer programming branching on variables may not b e eective b ecause xing variables can destroy the structure of the pricing problem Solving these LPs and the subproblems to optimalitymay not b e ecient in which case dierent rules will apply for managing the branchandprice tree Recently several sp ecialized branchandprice algorithms have app eared in the liter ature Our pap er attempts to unify this literature by presenting a general metho dology for branchandprice It is by no means an inclusive survey but do es develop some gen eral ideas that have only app eared in very sp ecial contexts Routing and scheduling has b een a particularly fruitful application area of branchandprice see Desrosiers et al for a survey of these results Section presents two examples that illustrate the general concepts of a branch andprice algorithm and at the same time p oint out some of the diculties that may b e encountered when applying it Section discusses the typ es of MIPs for which branchandprice can b e advantageous Section analyzes the similarities and dierences between branchandprice and Lagrangian duality Section presents the sp ecial typ es of branching that are required for branchandprice to b e eective Section considers the computational issues involved in the implementation of a branchandprice algorithm Two Illustrative Examples Tomotivate the general ideas of branchandprice we presenttwo imp ortant practical examples generalized assignment and crew scheduling b efore presenting the general formulations and metho dology Generalized Assignment In the generalized assignment problem GAP the ob jective is to nd a maximum prot assignmentofm tasks to n machines suchthateach task is assigned to precisely one machine sub ject to capacity restrictions on the machines For reasons that will b ecome apparentlaterwe will consider separately the two cases of unrelated machines and identical machines Unrelated Machines The standard integer programming formulation of GAP is X X max p z ij ij im j n X z i m ij j n X w z d j n ij ij j im z f g i m j n ij where p is the prot asso ciated with assigning task i to machine j w is the amount ij ij of the capacityofmachine j used bytaski d is the capacityofmachine j and z is a j ij variable indicating whether task i is assigned to machine j Applying DantzigWolfe decomp osition to GAP with the assignment constraints dening the master problem and the machine capacity constraints dening the sub problems yields the master problem X X X j j max p y ij ik k j n im k K j X X j j i m y k ik j n k K j X j j n k k K j j f g j n k K j k j j j j where the rst m entries of a column given by y y y y satisfy the k k k mk knapsack constraint X w x d ij i j im x f g i m i and where K denotes the numb er of feasible solutions to the ab ove knapsack constraint j In other words a column represents a feasible assignment of tasks to a machine The reason for reformulating the GAP by applying DantzigWolfe decomp osition is that the linear programming relaxation of the master problem is tighter than the linear programming relaxation of the standard formulation since fractional solutions that are not convex combinations of solutions to the knapsack constraints are not feasible to Note that our motivation for applying decomp osition is not to sp eed up the solution of the LP relaxation in fact the LP relaxation of the master may b e harder to solve than that of rather it is to improve the LP b ound Tosolve the LP relaxation of pricing or column generation is done by solving n knapsack problems Several computational or implementation issues arise in solving these LPs includin g whether the knapsacks should b e solved exactly or approximately whether nonbasic columns should b e kept or regenerated whether the master LP should b e solved to optimality etc These issues will b e addressed in more detail in Section The LP relaxation of the master problem solved by column generation maynothave an integral optimal solution and applying a standard branchandb ound pro cedure to the master problem over the existing columns is unlikely to nd an optimal or even good or even feasible solution to the original problem Therefore it may b e necessary to generate additional columns in order to solve the linear programming relaxations of the master problem at nonro ot no des of the searchtree Standard branching on the variables creates a problem along a branch where a j variable has b een set to zero Recall that y represents a particular solution to the j th k j means that this solution is excluded However it is knapsack problem Thus k p ossible and quite likely that the next time the j th knapsack problem is solved the j optimal knapsack solution is precisely the one represented by y In that case it would k b e necessary to nd the second b est solution to the knapsack problem Atdepth l in the th branchandb ound

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    33 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us