1 Date: September 15, 1998 File
Total Page:16
File Type:pdf, Size:1020Kb
1 date: September 15, 1998 file: mitche2 BRANCH-AND-CUT ALGORITHMS Branch-and-cut methods for general integer FOR INTEGER PROGRAMMING, 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 linear programming 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 i2N 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 i2R i then A very important component of a practi- i2R xi ≤|R|−1 is a valid inequality.