Chapter 10 Disjunctive Programming

Egon Balas

Introduction by Egon Balas

In April 1967 I and my family arrived into the US as fresh immigrants from be- hind the Iron Curtain. After a fruitful semester spent with ’s group in Stanford, I started working at CMU. My debut in and entry ticket into Academia was the additive algorithm for 0-1 programming [B65], an im- plicit enumeration procedure based on logical tests akin to what today goes under the name of constraint propagation. As it used only additions and comparisons, it was easy to implement and was highly popular for a while. However, I was aware of its limitations and soon after I joined CMU I started investigating cutting plane procedures, trying to use for this purpose the tools of convex analysis: support func- tions and their level sets, maximal convex extensions, polarity, etc. During the five years starting in 1969, I proposed a number of procedures based on the central idea of intersection cuts [2] (numbered references are to those at the end of the paper, whereas mnemonicized ones are to the ones listed at the end of this introduction): Given any convex set S containing the LP optimum of a mixed integer program (MIP) but containing no feasible integer point in its interior, one can generate a valid cut by intersecting the boundary of S with the extreme rays of the cone defined by the optimal solution to the relaxation of the MIP and tak- ing the hyperplane defined by the intersection points as the cut. The search for the most appropriate sets S in this role has led to the concept of outer polars and related constructs [3, 6]. In our days, the idea of intersection cuts has been revived in the form of cutting planes from convex sets with lattice-free interiors, and is the object of numerous investigations (e.g., [ALWW07], [BC07], [CM07], [DW07]). It was this line of research that has led to the idea of disjunctive programming, through a process outlined in section 1 of the paper below. Optimizing a function

Egon Balas Carnegie Mellon University, Pittsburgh, USA e-mail: [email protected]

M. Jünger et al. (eds.), 50 Years of Integer Programming 1958-2008, 283 DOI 10.1007/978-3-540-68279-0_10, © Springer-Verlag Berlin Heidelberg 2010 284 Egon Balas subject to a set of linear inequalities connected by conjunction or disjunction is a special type of nonconvex programming problem called disjunctive programming. Mixed 0-1 programming is its most important special case. More broadly speak- ing, disjunctive programming is optimization over a union of polyhedra. The basic document on disjunctive programming is the July 1974 technical report “Disjunc- tive Programming: Properties of the convex hull of feasible points,” MSRR #348, referenced as [10] in the survey below, which however has not appeared in print until 24 years later, when it was published as an invited paper with a preface by Gerard´ Cornuejols´ and Bill Pulleyblank [B98]. The reasons for this situation are complex. The 1974 paper was not rejected, but the report I received at the end of a very long refereeing process was asking for a revision that would have involved a major rewriting effort at a time when I was engaged in other, complementary re- search projects. As a result, when shortly thereafter I was invited by the late Peter Hammer to prepare an introductory survey of disjunctive programming for the up- coming 1977 ARIDAM conference in Vancouver, I decided to incorporate into that survey the main results of MSSR #348 and forego its publication as a stand alone paper. This is how this survey came about. Looking back on that decision, I find that not much of substance was lost. Sec- tions 2–6 of this survey adequately summarize the main findings of the 1974 pa- per, with one important exception, which I will now explain. MSRR #348 explored the basic properties of disjunctive programs from a polyhedral point of view. It gave two compact characterizations of the convex hull of a union P of polyhe- i i dra Pi = x : A x b , i Q, in a higher dimensional space, a procedure we call today extended{ formulation.≥ } ∈ The first one describes convP as the set of points x i i i i i i i satisfying x = ∑(x : i Q) for some (x ,x0), i Q, such that A x b x0,i Q, i i ∈ ∈ ≥ ∈ ∑(x0 : i Q) = 1, x0 0,i Q. The second one describes the facets of convP as the vertices∈ of the reverse≥ ∈ polar of P, defined as P# := y : yx 1 x P , shown to be the set of points y satisfying y uiAi,i Q for{ some u≥i 0 such∀ ∈ that} uibi 1, i Q. Both characterizations are linear≥ in Q∈ , the number of≥ polyhedra in the union.≥ ∈ In a certain sense the two characterizations| | are equivalent: projecting the higher-dimensional polyhedron of the convex hull characterization onto the x-space yields the set of all valid inequalities and conversely, taking the reverse polar of the reverse polar yields the convex hull. Thus in the survey paper I only included the second characterization, so that the first one did not appear in print until 1985 [B85]. But it is precisely this first characterization which has served as a prototype for the many extended formulations that have proved to be such prolific tools for polyhedral analysis of combinatorial problems, starting with the early studies of this type in the 1980’s [BP83], [BP89], [BLP89], and continuing with a plethora of results, the more recent ones being exemplified by [PW06], [A06], [CW08]. It is also this first char- acterization that was generalized to nonlinear disjunctive programming [SM99] and was extensively used in the modeling of a variety of practical situations in industry. Habent sua fata libelli, goes the Latin saying: books have their own fate. This apparently also applies to papers or theorems or discoveries. While the work on disjunctive programming, including the cutting planes that it entailed, stirred little if any enthusiasm at the time of its inception, about 15 years later when Sebas- 10 Disjunctive Programming 285 tian Ceria, Gerard´ Cornuejols´ and myself recast essentially the same results in a new framework which we called lift-and-project [BCC93], the reaction was quite different. This time our work was focused on algorithmic aspects, with the cutting planes generated in rounds and embedded into an enumerative framework (branch and cut), and was accompanied by the development of an efficient computer code (MIPO, developed by Sebastian) that was able to solve many problem instances that had been impervious to solution by branch-and-bound alone. Our interest in return- ing to the ideas of disjunctive programming was prompted by the exciting work of Lovasz´ and Schrijver on matrix cones [LS91]. We discovered that a streamlined version of the Lovasz-Schrijver´ procedure was isomorphic to the disjunctive pro- gramming procedure for generating the integer hull of a 0-1 program by starting with the higher dimensional representation and projecting it onto the original space. Thus the Lovasz-Schrijver´ Theorem according to which n applications of this pro- cedure (n being the number of 0-1 variables) yields the integer hull, follows directly from the sequential convexification procedure for facial disjunctive programs, of which 0-1 programs are a prime example (see Section 6 below). The reader will no doubt recognize in the linear program P1∗(g,α0) preceding Theorem 4.4 of section 4 below, the ancestor of the cut generating linear program of the lift-and-project (L&P) algorithm [BCC93], which is the specialization of P1∗(g,α0) to the case of the disjunction xk = 0 or xk = 1. The computational success of L&P cuts triggered a strong revival of interest in cutting planes. Gerard´ and Sebastian soon discovered [BCCN96] that mixed inte- ger Gomory (MIG) cuts, when used in the MIPO fashion, i.e., generated in rounds and embedded into a branch-and-bound framework, could also solve many of the problem instances unsolved at the time. Since the MIG cuts were easier to imple- ment than the L&P ones, they were the first to find their way into the commercial codes. The combination of cutting planes with branch and bound played a central role in the revolution in the state of the art in integer programming that started in the mid-90s. The commercial implementation of lift-and-project cuts had to await the discovery of a method [BP03], [P03] for generating them directly from the LP simplex tableau, without explicit recourse to the higher dimensional cut generating linear program. Today, due to the efforts of Pierre Bonami [BB07], an open-source implementation is also publicly available [COIN-OR].

References

[A06] A. Atamturk,¨ Strong formulations of robust mixed 0-1 programming, Mathematical Programming 108 (2006) 235–250. [ALWW07] K. Andersen, Q. Louveaux, R. Weismantel and L.A. Wolsey, Inequalities from two rows of the simplex tableau, Integer Programming and Combinatorial Optimization IPCO 12 (M. Fischetti and D.P. Williamson, eds.), Springer, 2007, pp. 1–16. [B65] E. Balas, An additive algorithm for solving linear programs in 0-1 variables, Opera- tions Research 13 (1965) 517–546. [B85] E. Balas, Disjunctive programming and a hierarchy of relaxations for discrete op- timization problems, SIAM Journal on Algebraic and Discrete Methods 6 (1985) 466–486. 286 Egon Balas

[B98] E. Balas, Disjunctive programming: Properties of the convex hull of feasible points, Invited paper with a Foreword by G. Cornuejols´ and G. Pulleyblank, Discrete Ap- plied Mathematics 89 (1998) 1–44. [BB07] E.BalasandP.Bonami, New variants of lift-and-project cut generation from the LP tableau: Open source implementation and testing, Integer Programming and Combi- natorial Oprtimization IPCO 12 (M. Fischetti and D.P. Williamson, eds.), Springer, 2007, pp. 89–103. [BC07] V. Borozan and G. Cornuejols,´ Minimal inequalities for integer constraints, Techni- cal Report, Tepper School, Carnegie Mellon University, 2007. [BCC93] E. Balas, S. Ceria and G. Cornuejols,´ A lift-and-project cutting plane algorithm for mixed 0-1 programs, Mathematical Programming 58 (1993) 295–324. [BCCN96] E. Balas, S. Ceria, G. Cornuejols´ and N. Natraj, Gomory cuts revisited, Operations Research Letters 19 (1996) 1–10. [BLP89] M. Ball, W. Liu and W.R. Pulleyblank, Two-terminal Steiner tree polyhedra, Contri- butions to Operations Research and , MIT Press, 1989, pp. 251–284. [BP83] E. Balas and W.R. Pulleyblank, The perfectly matchable subgraph polytope of a bi- partite graph, Networks 13 (1983) 495–516. [BP89] E. Balas and W.R. Pulleyblank, The perfectly matchable subgraph polytope of an arbitrary graph, Combinatorica 9 (1989) 321–337. [BP03] E. Balas and M. Perregaard, A precise correspondence between lift-and-project cuts, simple disjunctive cuts, and mixed integer Gomory cuts for 0-1 programming, Math- ematical Programming 94 (2003) 221–245. [CM07] G. Cornuejols´ and F. Margot, On the facets of mixed integer programs with two inte- ger variables and two constraints, Technical Report, Tepper School, Carnegie Mel- lon University, 2007. [COIN-OR] http://www.coin-or.org [CW08] M. Conforti and L.A. Wolsey, Compact formulations as a union of polyhedra, Math- ematical Programming 114 (2008) 277–289. [DW07] S.S. Dey and L.A. Wolsey, Lifting integer variables in minimal inequalities cor- responding to lattice-free triangles, Integer Programming and Combinatorial Opti- mization IPCO 13 (A. Lodi, A. Panconesi, and G. Rinaldi, eds.), Springer, 2008, pp. 463–475. [LS91] L. Lovasz´ and A. Schrijver, Cones of matrices and set functions and 0-1 optimization, SIAM Journal of Optimization 1 (1991) 166–190. [P03] M. Perregaard, A Practical implementation of lift-and-project cuts: a computational exploration of lift-and-project with XPRESS-MP, International Symposium on Math- ematical Programming, Copenhagen, August 2003. [PW06] Y. Pochet and L.A. Wolsey, Production Planning by Mixed Integer Programming, Springer, 2006. [SM99] R. Stubbs and S. Mehrotra, A branch and cut method for 0-1 mixed integer convex programming, Mathematical Programming 86 (1999) 515–532. 10 Disjunctive Programming 287 288 Egon Balas

The following article originally appeared as: E. Balas, Disjunctive Programming, Discrete Optimization II (P.L. Hammer, E.L. Johnson, and B.H. Korte, eds.), Annals of Discrete Mathematics 5 (1979) 3–51. Copyright c 1979 North-Holland Publishing Company. ° Reprinted by permission from Elsevier. 10 Disjunctive Programming 289 290 Egon Balas 10 Disjunctive Programming 291 292 Egon Balas 10 Disjunctive Programming 293 294 Egon Balas 10 Disjunctive Programming 295 296 Egon Balas 10 Disjunctive Programming 297 298 Egon Balas 10 Disjunctive Programming 299 300 Egon Balas 10 Disjunctive Programming 301 302 Egon Balas 10 Disjunctive Programming 303 304 Egon Balas 10 Disjunctive Programming 305 306 Egon Balas 10 Disjunctive Programming 307 308 Egon Balas 10 Disjunctive Programming 309 310 Egon Balas 10 Disjunctive Programming 311 312 Egon Balas 10 Disjunctive Programming 313 314 Egon Balas 10 Disjunctive Programming 315 316 Egon Balas 10 Disjunctive Programming 317 318 Egon Balas 10 Disjunctive Programming 319 320 Egon Balas 10 Disjunctive Programming 321 322 Egon Balas 10 Disjunctive Programming 323 324 Egon Balas 10 Disjunctive Programming 325 326 Egon Balas 10 Disjunctive Programming 327 328 Egon Balas 10 Disjunctive Programming 329 330 Egon Balas 10 Disjunctive Programming 331 332 Egon Balas 10 Disjunctive Programming 333 334 Egon Balas 10 Disjunctive Programming 335 336 Egon Balas 10 Disjunctive Programming 337 338 Egon Balas

The following article originally appeared as: E. Balas, Erratum to: Disjunctive Programming, Discrete Applied Mathematics 5 (1983) 247–248. Copyright c 1983 North-Holland Publishing Company. ° Reprinted by permission from Elsevier. 10 Disjunctive Programming 339 340 Egon Balas