1 date: September 15, 1998 file: mitche2

BRANCH-AND-CUT ALGORITHMS Branch-and-cut methods for general integer FOR , programming problems are also of great interest Branch-and-cut (see, for example, the papers [4, 7, 11, 16, 17, 22, 28, 30]). It is usually not possible to efficiently Branch-and-cut methods are exact algorithms solve a general integer programming problem us- for integer programming problems. They consist ing just a cutting plane approach, and it is there- of a combination of a cutting plane method fore necessary to also to branch, resulting in a with a branch-and-bound algorithm.These branch-and-cut approach. A pure branch-and- methods work by solving a sequence of lin- bound approach can be sped up considerably by ear programming relaxations of the integer pro- the employment of a cutting plane scheme, ei- gramming problem. Cutting plane methods im- ther just at the top of the tree, or at every node prove the relaxation of the problem to more of the tree. closely approximate the integer programming For general problems, the specialized facets problem, and branch-and-bound algorithms pro- used when solving a specific combinatorial opti- ceed by a sophisticated divide and conquer ap- mization problem are not available. Some use- proach to solve problems. The material in this ful families of general inequalities have been entry builds on the material contained in the developed; these include cuts based on knap- entries on cutting plane and branch-and-bound sack problems [17, 22, 23], Gomory cutting methods. planes [19, 20, 5, 12], lift and project cut- Perhaps the best known branch-and-cut algo- ting planes [29, 33, 3, 4], and Fenchel cutting rithms are those that have been used to solve planes [9]. All of these families of cutting planes traveling salesman problems. This approach is are discussed in more detail later in this entry. able to solve and prove optimality of far larger The software packages MINTO [30] and instances than other methods. Two papers that ABACUS [28] implement branch-and-cut algo- describe some of this research and also serve as rithms to solve integer programming problems. good introductions to the area of branch-and- The packages use standard cut algorithms are [21, 32]. A more recent work solvers to solve the relaxations and they have a on the branch-and-cut approach to the traveling default implementation available. They also of- salesman problem is [1]. Branch-and-cut meth- fer the user many options, including how to add ods have also been used to solve other combina- cutting planes and how to branch. torial optimization problems; recent references A simple example. include [8, 10, 13, 23, 24, 26]. For these problems, Consider the integer programming problem the cutting planes are typically derived from studies of the polyhedral combinatorics of the min −5x1 − 6x2 corresponding integer program. This enables the s.t. x1 +2x2 ≤ 7 addition of strong cutting planes (usually facet 2x1 − x2 ≤ 3 defining inequalities), which make it possible to x1,x2 ≥ 0, integer. considerably reduce the size of the branch-and- bound tree. Far more detail about these strong cutting planes can be found elsewhere in this en- This problem is illustrated in the figure. The cyclopedia, for example in the entry on cutting feasible integer points are indicated. The lin- plane methods for integer programming. ear programming relaxation (or LP relaxation) integer programming problems cutting plane method branch-and-bound algorithm traveling salesman problems cutting plane methods for integer programming linear programming relaxation LP relaxation file: mitche2 date: September 15, 1998 2 is obtained by ignoring the integrality restric- The optimal solution to the original problem will tions; this is given by the polyhedron contained be the better of the solutions to these two sub- in the solid lines. problems. The solution to the linear program- The first step in a branch-and-cut approach ming relaxation of the first subproblem is (1, 3), is to solve the linear programming relaxation, with value −23. Since this solution is integral, which gives the point (2.6, 2.2), with value it solves the first subproblem. This solution be- −26.2. There is now a choice: should the LP re- comes the incumbent best known feasible solu- laxation be improved by adding a cutting plane, tion. The optimal solution for the linear pro- for example, x1 + x2 ≤ 4, or should the problem gramming relaxation of the second subproblem be divided into two by splitting on a variable? is (2.5, 2), with value −24.5. Since this point is 6 nonintegral, it does not solve the subproblem. x2 Therefore, the second subproblem must be at- H tacked further. HH H H It is possible to branch using x1 in the sec- ttHH 3 ppppppH ¡ H ond subproblem; instead, assume the algorithm ppppppp@ HH %% ¡ pppppppp H l ¡ uses a cutting plane approach and adds the in- H l ppppppppp@ HH ¡ equality x1 +2x2 ≤ 6. This is a valid inequal- pppppppppp lH¡ lH ity, in that it is satisfied by every integral point tttppppppppppp@ ¡ lH%% 2 ppppppppppp ¡ that is feasible in the second subproblem. Fur- ppppppppppp ¡ ppppppppppp ¡ ther, this inequality is a cutting plane: it is vi- ppppppppppp ¡ olated by (2.5, 2). Adding this inequality to the ppppppppppp ¡ relaxation and resolving gives the optimal solu- tttppppppppppp¡ 1 pppppppppp ¡ tion (2.4, 1.8), with value −22.6. The subprob- ppppppppp ¡ lem still does not have an integral solution. How- pppppppp ¡ ppppppp ¡ ever, notice that the optimal value for this mod- pppppp ¡ ified relaxation is larger than the value of the tt ¡ - incumbent solution. The value of the optimal in- 0 12x1 tegral solution to the second subproblem must A branch-and-cut example be at least as large. Therefore, the incumbent Assume the algorithm makes the second solution is better than any feasible integral so- choice, and further assume that the decision is lution for the second subproblem, so it actually solves the original problem. to split on x2, giving two new problems: Of course, there are several issues to be re- min −5x1 − 6x2 solved with this algorithm, including the ma- s.t. x1 +2x2 ≤ 7 jor questions of deciding whether to branch or 2x1 − x2 ≤ 3 to cut and deciding how to branch and how to x2 ≥ 3 generate cutting planes. Notice that the cutting x1,x2 ≥ 0, integer plane introduced in the second subproblem is not valid for the first subproblem. This inequal- and ity can be modified to make it valid for the first subproblem by using a lifting technique, which is discussed later in this entry. min −5x1 − 6x2 s.t. x1 +2x2 ≤ 7 A standard form. 2x1 − x2 ≤ 3 x2 ≤ 2 To fix notation, the following problem is re- x1,x2 ≥ 0, integer. garded as the standard form mixed integer linear 3 date: September 15, 1998 file: mitche2 programming problem in this entry: were Chv´atal-Gomory cutting planes [19, 20, 15]. min cT x These inequalities can be derived from the final subject to Ax ≤ b tableau of the linear programming relaxation, x ≥ 0 and they are discussed in more detail in the en- xi integer, i =1,...,p. try on cutting plane algorithms.Thesecuts can be useful if they are applied in a computa- Here, x and c are n-vectors, b is an m-vector, tionally efficient manner [5, 12]. Gomory cuts and A is an m × n matrix. The first p variables can contain a large number of nonzeroes, so are restricted to be integer, and the remainder care is required to ensure that the LP relaxation may be fractional. If p = n then this is an integer does not become very hard with large memory programming problem. If a variable is restricted requirements. The cuts are generated directly to take the values 0 or 1 then it is a binary vari- from the basis inverse, so care must also be taken able. If all variables are binary then the problem to avoid numerical difficulties. is a binary program. Primal heuristics. In the example problem, it was possible to One of the breakthroughs in the develop- prune the second subproblem by bounds, once ment of branch-and-cut algorithms was the pa- an appropriate cutting plane had been found. per by H. P. Crowder, E. L. Johnson,andM. The existence of a good incumbent solution Padberg [17]. This paper showed that it was pos- made it possible to prune in this way. In this sible to solve far larger general problems than case, the solution to the linear programming re- had previously been thought possible. The al- laxation of the first subproblem was integral, gorithm used extensive preprocessing, good pri- providing the good incumbent solution. In many mal heuristics, and cutting planes derived from cases, it takes many stages until the solution knapsack problems with binary variables. Any to a relaxation is integral. Therefore, it is of- inequality in binary variablesP can be represented ten useful to have good heuristics for convert- as a knapsack inequality i∈N aixi ≤ b with ing the fractional solution to a relaxation into all ai > 0 for some subset N of the variables, a good integral solution that can be used to eliminating variables or replacing a variable xj prune other subproblems. Primal heuristics are by 1 − xj as necessary. The facial structure discussed further in the entry on branch-and- of the knapsack polytope can then be used to bound algorithms. derive valid inequalities forP the problem. For R ⊆ N a >b Preprocessing. Pexample, if with i∈R i then A very important component of a practi- i∈R xi ≤|R|−1 is a valid inequality. Further, if cal branch-and-cut algorithm is preprocessing R is a minimal such set, so deleting any member to eliminate unnecessary constraints, determine of R leaves the sum of coefficients smaller than any fixed variables, and simplify the problem b, then the inequality defines a facet of the cor- in other ways. Preprocessing techniques are dis- responding knapsack polytope. Other inequal- cussedintheentryonbranch-and-bound al- ities can be derived from the knapsack poly- gorithms. tope. These inequalities have been extended to Families of cutting planes. knapsacks with general integer variables and one Perhaps the first family of cutting planes for continuous variable [11] and to binary problems general mixed integer programming problems with generalized upper bounds [34]. branch-and-bound algorithms branch-and-bound algorithms Chv´atal-Gomory cutting planes cutting plane algorithms H. P. Crowder E. L. Johnson M. Padberg knapsack problems file: mitche2 date: September 15, 1998 4

Another family of useful inequalities are lift- fundamental weakness of the cutting plane ap- and-project or disjunctive inequalities.These proach [32]. In some implementations, a fixed were originally introduced by E. Balas [2], and number of rounds of cutting plane searching it is only in the last few years that the value are performed at a node, with perhaps several of these cuts has become apparent for general rounds performed at the root node, and fewer integer programming problems [3, 4]. Given the rounds performed lower in the tree. for a binary programming prob- The cut-and-branch variant adds cutting lem S := {x : Ax ≤ b, xi =0, 1 ∀i}, each vari- planes only at the root node of the tree. Usu- able can be used to generate a set of disjunctive ally, an implementation of such a method will 0 inequalities. Let Sj := {x : Ax ≤ b, 0 ≤ xi ≤ expend a great deal of effort on generating cut- 1 1 ∀i, xj =0} and Sj := {x : Ax ≤ b, 0 ≤ xi ≤ ting planes, requiring time far greater than just 0 1 1 ∀i, xj =1}.ThenS ⊆ Sj ∪ Sj , so valid in- solving the relaxation at the root. The benefits equalities for S can be generated by finding valid of cut-and-branch include 0 1 inequalities for the convex hull of Sj ∪Sj .These inequalities are generated by solving linear pro- • all generated cuts are valid throughout the gramming problems. Because of the expense, the tree, since they are valid at the root. cuts are usually only generated at the root node. • bookkeeping is reduced, since the relax- Nonetheless, they can be very effective compu- ations are identical at each node. tationally. • no time is spent generating cutting planes Other general cutting planes have been devel- at other nodes. oped. The paper [16] describes several families and discusses routines for identifying violated Cut-and-branch is an excellent technique for inequalities. Fenchel cutting planes, which are many general integer programs, but it lacks the generated using ideas from Lagrangian duality power of branch-and-cut for some hard prob- and convex duality, are introduced in [9]. lems. See [16] for more discussion of the relative When to add cutting planes. computational performance of cut-and-branch The computational overhead of searching for and branch-and-cut. cutting planes can be prohibitive. Therefore, it is Lifting cuts. common to not search at every node of the tree. A cut added at one node of the branch-and- Alternatives include searching at every eighth cut tree may well not be valid for another sub- node, say, or at every node at a depth of a mul- problem. Of course, it is not necessary to add tiple of eight in the tree. the cut at any other node, in which case the cut Generally, at each node of the branch-and- is called a local cut. This cut will then only af- bound tree, the linear programming relaxation fect the current subproblem and its descendants. is solved, cutting planes are found, these are Thedrawbacktosuchanapproachisinthepo- added to the relaxation, and the process is re- tential memory requirement of needing to store peated. Usually, there comes a point at which a different version of the problem for each node the process tails off, that is, the solution to one of the tree. In order to make a cut valid through- relaxation is not much better than the solutions out the tree (or global), it is necessary to lift it. to the recent relaxations. It is then advisable to Lifting can be regarded as a method of ro- stop work on this node and branch. Tailing off is tating a constraint. Returning to the example a function of lack of knowledge about the poly- problem once again, the constraint x1 +2x2 ≤ 6 hedral structure of the relaxation, rather than a is valid if x2 ≤ 2. To extend this constraint to lift-and-project disjunctive inequalities E. Balas cut-and-branch global→ global cuts lift→ lifting cuts 5 date: September 15, 1998 file: mitche2 be valid when x2 ≥ 3, consider the inequality for some scalar αi. This scalar should be maxi- mized in order to make the inequality as strong x x α x − ≤ . 1 +2 2 + ( 2 2) 6 as possible. Now, maximizing αi requires solving another integer program, so it may be necessary It is desired to take α as large as possible while to make an approximation. This process has to ensuring that this is a valid inequality. If x2 =3 be applied successively to each variable that has then x1 ≤ 1, so the inequality is valid for x2 =3 been fixed at the node. The order in which the provided α ≤−1. If x2 = 1, the inequality is variables are examined may well affect the final valid provided α ≥−2. Finally, the inequal- inequality, and other valid inequalities can be ity is valid when x2 =0providedα ≥−2.5. obtained by lifting more than one variable at a Combining these conditions gives that the valid time. range is −2 ≤ α ≤−1. The two extreme choices α = −1andα = −2 give the valid inequali- Implementation details. ties x1 + x2 ≤ 4andx1 ≤ 2, respectively. Other valid choices for α give inequalities that are con- Many details of tree management can be vex combinations of these two. In this way, valid found in the entry on branch-and-bound al- inequalities for one node of the tree can be ex- gorithms. This includes node selection, branch- tended to valid inequalities at any node. ing variable selection, and storage requirements, See [11] for more discussion of lifting in the among other issues. Typically, a branch-and- case of general mixed integer linear program- bound algorithm stores the solution to a node ming problems. It is often not possible to lift as a list of the indices of the basic variables. inequalities for such problems because the upper Branch-and-cut algorithms may require more and lower bounds on the coefficients conflict. Of storage if cuts are added locally, because it is course, if an inequality is valid at the root node then necessary to be able to recreate the current then it is valid throughout the tree so there is no relaxation at any active node with just the ap- need to lift. This is one of the reasons why gen- propriate constraints. If cuts are added globally, eral inequalities such as Chv´atal-Gomory cuts or then it suffices to store a single representation lift-and-project cuts are often more successfully of the problem. employed in a cut-and-branch approach. It is possible to fix variables using information The method of calculating coefficients in the about reduced costs and the value of the best case of binary problems is now outlined — known feasible integral solution, as described in see [31] for more details. The inequality gener- the entry on cutting plane algorithms.Once ated at a node in the tree will generally only use variables have been fixed in this way, it is often the variables that are not fixed at that node. possible to fix additional variables using logical Lifting can be used to make the inequality valid implications. In order to fully exploit the fixing at any node of the tree. It is necessary to apply of variables, parent node reconstruction [32] is the lifting process for each variable that has been performed as follows. Once a parent node has fixed at the node, examining the opposite value been selected, it is not immediately divided into for that variable. For example, if the inequality two children, but is solved again using the cut- X ting plane algorithm. When the cutting plane aj xj ≤ h for some subset J ⊆{1,...,n} procedure terminates, the optimal reduced cost j∈J vector has been reconstructed and this is used is valid at a node where xi has been fixed to to perform variable fixing. zero, the lifted inequality takes the form X Many branch-and-cut implementations use a ajxj + αixi ≤ h pool of cuts [32]. This is typically a set of con- j∈J straints that have been generated earlier and branch-and-bound algorithms cutting plane algorithms file: mitche2 date: September 15, 1998 6 either not included in the relaxation or sub- on a node of the computer. It is possible to use sequently dropped because they no longer ap- one node to manage the distribution of linear peared to be active. It is easy to check these programs to nodes. Alternatively, methods have cuts for violation and this is usually done before been developed where a common data struc- more involved separation routines are invoked. ture is maintained and all nodes access this data The pool of cuts also makes it possible to recon- structure to obtain a relaxation that requires so- struct the parent node more efficiently, partly lution, for example [18]. For a discussion of par- because difficulties with tailing off are reduced. allel branch-and-cut algorithms, see [7, 27]. It is Solving large problems. also possible to generate cutting planes in paral- lel; see, for example, [14]. For more information The difficulty of a particular integer program- on the use of parallel computers, see the entry ming problem is not purely a function of the size on parallel mixed integer programming. of the problem. There are problems in the MI- PLIB test set [6] with just a few hundred vari- Conclusions. ables that prove resistant to standard solution Branch-and-cut methods have been success- approaches. The difficulty is caused by an ex- fully used to solve both specialized integer pro- plosion in the size of the tree. gramming problems such as the traveling sales- man problem and vehicle scheduling, and also For some problems, difficulties are caused general integer programming problems. In both bythesizeoftheLPrelaxation,andinterior cases, these methods are the most promising point methods may be useful in such cases. In- techniques available for proving optimality. For terior point methods are superior to simplex specialized problems, cutting planes are derived methods for many linear programming problems using the polyhedral theory of the underlying with thousands of variables. However, restart- problem. For general mixed integer linear pro- ing is harder with an interior point method gramming problems, important components of than with a simplex method when the relaxation an efficient implementation include preprocess- is only slightly changed. Therefore, for very ing, primal heuristics, routines for generating large problems, the first relaxation at the top cutting planes such as lift-and-project or Go- node of the tree can be solved using an interior mory’s rounding procedure or cuts derived from point method, and subsequent relaxations can knapsack problems, and also routines for lifting be solved using the (dual) simplex method. For constraints to strengthen them. This is an ac- some problems, the relaxations are just too large tive research area, with refinements and devel- to be handled with a simplex method. For exam- opments being continuously discovered. ple, the relaxations of the quadratic assignment problem given in [25] were solved using interior References point methods. Interior point methods also han- [1] Applegate, D., Bixby, R., Chvatal,´ V., and dle degeneracy better than the simplex method. Cook, W.: Finding Cuts in the TSP (A prelimi- Therefore, the branch-and-cut solver described nary report), Tech. rep., Mathematics, AT&T Bell in [1] occasionally uses an interior point method Laboratories, Murray Hill, NJ, 1994. [2] Balas, E.: ‘Intersection cuts — a new type of cut- to handle some subproblems. ting planes for integer programming’, Operations One way to enable the solution of far larger Research 19 (1971), 19–39. problems is to use a parallel computer. The na- [3] Balas, E., Ceria, S., and Cornuejols,´ G.:‘A ture of branch-and-cut and branch-and-bound lift-and-project cutting plane algorithm for mixed 0- 1 programs’, Mathematical Programming 58 (1993), algorithms makes it possible for them to exploit 295–324. coarse grain parallel computers efficiently: typi- [4] Balas, E., Ceria, S., and Cornuejols,´ G.: cally, a linear programming relaxation is solved ‘Mixed 0–1 programming by lift-and-project in a interior point methods quadratic assignment problem parallel computer parallel mixed integer programming 7 date: September 15, 1998 file: mitche2

branch-and-cut framework’, Management Science [19] Gomory, R. E.: ‘Outline of an algorithm for integer 42 (1996), 1229–1246. solutions to linear programs’, Bulletin of the Amer- [5] Balas, E., Ceria, S., Cornuejols,´ G., and Na- ican Mathematical Society 64 (1958), 275–278. traj, N.: ‘Gomory cuts revisited’, Operations Re- [20] Gomory, R. E.: ‘An algorithm for integer solutions search Letters 19 (1996), 1–9. to linear programs’, Recent Advances in Mathemati- [6] Bixby, R. E., Ceria, S., McZeal, C. M., cal Programming,inR. L. Graves and P. Wolfe and Savelsbergh, M. W. P.: ‘An updated (eds.). McGraw-Hill, New York, 1963, pp. 269–302. mixed integer programming library: MIPLIB 3.0’, [21] Grotschel,¨ M., and Holland, O.: ‘Solution of Optima 58 (1998), 12–15, Problems available at large-scale travelling salesman problems’, Mathe- http://www.caam.rice.edu/bixby/miplib/miplib.html. matical Programming 51(2) (1991), 141–202. [7] Bixby, R. E., Cook, W., Cox, A., and Lee, [22] Hoffman, K. L., and Padberg, M.:‘Improv- E. K.: Parallel mixed integer programming, Tech. ing LP-Representation of Zero-One Linear Programs rep., Department of Computational and Applied for Branch-and-Cut’, ORSA Journal on Computing Mathematics, Rice University, Houston, Texas, June 3(2) (1991), 121–134. 1995. [23] Hoffman, K. L., and Padberg, M.: ‘Solving Air- [8] Bixby, R. E., and Lee, E. K.: ‘Solving a truck dis- line Crew Scheduling Problems by Branch-and-Cut’, patching scheduling problem using branch-and-cut’, Management Science 39(6) (1993), 657–682. Operations Research 46 (1998), 355–367. [24] Joy, S., Borchers, B., and Mitchell, J. E.: [9] Boyd, E. A.: ‘Fenchel Cutting Planes for Integer ‘A branch-and-cut algorithm for MAX-SAT and Programs’, Operations Research 42 (1994), 53–64. weighted MAX-SAT’, Satisfiability Problem: Theory [10] Brunetta, L., Conforti, M., and Rinaldi, G.: and Applications,inD. Du, J. Gu, and P. Parda- ‘A branch-and-cut algorithm for the equicut prob- los (eds.), Vol. 35 of DIMACS Series in Dis- lem’, Mathematical Programming 78 (1997), 243– crete Mathematics and Theoretical Computer Sci- 263. ence. AMS/DIMACS, 1997, pp. 519–536. [11] Ceria, S., Cordier, C., Marchand, H., and [25] Junger,¨ M., and Kaibel, V.: A basic study of the Wolsey, L. A.: ‘Cutting plane algorithms for inte- QAP polytope, Tech. Rep. 96.215, Institut f¨ur Infor- ger programs with general integer variables’, Math- matik, Universit¨at zu K¨oln, Pohligstraße 1, D-50969 ematical Programming 81 (1998), 201–214. K¨oln, Germany, 1996. [12] Ceria, S., Cornuejols,´ G., and Dawande, M.: [26] Junger,¨ M., and Mutzel, P.: ‘Maximum planar ‘Combining and strengthening Gomory cuts’, in subgraphs and nice embeddings — practical layout E. Balas and J. Clausen (eds.): Lecture Notes in tools’, Algorithmica 16 (1996), 33–59. Computer Science, Vol. 920, Springer-Verlag, 1995. [27] Junger,¨ M., and Stormer,¨ P.: Solving large-scale [13] Christof, T., Junger,¨ M., Kececioglu, J., traveling salesman problems with parallel branch- Mutzel, P., and Reinelt, G.: ‘A branch-and- and-cut, Tech. Rep. 95.191, Institut f¨ur Informatik, cut approach to physical mapping with end-probes’: Universit¨at zu K¨oln, Pohligstraße 1, D-50969 K¨oln, Proceedings 1st International Conference on Com- Germany, 1995. putational Molecular Biology (RECOMB-1), Santa [28] Junger,¨ M., and Thienel, S.: The design of Fe, New Mexico, 1997. the branch-and-cut system ABACUS, Tech. Rep. [14] Christof, T., and Reinelt, G.: Parallel Cutting 97.260, Institut f¨ur Informatik, Universit¨at zu K¨oln, Plane Generation for the TSP (Extended Abstract), Pohligstraße 1, D-50969 K¨oln, Germany, 1997. Tech. rep., IWR Heidelberg, Germany, 1995. [29] Lovasz,´ L., and Schrijver, A.: ‘Cones of matri- [15] Chvatal,´ V.: ‘Edmonds polytopes and a hierarchy ces and set-functions and 0-1 optimization’, SIAM of combinatorial problems’, Discrete Mathematics 4 Journal on Optimization 1 (1991), 166–190. (1973), 305–337. [30] Nemhauser, G. L., Savelsbergh, M. W. P., and [16] Cordier, C., Marchand, H., Laundy, R., and Sigismondi,G.C.: ‘MINTO, a Mixed INTeger Op- Wolsey,L.A.: bc-opt: A branch-and-cut code for timizer’, Operations Research Letters 15 (1994), 47– mixed integer programs, Tech. rep., CORE, Univer- 58. sit´e Catholique de Louvain, Louvain-la-Neuve, Bel- [31] Nemhauser,G.L.,andWolsey,L.A.: Integer gium, October 1997. and Combinatorial Optimization, John Wiley, New [17] Crowder, H. P., Johnson, E. L., and Padberg, York, 1988. M.: ‘Solving large-scale zero-one linear programming [32] Padberg, M., and Rinaldi, G.: ‘A branch-and-cut problems’, Operations Research 31 (1983), 803–834. algorithm for the resolution of large-scale symmetric [18] Eckstein, J.: ‘How much communication does par- traveling salesman problems’, SIAM Review 33(1) allel need?’, INFORMS Journal (1991), 60–100. on Computing 9 (1997), 15–29. file: mitche2 date: September 15, 1998 8

[33] Sherali, H. D., and Adams, W. P.: ‘A hierar- chy of relaxation between the continuous and con- vex hull representations for zero-one programming problems’, SIAM Journal Discrete Mathematics 3 (1990), 411–430. [34] Wolsey,L.A.: ‘Valid inequalities for mixed inte- ger programs with generalized and variable upper bound constraints’, Discrete Applied Mathematics 25 (1990), 251–261. John E. Mitchell Mathematical Sciences Rensselaer Polytechnic Institute Troy NY USA E-mail address: [email protected] AMS 1991 Subject Classification: 90C10, 90C11, 49M35, 90C06. Key words and phrases: cutting planes, branch- and-bound, integer programs, exact algorithms.