AUSSOIS 2017 From final point cuts to!-polyhedral cuts Egon Balas, Aleksandr M. Kazachkov, François Margot Tepper School of Business, Carnegie Mellon University
Overview Background Generalized intersection cuts!-polyhedral cuts Validity Theoretical strength Extensions Computational results
Setting: mixed-integer linear programming Optimize over mixed-integer feasible region in R # min x c x (IP) (LP) Ax x 0 b & & ' x j 2 Z for all j 2 I Typically start with the LP relaxation and apply valid cuts to remove fractional LP solution $
Standard intersection cuts Solve the LP relaxation, yielding an optimal solution $ Intersect cone ( (defined by facets of ) tight at $ ) with a ) * - free convex set + These rays create, intersection points (or rays) with -. + Intersection points
Standard intersection cuts These points define a unique hyperplane: the standard intersection cut (SIC)
Standard intersection cuts These points define a unique hyperplane: the standard intersection cut (SIC)
Better ) * -free sets lead to stronger cuts Most commonly used general-purpose cuts in practice are split cuts, which include GMI, MIR, and CG cuts These are one-row cuts, using one equation to obtain the cut However, can actually use any ) * -free convex set to generate cuts Examples: trianglesand quadrilaterals, which are two-row cuts A further generalization: cuts from disjunctive sets Particularly nonsimple disjunctions
Non-simple disjunctive sets can lead to stronger cuts
Existing work on stronger cuts (partial list) Balas (1979) disjunctive programming Andersen, Louveaux, Weismantel, Wolsey (2007) sparked renewed interest Simple disjunctive cuts Espinoza (2010) Basu, Bonami, Cornuéjols, Margot (2011) (times 2) Balas, Qualizza (2013) Dey, Lodi, Tramontani, Wolsey (2014) Balas, Margot (2013) and Balas, K., Margot, Nadarajah GICs and PHA cuts Non-simple disjunctive cuts Balas, Ceria, Cornuéjols (1993, 1996) L&P cuts (only tested with splits) Perregaard, Balas (2001) Dash, Günlük, Vielma (2014) Louveaux, Poirrier, Salvagnin (2015)
Generalized intersection cuts (GICs)
Motivation for a new cutting plane method Traditional cutting plane approaches use recursion to reach strong cuts, which leads to numerical instability (e.g., degeneracy) In one round Goal Efficiently generate large number of strong cuts non-recursively Eventually (not this talk) Cut selection; quickly choose collection of cuts with favorable numerical properties and strength
New paradigm of generating cuts In one round Goal Efficiently generate large number of strong cuts non-recursively Idea (Balas and Margot, 2013) Obtain a collection of intersection points 0 and rays R Get cuts by finding inequalities satisfied by all these points and rays Not arbitrary collection
Which point-ray collections lead to valid cuts? Let 0 be a set of intersection points and R be a set of rays Consider feasible solutions 2, 4 R # {0, ±1} to following PRLP Generalized intersection cut min, w p for all p 2 P r 0 for all r 2 R If 2 $ 4 is valid for ) * (when >?@ < B) for all such 2, 4 Then (0, R) is a proper point-ray collection For example, maximize violation with respect to?@ such that no intersection point or ray is cut off
Insights from first practical implementation Balas, K., Margot, Nadarajah Activating hyperplanes as suggested by Balas and Margot impractical Introduced generalization called partial hyperplane activation to get first real insights into getting strong GICs Results lead to new idea: focus directly on how to get a strong pointray collection What are properties of point-ray collections that yield strong cuts?
Final intersection points Intersection point E bd H is final (with respect to S) if E ) Intermediate point Final points
Final intersection points Intersection point E bd H is final (with respect to S) if E ) Importance No cut valid for conv() int H) can cut a final point Cuts that lie on many final points are close to being facet-defining for conv() int H) Is there a good way to target final points?
Final point cuts Focused efforts on directly working with final points, which involved optimization over ) bd H However, the core of this new idea applies also to disjunctions Optimizing over the terms of a disjunction leads to points that are not necessarily intersection points Departure from generalized intersection cut framework
!-polyhedral cuts (VPCs)
Idea for!-polyhedral cuts We are interested in generating cuts from a valid disjunction S U R S (R S {$: X S $ Y S }) Perhaps can work directly with points in ) R S, Z [ Arbitrary points will not work; need to guarantee validity
Modification of definition of proper Let 0 be a set of intersection points and R be a set of rays Consider feasible solution 2, 4 R # {0, ±1} to following PRLP!-polyhedral cut (VPC) If 2 $ 4 is valid for ) * (when 2 $ < 4) Then (0, R) is a proper point-ray collection min, w p for all p 2 P r 0 for all r 2 R This is a significant departure from the original notion of GICs; in fact these may not be intersection cuts! (Balas, Kis 2016)
Theorem: sufficient condition for a point-ray collection to be proper Given: ] _(\ ]? ^]), a valid disjunction & ] = {? &: \ ]? ^]}, the restriction of & to term ] _ If 0 and R denote collections of points and rays such that, for all Z [, ) S conv 0 + cone R, then (0, R) is a proper point-ray collection!-polyhedral relaxation of each & ]
Connection to lift-and-project cuts Lift-and-project cuts can be used to find facet-defining inequalities for the disjunctive hull, clconv( ) S ) S U However, the cut-generating linear program can be expensive to solve and may have other undesirable properties that need special attention If for 0, R we use the!-polyhedral description of each ) S, then VPCs are equivalent in strength to lift-and-project cuts VPCs offer an efficient alternative to get facets
!-polyhedral cuts For simplicity, we illustrate our procedure for a simple split disjunction on an integer variable $ f that is fractional at $ Need to obtain a!-polyhedral description of relaxations for ) g = {$ ): $ f $ f } and ) k = {$ ): $ f $ f }
!-polyhedral cuts of type 1 & n = & {?:? o?@ o } & p = & {?:? o?@ o } Need ) g ) k conv 0 + cone(r)
!-polyhedral cuts of type 1 ) g = ) {$: $ f $ f } ) k = ) {$: $ f $ f } Need ) g ) k conv 0 + cone(r)
!-polyhedral cuts of type 1 Optimal solution r ] to stu v?:? & ] (for ] _) ) g = ) {$: $ f $ f } ) k = ) {$: $ f $ f } Need ) g ) k conv 0 + cone(r) Start with simple cone on each facet of the split (type 1 VPCs)
!-polyhedral cuts of type 1 Need ) g ) k conv 0 + cone(r) Start with simple cone on each facet of the split (type 1 VPCs) Any cut valid for each of the relaxations will be valid for ) *
!-polyhedral cuts of type 1 Need ) g ) k conv 0 + cone(r) Start with simple cone on each facet of the split (type 1 VPCs) Any cut valid for each of the relaxations will be valid for ) *
!-polyhedral cuts of type 1 Need ) g ) k conv 0 + cone(r) Start with simple cone on each facet of the split (type 1 VPCs) Any cut valid for each of the relaxations will be valid for ) *
Theoretical strength Cut lies on w points in the disjunctive hull, so it is facet-defining Theorem If (0, R) is a proper point-ray set, every point in 0 is final, and every ray in R has a final point in its interior, then every VPC defines a facet of clconv( ) S ) S U
Theoretical strength Cut lies on w points in the disjunctive hull, so it is facet-defining Corollary For Z [, let E S = min y $ $ ) S If all E S have a unique optimal basis, all type 1 VPCs are facetdefining for clconv( ) S ) S U
Further strengthening of VPCs Instead of ) S, we can obtain points and rays from any ){S with ) * R S ){S Idea Within ) S, use integrality to strengthen the relaxation, obtaining some ){S
Further strengthening of VPCs Idea Within ) S, use integrality to strengthen the relaxation, obtaining some ){S
Further strengthening of VPCs Idea Within ) S, use integrality to strengthen the relaxation, obtaining some ){S
Further strengthening of VPCs Idea Within ) S, use integrality to strengthen the relaxation, obtaining some ){S Then generate VPCs using new ){S
Further strengthening of VPCs Idea Within ) S, use integrality to strengthen the relaxation, obtaining some ){S Then generate VPCs using new ){S
Further strengthening of VPCs Simplest and most logical strengthening is applying GMI cuts (to the problem ) S for each Z [) This is fast, because we already have the tableau information Stronger approaches clearly exist
Computational results
Computational setup Implemented VPCs (+ strengthening) in COIN-OR framework Compared VPCs against standard intersection cuts (SICs) Cut-generating sets: simple split disjunction (elementary split) union of two simple splits (non-convex) Tested percent gap closed on 40 small instances from MIPLIB sets
Percent gap closed by type 1 VPCs % gap closed for SICs and VPCs of type 1, unstrengthened SIC VPC_splits VPC_crosses 14.21% 27.52% 30.88% Over 100% improvement over only SICs % gap closed for GMICs and VPCs of type 1, strengthened GMIC GMIC x 2 VPC+_splits VPC+_crosses 23.59% 31.78% 40.70% 45.60%
Cut selection: a challenge moving forward Each VPC is relatively fast to generate, but we can get a lot of cuts On the other hand, this aligns with one of our motivations! Given a collection of cuts, can we choose a small subset of them that are strong and have good numerical properties?
Conclusion We introduce a new approach,!-polyhedral cuts, that takes advantage of structural properties of an instance, has nice theoretical properties, and shows promising computational results Equivalent in strength to lift-and-project cuts, but more efficient Rich topic theoretically and practically, with many future directions, such as cuts from a partial branch-and-bound tree
Thank you! SIC VPC Questions? VPC+
Necessary and sufficient conditions for a point-ray collection to be proper A point-ray collection (0, R) is proper if and only if the line segment between $ and any point in ) * intersects conv(0) + cone(r) $ $ $