All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.

Description

Local cuts for mixed-integer programming Vašek Chvátal Department of Computer Science and Software Engineering Concordia University, Canada William Cook School of Industrial and Systems Engineering Georgia

Transcript

Local cuts for mixed-integer programming Vašek Chvátal Department of Computer Science and Software Engineering Concordia University, Canada William Cook School of Industrial and Systems Engineering Georgia Institute of Technology Daniel Espinoa Department of Industrial Engineering Universidad de Chile August 10, 2009 Abstract A general framework for cutting-plane generation was proposed by Applegate et al. in the context of the traveling salesman problem. The process considers the image of a problem space under a linear mapping, chosen so that a relaxation of the mapped problem can be solved efficiently. Optimiation in the mapped space can be used to find a separating hyperplane if one exists, and via substitution this gives a cutting plane in the original space. We apply this procedure to general mixed-integer programming problems, obtaining a range of possibilities for new sources of cutting planes. 1 Introduction Consider a mixed-integer set P IP = {x R n : Ax = d; l x u; x j Z, j I}, (1) where A Q m n, d Q m, l (Q { }) n, u (Q {+ }) n, and I {1,...,n}. As usual, Z, Q, and R denote the integer, rational, and real numbers, respectively. Given an objective vector c Q n, the problem of maximiing c T x subject to x P IP is a mixed-integer programming (MIP) problem. A linear relaxation P LP = {x R n : Ax = d; A x d ; l x u} (2) Supported by NSF Grant CMMI and ONR Grant N Supported by FONDECYT Grant and ICM Grant P05-004F. 1 of P IP is obtained by dropping the integer restrictions on the variables x j for j I, and possibly adding a system of inequalities A x d that is satisfied by all vectors in P IP. The additional inequalities A x d are called cutting planes, or cuts. In the cutting-plane method, cuts are added in an iterative fashion, selecting inequalities that are valid for P IP, but violated by an optimal solution x to the linear programming (LP) problem max(c T x : x P LP ). The cutting-plane method is combined with a branch-and-bound search in a hybrid algorithm, known as branch-and-cut, that is the most successful MIP solution approach to date. Given a basic optimal solution x to max(c T x : x P LP ), an elegant technique of Gomory [20] efficiently produces a cutting plane whenever x / P IP. Indeed, the Gomory mixed-integer (GMI) cuts found by this method are one of the most important practical sources of MIP cutting planes, as reported in computational tests by Bixby et al. [11]. In their study, effectiveness is measured by the improvement in the overall running time of the branch-and-cut algorithm for solving a specific large collection of MIP instances. In other studies, effectiveness is measured as the increase in the lower bound produced by the optimal objective value of the LP relaxation problem. With either measure, the additional value of GMI cuts tends to decrease as more and more cuts are added. The current practical reply to this decreasing performance is to use a variety of techniques for producing cuts in MIP solvers. Classes of MIP cutting planes currently adopted in leading codes include GMI cuts [9], mixed-integer-rounding (MIR) inequalities [27], knapsack covers [18, 23], flow covers [22], lift-and-project cuts [8] and {0, 1 2 }-Chvátal-Gomory cuts [16]. An alternative approach to cutting-plane generation was proposed by Applegate et al. [5] in the context of the traveling salesman problem (TSP). This work introduced a local-cuts procedure that relies on the equivalence of optimiation and separation to get cuts from small (graphical) TSP instances that are the result of linear mappings of the original problem. The general process was subsequently adopted by Buchheim et al. [14, 15] in the solution of constrained quadratic 0-1 optimiation problems and by Althaus et al. [4] in the solution of Steiner-tree problems. The goal of the current paper is to develop the local-cuts paradigm for general mixed-integer programming. We begin in Section 2 by presenting a standard LP-based method for generating MIP cuts using an oracle description of a relaxation of the original problem. In Section 3 we show how to obtain facets, or high-dimensional faces, from valid inequalities produced by the cut-generation process, generaliing the tilting procedure of Applegate et al. This is followed, in Section 4, by a discussion of linear mappings to simplify the mixed-integer set P IP. In Section 5 we present the overall framework for local cuts for general MIP problems, and discuss results of a computational study using a simple choice of a mapping function. 2 Separation via optimiation Let P R n be a rational polyhedron and let x Q n. The separation problem for (P,x ) is to find an inequality a T x b that is valid for P but violated by x, if such an inequality exists. A fundamental result in LP theory is the polynomial-time equivalence of separation and optimiation for rational polyhedra, via the ellipsoid method. This theorem and its many combinatorial applications are discussed in Grötschel et al. [21]. In this context, polyhedra are represented implicitly. For example, the convex hull of a mixed-integer set P IP can be represented by Ax = d, l x u and x i Z, i I {1,...,n}, rather than by an explicit linear description of the polyhedron. 2 We say that OPT is an optimiation oracle for P if, for any c Q n, it asserts that P is the empty set, or provides x P Q n such that c T x c T x for all x P, or provides a ray r Q n of P such that c T r 0. (A vector r is called a ray of the polyhedron P if there exists x P such that x+λr P for all positive scalars λ.) The output of the oracle is of the form (status,β,y), where status is one of empty, unbounded or optimal; β contains the optimal value of max(c T x : x P) if the problem has an optimal solution; and y contains the optimal solution or an unbounded ray if the status isoptimal orunbounded, respectively. An optimiation oracle can be used as a practical vehicle for solving the separation problem without resorting to the ellipsoid method (which can be overly time-consuming in this context). This idea was championed by Boyd [12, 13], who introduced a cutting-plane technique for MIP instances where the variables are restricted to take on 0 or 1 values. Boyd considers single-row relaxations, where his access to the corresponding polytope is via an optimiation oracle, implemented as a dynamic-programming algorithm for 0-1 knapsack problems. His separation method is a variant of the simplex algorithm, and he calls the separating inequalities Fenchel cutting planes. In our work on general MIP instances, we adopt a straightforward approach, based on an LP formulation of the separation problem. Let us write the rational polyhedron P as P g + P r, where P g is a bounded polyhedron having vertices {g i : i I g } Q n and P r is a convex cone generated by rays {r i : i I r } Q n ; here I g and I r are finite sets, allowing us to index the vertices and rays. A given x Q n is an element of P if and only if there is a solution (λ g,λ r ) to the system λ g i gi + λi r r i = x, e T λ g = 1, λ g,λ r 0, (3) i I g i I r where e Q n denotes the vector of all ones. By duality, system (3) has no solution if and only if there exist a Q n and b Q such that a T g i b 0, i I g, a T r i 0, i I r, a T x b 0. (4) Any cut that separates x from P corresponds to a solution of (4). To choose among these possible cuts, we formulate the problem of maximiing the violation subject to the normaliation a 1 = 1, that is, we set the L 1 -norm of a to 1. This is a technique described in a number of studies, for example, Balas et al. [8]. The resulting LP model is max a T x b s.t. a T g i b 0, i I g, a T r i 0, i I r, a u+v = 0, e T (u+v) = 1, u,v 0. (5) Its LP dual can be written as s.t. min s λ g i gi + λi rri + w = x, i I g i I r e T λ g = 1, w+se T 0, w+se T 0, λ r,λ g 0. (6) 3 The LP problem (6) has 3n + 1 constraints other than bounds on individual variables. If we choose to minimie a 1 subject to the constraint a T x = b+1, then we obtain the following formulation for the problem min e T (u+v) s.t. a T g i b 0 i I g, a T r i 0 i I r, a v+u = 0, a T x b = 1, u,v 0, (7) whose dual is max s s.t. sx λ g i gi λi rri + w = 0, i I g i I r s+e T λ g = 0, λ g,λ r 0, e w e. Note that (8) has only n+1 constraints other than bounds on individual variables. Problem (8) is trivially feasible (the all-ero vector is always a solution); if (8) has an optimal solution, its dual gives us a separating inequality for P and x ; if (8) is unbounded, then the unbounded ray provides us with a decomposition of x into elements of P g and P r, thus yielding a proof that x P. Finally, note that problems (5) and (7) are essentially the same, in the sense that any optimal solution of (5) is an optimal solution of (7) (after scaling) and any optimal solution of (7) is an optimal solution for (5) (after scaling). The large number of variables in problem (8) can be handled by employing a column-generation technique. To begin, we select any (possibly empty) subsets of points and rays in P, with index sets I g and I r, respectively. We then solve (8) with this new I g and I r. If the LP problem is unbounded, then we have a proof that x P. Otherwise, we obtain a tentative inequality a T x b that is violated by x. The optimiation oracle can be called to check whether P {x : a T x b} by maximiing a T x over P. If P {x : a T x b}, we return with the inequality a T x b. Otherwise, we either find a point g j P such that a T g j b and add j to I g, or we find a ray r j of P such that a T r j 0 and add j to I r, and repeat the process. A pseudo-code for the method is given in Algorithm 1. We apply Algorithm 1 in our local-cuts procedure, after mapping to a space where an efficient optimiation oracle is available. 3 Obtaining high-dimensional faces Consider a rational polyhedron P /0, a rational vector x / P, and a separating inequality (8) a T x b (9) found by Algorithm 1. We describe an algorithm that transforms (9) into an inequality defining a facet of P. The method extends the tilting algorithm for bounded polyhedra given by Applegate et al. [5] in the context of the TSP. Let P be the set of points found in Algorithm 1 satisfying (9) at equality; the assumptions imply /0. For arbitrary y o P, define P, the orthogonal complement of P, as P := { x R n : x T (y y o ) = 0, y P }. 4 Algorithm 1 Separation through optimiation oraclesep(opt,x,i g,i r ) Require: OPT is an optimiation oracle for P, x is a point to be separated from P, I g indexes an initial set of points in P, I r indexes an initial set of rays of P. 1: loop 2: Solve (8) over I g and I r. 3: if (8) is unbounded then 4: return x P. 5: let a,b be an optimal dual solution to (8) 6: (status,β,y) OPT(a). 7: if status = unbounded then 8: add y to the set of rays indexed by I r. 9: else if status = optimal and β b then 10: add y to the set of points indexed by I g. 11: else 12: return x / P, (a,b) Let Po := {p 1,..., p r } be a generating set for a subspace of the linear space P, and let x be a point in P such that a T x b. If Po generates all of P, then (9) defines a facet of P if and only if the system w(p T i y o )+v T p i = 0, p i P o, (10a) w v T x i = 0, x i, (10b) w v T x = 0, (v,w) [ 1,1] n+1 (10c) (10d) has as unique solution the all-ero vector. Problem (10) can be interpreted as: Is there a hyperplane that passes through {x} and is orthogonal to the set of equations defining P? If the points in define a facet of P, then the answer is no, that is, the only solution to (10) is the all-ero vector. Note that condition (10d) is not really needed, but it is included to make the feasible region of (10) a compact set; on the other hand, condition (10c) ensures P {x : a T x = b}, that is, (9) defines a proper face of P. The idea is to iteratively build,po and candidate inequalities using the conditions in (10). For that, we start with as the active points on our current candidate inequality, and with Po = /0 (or any previously known subset of Po ). The facet-finding algorithm ensures that at every iteration either the dimension of the candidate sets or Po is increased, while possibly modifying the current inequality, or it proves that (9) defines a facet of P, or it proves that (9) is valid for P as an equation. We do this in such a way that all access to P is through an optimiation oracle OPT. To determine if our current inequality a T x b defines a proper face of P, we maximie a T x over P. If the LP problem is unbounded, then we easily find a point x P such that a T x b; if, on the other hand, the problem has an optimal solution with value different from b, then such an optimal solution provides us with the sought x P; otherwise, the optimal value is b, thus proving that a T x = b is a valid equation for P that is violated by x. If a T x b defines a proper face of P, then, using x, we check if the only solution to (10) is the all-ero vector. If this is the case, then we have a certificate that a T x b defines a facet of P. 5 Otherwise, (v,w,x), with v 0, certifies that the current inequality is not facet-defining. Suppose we have a non-facet certificate (v,w,x). In this case we would like to increase the dimension of or of P o. The idea we use is to tilt our current inequality a T x b, using as pivot the set, and using as rotating direction the vector (v,w), until we touch the border of P, identifying a new affinely independent point. To illustrate this method, consider P := {(y,) R 2 : x P,y = a T x, = v T x}, as given in Figure 1. In this example, rotating a T x b produces the w ւa t +x b + P x x y a t x b a T x b Figure 1: The gray area represents P ; the points x, and x refer to their projection into P. inequalities a T +x b + and a T x b, indicated in the figure. If we restrict ourselves to moving in this two-dimensional space, then these two inequalities are the only ones we can obtain by rotating a T x b. w P a t +x b + x x y w at = x b = P x x y a t x b a T x b a T x b w P (a) x x y w P (b) x a t +x b + x a t x b y a t +x b + a t x b a T x b a T x b (c) (d) Figure 2: Possible ill-behaving outcomes for the mapping of P. We must bear in mind that Figure 1 is just one possible outcome for P. Indeed, Figure 2 shows four ill-behaving cases. Figure 2(a) is an example where one of the resulting inequalities coincides with v T x w; Figure 2(b) shows an example where v T x = w is a valid equation for P, giving us a new vector p to add to P o ; Figure 2(c) shows an example where one side of the tilting is in fact our original inequality a T x b; and Figure 2(d) shows an example where both sides of the tilting are our original inequality. 6 We provide a tilting algorithm in Section 3.1, but in the meantime, let us assume that we have a tilting routine with the following characteristics: Condition 1 (Abstract Tilting Procedure: TILT(a,b,v,w,x,,OPT )). Input The input of the algorithm should satisfy all of the following: a T x b defines a face of P and P is a set of points satisfying a T x = b. v T x w is an additional inequality such that v T x = w for all x. x P is such that a T x b and v T x = w. OPT is an optimiation oracle for P. Output The output should be: (v,w,x ) where (v,w ) is a non-negative combination of (v,w) and of (a,b), max(v T x : x P) = w, and x belongs to P and satisfy both v T x = w and is affinely independent from. If we have a non-facet certificate (v,w,x) for the inequality a T x b with point set and equation set P o, then we can obtain both a +,b + and a,b with the calls (a +,b +,x + ) =TILT(a,b,v,w,x,,OPT), and (a,b,x ) =TILT(a,b, v, w,x,,opt). With this information, we can finish our facet procedure. If (v +,w + ) = (v,w), and (v,w ) = ( v, w), then we are in the situation depicted in Figure 2(b), and we can add v to Po, increasing its dimension by one. In any other situation we have two (possibly identical) inequalities, and we pick the one which is most violated by x 1 ; assuming that a +,b + is the most violated one, we replace a,b with a +,b + and add x + to. Note that the newly added point increases the dimension of by one. Since at every step we either increase the dimension of Po or increase the dimension of, the algorithm performs at most n iterations, and in every iteration we produce (or keep) a separating inequality. An outline of the complete method is given in Algorithm Solving the tilting problem We now describe an algorithm that performs the tilting procedure satisfying Condition 1. We assume that we have a valid inequality ax b for P, a non-empty, finite set P for which every element x satisfies a T x = b. We also have another inequality (although it might not be valid for P) v T x w and a point x P, such that all x and x satisfy v T x = w and such that a T x b. We show how to obtain a +,b + ; the procedure for a,b is completely analogous. Our objective is to find a valid inequality v T x w for P and a point x that is affinely independent from and is such that v T x = w. The idea is to use v T x w as our candidate output constraint, and x as our candidate for an affinely independent point, thus, we only need to check if max(v T x : x P) = w. If we maximie v T x over P and there is an optimal solution with value w, then we are in the situation depicted by Figure 2(a) or Figure 2(b). In this case, we return v T x w as our tilted inequality and report x as our new affinely independent point. 1 It is easy to see that at least one of them must be violated by x if the original ax b was violated by x 7 Algorithm 2FACET(a,b,x,,P o,opt) Require: a T x b is valid for P and a T x b; /0 P is such that a T x = b for all x ; P o P ; OPT is an optimiation oracle for P. 1: x o x /* select some point of. */ 2: loop 3: /* find proper face certificate */ 4: (status,β,y) OPT( a). 5: if status = optimal and β = b then 6: return (equation, a,b) /* P {x : a T x = b} */ 7: else if status = unbounded then 8: x y+x o. 9: else 10: x y. 11: /* get (non-)facet certificate */ 12: if (0,0) is the unique solution for Problem (10) then 13: return (facet, a, b) 14: (v,w) a non-trivial solution for Problem (10). 15: (a +,b +,x + ) TILT(a,b,v,w,x,,OPT ). 16: (a,b,x ) TILT(a,b, v, w,x,,opt ). 17: /* update a,b,,p o */ 18: if (a +,b + ) = ( a, b ) = (v,w) then 19: Po Po {v}. /* grow dimension of Po */ 20: else 21: λ + ( a T +x ) b + / a+. 22: λ ( a T x ) b / a. 23: if λ + λ then 24: (a,b) (a +,b + ). 25: {x + }. /* grow dimension of */ 26: else 27: (a,b) (a,b ), 28: {x }. /* grow dimension of */ 8 If max(v T x : x P) is unbounded, then we are in the situation depicted by Figure 2(c) or by Figure 1. In this case, we have a ray r of P returned by the optimiation oracle. Since a T x b is a valid inequality for P, we have a T r 0. Let x = x+r, where x is any point in, note that x is affinely independent from, since v T x = w for all points in and v T r 0. If, on the other hand, max(v T x : x P) exists, then define x as the optimal solution to max(v T x : x P) that is returned by the oracle; in this case, we have again that x is affinely independent from. x 1 x2 x 1 x2 P x 3 P x 3 x 4 x 4 x 1 x o (a) x2 x y x 1 x o (b) x2 x y P x 3 P x 3 x 4 x 4 x 1 x o (c) x2 x y x 1 x o (d) x2 x y P x 3 P x 3 x 4 x 4 x o (e) x y x o (f) x y Figure 3: Sequence of push steps for P. To continue our algorithm we will find a positive combination of v T x w and of a T x b such that every point in still satisfies it at equality, but such that x also satisfies it at equality. For this let λ := v T x w 0, µ := b a T x 0, and define the inequality (v,w ) = λ(a,b)+ µ(v,w). (11) Since (11) is a positive combination of (a,b) and (v,w), every point x in satisfies v T x = w. Moreover, x also satisfies (11) at equality. To see this, note that v T x w = λ(a T x b)+ µ(v T x w) = λ µ + µλ = 0. Now we replace (v,w) by (v,w ) and x by x, and we repeat the previous process. Every step where we redefine our tentative (v,w) inequality is called a push step. Figure

Advertisements

Related Documents

Aug 19, 2018

Aug 19, 2018

Related Search

We Need Your Support

Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks

SAVE OUR EARTH

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...Sign Now!

We are very appreciated for your Prompt Action!

x