Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 1 Constraint Branching and Disjunctive Cuts for Mixed.

Slides:



Advertisements
Similar presentations
Solving LP Models Improving Search Special Form of Improving Search
Advertisements

Transportation Problem (TP) and Assignment Problem (AP)
Introduction to Algorithms
Dr. Sana’a Wafa Al-Sayegh
EE 553 Integer Programming
Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg Conflict Analysis SCIP Workshop at ZIB October 2007.
Lecture 10: Integer Programming & Branch-and-Bound
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
1 One Size Fits All? : Computational Tradeoffs in Mixed Integer Programming Software Bob Bixby, Mary Fenelon, Zonghao Gu, Ed Rothberg, and Roland Wunderling.
Linear Inequalities and Linear Programming Chapter 5
The Simplex Method: Standard Maximization Problems
Optimization for Network Planning Includes slide materials developed by Wayne D. Grover, John Doucette, Dave Morley © Wayne D. Grover 2002, 2003 E E 681.
Lift-and-Project cuts: an efficient solution method for mixed-integer programs Sebastian Ceria Graduate School of Business and Computational Optimization.
LP formulation of Economic Dispatch
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
LINEAR PROGRAMMING SIMPLEX METHOD.
Decision Procedures An Algorithmic Point of View
Optimizing over the Split Closure Anureet Saxena ACO PhD Student, Tepper School of Business, Carnegie Mellon University. (Joint Work with Egon Balas)
1. The Simplex Method.
Chapter 6 Linear Programming: The Simplex Method
The Two-Phase Simplex Method LI Xiao-lei. Preview When a basic feasible solution is not readily available, the two-phase simplex method may be used as.
Simplex method (algebraic interpretation)
Simplex Algorithm.Big M Method
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
Tobias Achterberg Konrad-Zuse-Zentrum für Informationstechnik Berlin Branching SCIP Workshop at ZIB October 2007.
Integer programming, MA Operational Research1 Integer Programming Operational Research -Level 4 Prepared by T.M.J.A.Cooray Department of Mathematics.
Linear Programming Erasmus Mobility Program (24Apr2012) Pollack Mihály Engineering Faculty (PMMK) University of Pécs João Miranda
1 1 Slide © 2005 Thomson/South-Western Linear Programming: The Simplex Method n An Overview of the Simplex Method n Standard Form n Tableau Form n Setting.
Chapter 4 Linear Programming: The Simplex Method
Gomory Cuts Updated 25 March Example ILP Example taken from “Operations Research: An Introduction” by Hamdy A. Taha (8 th Edition)“Operations Research:
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Divide and Conquer Optimization problem: z = max{cx : x  S}
1 Chapter 4 The Simplex Algorithm PART 2 Prof. Dr. M. Arslan ÖRNEK.
OR Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable.
OR Chapter 7. The Revised Simplex Method  Recall Theorem 3.1, same basis  same dictionary Entire dictionary can be constructed as long as we.
Chapter 10 Advanced Topics in Linear Programming
Business Mathematics MTH-367 Lecture 16. Chapter 11 The Simplex and Computer Solutions Methods continued.
Linear Programming: Formulations, Geometry and Simplex Method Yi Zhang January 21 th, 2010.
Copyright © 2006 Brooks/Cole, a division of Thomson Learning, Inc. Linear Programming: An Algebraic Approach 4 The Simplex Method with Standard Maximization.
1 Simplex algorithm. 2 The Aim of Linear Programming A Linear Programming model seeks to maximize or minimize a linear function, subject to a set of linear.
Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg Conflict Analysis in Mixed Integer Programming.
Sebastian Ceria Graduate School of Business and
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Chap 10. Sensitivity Analysis
From Mixed-Integer Linear to Mixed-Integer Bilevel Linear Programming
Exact Algorithms for Mixed-Integer Bilevel Linear Programming
The CPLEX Library: Mixed Integer Programming
Matteo Fischetti, University of Padova
The Two-Phase Simplex Method
Gomory Cuts Updated 25 March 2009.
Chapter 6. Large Scale Optimization
Chap 3. The simplex method
MIP Tools Branch and Cut with Callbacks Lazy Constraint Callback
Integer Programming (정수계획법)
Chapter 6. Large Scale Optimization
2. Generating All Valid Inequalities
Chapter 8. General LP Problems
Integer Programming (정수계획법)
11.5 Implicit Partitioning/Packing Problems
Chapter 8. General LP Problems
11.5 Implicit Partitioning/Packing Problems
Chapter 2. Simplex method
Intersection Cuts from Bilinear Disjunctions
Simplex method (algebraic interpretation)
Chapter 8. General LP Problems
Branch-and-Bound Algorithm for Integer Program
Chapter 6. Large Scale Optimization
Chapter 2. Simplex method
Intersection Cuts for Quadratic Mixed-Integer Optimization
Presentation transcript:

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 1 Constraint Branching and Disjunctive Cuts for Mixed Integer Programs Michael Perregaard Dash Optimization

IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 2 Small Example Optimal LP solution: z = 0 Optimal MIP solution: z = 1 Consider pure branch-and-bound. Will alternately branch on fractional x 1 or x 2. Requires exhaustive search of (x 1, x 2 ) = (0,49.5), (0.5,49), (1,48.5), …, (49.5, 0) 100 solutions to search. 100 times more with new x 3. Alternatively, branch on

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 3 Branching from Disjunctive Cuts Branching is imposing a disjunction valid for all (feasible) integer solutions, but not the current LP solution. Disjunctive cuts are derived from some base disjunction and often a strengthening argument. –Gomory’s Mixed Integer cuts. –Lift-and-Project cuts. –Reduce and Split cuts of Andersen, Cornuéjols and Li (2003). The strengthening of the cut can be transformed into a strengthening of the base disjunction. Use the strengthened base disjunction for branching.

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 4 Basic Mixed Integer Program We consider solving: Solve using branch-and-bound. Standard branching selects a single fractional variable x j and imposes disjunction Can we find a better disjunction?

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 5 Disjunctive Normal Form Example For constraint where e.g. x 1 and x 2 are fractional, we can create a disjunction

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 6 where for q  Q. Example If x 1, x 2 and x 3 are fractional binaries, we can consider the disjunction Leads to 2 3 = 8 branches. Split Disjunctions

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 7 Basic Disjunctive (Intersection) Cut Given disjunction (in nonbasic space) where, then with is a valid inequality that cuts off the LP solution.

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 8 Strengthening Disjunctions (Balas, Jeroslaw 1980) Let f q be the largest value for which is valid for (MIP). Set. Let for j  I, q  Q, be any set of integers that satisfies for all j  I. Then with is a valid inequality for (MIP)

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 9 Strengthening Disjunctions [continued] Instead of strengthening cut, as in modify the disjunction directly, as in (*) Basic disjunctive cut from (*) identical to strengthened cut.

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 10 Given valid disjunction for (MIP) Let for j  I, q  Q, be any set of integers. Then is a valid disjunction for (MIP) since must be integer. Strengthening Conjunctions Gomory’s Mixed Integer cuts and Lift-and-Project cuts strengthens in nonbasics. Andersen, Cornuéjols, Li cuts iteratively strengthens individual basics and all nonbasics.

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 11 General Branching Alternatives Ryan-Foster for Set Packing and Set Partitioning. –B.A. Foster and D.M. Ryan (1981). –Specifically designed for Set Partitioning constraints: Basis Reduction –H.W. Lenstra (1983) –Polynomial algorithm for solving integer programs for fixed number of variables. General Branching of Mehrotra, Owen (2001) –Tests each variable using LP reoptimization to determine “best” coefficient.

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 12 Even more Alternatives General Branching of Karamanov, Cornjuéjols (Monday) –Branches on Gomory cut related disjunction. Column Basis Reduction of Pataki (Thursday) Generalized Branching Methods of Mehrotra (Friday)

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 13 Small Examples objective

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 14 General vs. 0-1 branching General branching0-1 branching +Branch on any linear disjunction. -Adds new constraints  matrix size grows. -More difficult to get implications. -More basic integers  less reduced cost tightening. ?Heaps of choices -Branch on 0-1 disjunctions only +Changes bounds  matrix size unchanged. +Easy to get implications (bound propagation). +Branched variables will be non-basic  allows reduced cost tightening. ?Easy to find “best” choice.

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 15 Work in space of nonbasic variables Measure the quality of a disjunction through that of the implied disjunctive cut  x  1, with Evaluating a Disjunction

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 16 Evaluating a Cut Andersen, Cornuéjols, Li (2003) suggests minimizing the L 2 -norm of cut coefficients for continuous variables. What about scaling and cost? Consider reduced costs. Cost to satisfy the cut by increasing non-basic variable x j is at least. Make cut expensive to satisfy  maximize, or minimize. Since can be zero, we estimate a cut by

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 17 Improving a Disjunction - Nonbasics Express disjunction in nonbasics x N Strengthened cut coefficients in nonbasics are Find optimal for each j independently  easy. Note: For simple split disjunction optimal gives Gomory’s Mixed Integer cut.

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 18 Same strengthening applies to basic variable x k Use the row i of the simplex tableau in which x k is basic: to re-express the disjunction in nonbasics: Problem: Find optimal discrete amount to add simplex tableau row i (without basic x k ) to each term q of the disjunction. Improving a Disjunction - Basics

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 19 Procedure 1.Convert Xpress selected branching variable x k into a simple disjunction 2.Apply Gomory-esque strengthening to coefficients of non-basics in D. 3.Are there more basic, integer variables to use for strengthening? If not, stop. 4.Select basic, integer variable x i. Calculate optimal continuous coefficient m i in D. Update D with the better of or. Repeat from 2.

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 20 Test Set Miplib 3 – –65 instances, 15 with general integers Miplib 2003 – –61 instances, 15 with general integers H. Mittelmann’s test set – –63 instances, 6 with general integers 146 unique instances, 30 with general integers.

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 21 Instances with General Integers NameRowsColumnsBinariesIntegersInt.Gap arki atlanta-ip e9 bell3a bell blend flugpl gen gesa gesa2_o gesa gesa3_o gt manna momentum momentum NameRowsColumnsBinariesIntegersInt.Gap msc98-ip e9 mzzv mzzv42z neos neos neos neos neos noswot qnet qnet1_o roll rout timtab timtab  Instances not suited for general integer branching.

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 22 Computational Settings Implemented in C using Xpress 2005B optimizer library. Uses Xpress callbacks to override default branches with new constraint branches. No in-tree cutting. No heuristics. Best-first search. Run on a dual processor Opteron 246 system (2GHz, 4GB RAM, Linux OS).

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 23 Nonbasic Strengthening No StrengtheningSimple Strengthening InstanceTimeNodes (Bound) TimeNodes (Bound) arki001*( )*( ) atlanta-ip*(82.88)*(82.92) bell3a bell blend dsbmip1651 flugpl gesa2_o gesa gesa3_o gesa gt msc98-ip*( )* * Not finished in 1800 seconds gen, manna81: solved on root (excluded). noswot: can’t raise bound (excluded). atlanta-ip, dsbmip, msc98-ip, mzzv11, mzzv42z, neos10: very few branches on integers No StrengtheningSimple Strengthening InstanceTimeNodes (Bound) TimeNodes (Bound) mzzv11*(-21728)* mzzv42z neos neos16*(434)*(432) neos20*(-461)*(-468) neos7*(709934)*(713934) qnet1_o qnet roll3000*(12453)*(12456) rout *(1047) timtab1*(644157)*(570727) timtab2*(695712)*(660029)

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 24 Full Strengthening No StrengtheningFull Strengthening InstanceTimeNodes (Bound) TimeNodes (Bound) arki001*( )*( ) atlanta-ip*(82.88)*(82.89) bell3a bell blend dsbmip1651 flugpl gesa2_o gesa gesa3_o21292 gesa gt msc98-ip*( )* * Not finished in 1800 seconds. bell3a, bell5: Half the number of nodes of Nonbasic Strengthening. flugpl: reduced from 329 to 31 nodes. No StrengtheningSimple Strengthening InstanceTimeNodes (Bound) TimeNodes (Bound) mzzv11*(-21728)* mzzv42z neos neos16*(434)*(432) neos20*(-461)*(-468) neos7*(709934)*(713718) qnet1_o qnet roll3000*(12453)*(12459) rout *(1053) timtab1*(644157)*(552455) timtab2*(695712)*(642602)

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 25 Branching on Binaries Nonbasic Strengthening No Strengthening Strengthening on integer branches #Better43 #Worse1817 Comparing results from Nonbasic Strengthening on all Binary/Integer branches against previous results. Full Strengthening No Strengthening Strengthening on integer branches #Better75 #Worse1715 Comparing results from Full Strengthening on all Binary/Integer branches against previous results.

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 26 Reduced Cost Scaling of Cut Coefficients #Best#Worst  =  (no scaling) 612  = median reduced cost 83  = 0.1 * median reduced cost. 86

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 27 Improvement in Cut Estimate Average improvement in cut estimate relative to initial disjunction when applying either nonbasic improvement or full improvement.

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 28 Basic Improvement Coefficients Average optimal continuous coefficient for basic integer variables, excluding when zero is optimal.

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 29 Results on Full Test Set Using full strengthening on both binary and integer branches (137 instances). Strengthening?NoFull Both finished, least nodes 2518 One finished292 Both unfinished, best bound 390 No strengtheningFull strengthening InstanceTimeNodesTimeNodes bell bell3a mod gt flugpl mzzv42z l152lav lseu neos neos Top 10 with best performance when applying full strengthening.

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 30 Improv.  mindeg  maxdeg None Improv.  mindeg  maxdeg None Nonbas Improv.  mindeg  maxdeg None Nonbas Full L152LAV Sum of min and max degradation over best 25 nodes.

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 31 Client Set 1 Strengthening NameRowsColsRoot Objective Best Sol.NoneFullFull on cycles only d % ( ) % (37) % (227) d % (621444) % (35) % (10248) d % (903588) % (7) % (870) Small cutting stock problems with general integers.

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 32 Client Set 2 Strengthening NameRowsColsRoot Objective NoneNon-basicFull C · · · % (561) · % (450) C · · · % (10071) · % (2372) C · · · % (39146) · % (12213) C · · % (45) % (45) Lot sizing problems with general integers.

Dash Optimization IMA 2005 “Constraint Branching and Disjunctive Cuts for Mixed Integer Programs” 33 Future Directions Select initial disjunction independently of Xpress. Evaluation of disjunctions. Xpress uses e.g. pseudo costs, strongbranch estimates and history values to select a branch candidate. How can this be carried over to general branching? Assimilate ideas from/compare against other general branching schemes. –Basis reduction –LP guided strengthening of disjunction. –IMA general branching presentations.. Efficiency (no exploitation of sparsity at the moment). Include most promising scheme in future release of Xpress?.