Linear & Integer Programming: A Decade of Computation Robert E. Bixby ILOG, Inc. and Rice University Co-Authors Mary Fenelon, Zongao Gu, Irv Lustig, Ed.

Slides:



Advertisements
Similar presentations
Primal Dual Combinatorial Algorithms Qihui Zhu May 11, 2009.
Advertisements

23 March 2002CPAIOR ‘021 A New Generation of Mixed-Integer Programming Codes Mary Fenelon, Zongao Gu, Javier Lafuente, Ed Rothberg, Roland Wunderling ILOG,
Introduction to Integer Programming Modeling and Methods Michael Trick Carnegie Mellon University CPAI-OR School, Le Croisic 2002.
Dragan Jovicic Harvinder Singh
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
Progress in Linear Programming Based Branch-and-Bound Algorithms
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
Introduction to Linear and Integer Programming
1 One Size Fits All? : Computational Tradeoffs in Mixed Integer Programming Software Bob Bixby, Mary Fenelon, Zonghao Gu, Ed Rothberg, and Roland Wunderling.
1 State of the art for TSP TSP instances of thousand of cities can be consistently solved to optimality. Instances of up to cities have been solved:
Computational problems, algorithms, runtime, hardness
Linear Programming and CPLEX Ting-Yuan Wang Advisor: Charlie C. Chen Department of Electrical and Computer Engineering University of Wisconsin-Madison.
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.
Introduction to Linear and Integer Programming Lecture 7: Feb 1.
Computational Methods for Management and Economics Carla Gomes
Approximation Algorithms
1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
1 Contents college 3 en 4 Book: Appendix A.1, A.3, A.4, §3.4, §3.5, §4.1, §4.2, §4.4, §4.6 (not: §3.6 - §3.8, §4.2 - §4.3) Extra literature on resource.
1 Robustness by cutting planes and the Uncertain Set Covering Problem AIRO 2008, Ischia, 10 September 2008 (work supported my MiUR and EU) Matteo Fischetti.
Lift-and-Project cuts: an efficient solution method for mixed-integer programs Sebastian Ceria Graduate School of Business and Computational Optimization.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
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.3 Modeling with exponentially many constr.  Some strong formulations (or even formulation itself) may involve exponentially many constraints (cutting.
Mathematical Modeling and Optimization: Summary of “Big Ideas”
1 EL736 Communications Networks II: Design and Algorithms Class5: Optimization Methods Yong Liu 10/10/2007.
MILP algorithms: branch-and-bound and branch-and-cut
To accompany Quantitative Analysis for Management, 8e by Render/Stair/Hanna 11-1 © 2003 by Prentice Hall, Inc. Upper Saddle River, NJ Chapter 11.
Chapter 1. Formulations 1. Integer Programming  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +
Chap 10. Integer Prog. Formulations
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
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.
Integer Programming (정수계획법)
15-853Page :Algorithms in the Real World Linear and Integer Programming III – Integer Programming Applications Algorithms.
Implicit Hitting Set Problems Richard M. Karp Erick Moreno Centeno DIMACS 20 th Anniversary.
FATCOP: A Mixed Integer Program Solver Michael FerrisQun Chen University of Wisconsin-Madison Jeffrey Linderoth Argonne National Laboratories.
1.2 Guidelines for strong formulations  Running time for LP usually depends on m and n ( number of iterations O(m), O(log n)). Not critically depend on.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
The minimum cost flow problem. Solving the minimum cost flow problem.
Linear Programming Piyush Kumar Welcome to CIS5930.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
Sebastian Ceria Graduate School of Business and
Lap Chi Lau we will only use slides 4 to 19
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Topics in Algorithms Lap Chi Lau.
The minimum cost flow problem
The CPLEX Library: Mixed Integer Programming
MILP algorithms: branch-and-bound and branch-and-cut
Gomory Cuts Updated 25 March 2009.
1.3 Modeling with exponentially many constr.
Chapter 6. Large Scale Optimization
Integer Programming (정수계획법)
Gomory’s cutting plane algorithm for integer programming
2. Generating All Valid Inequalities
Chapter 1. Formulations (BW)
1.3 Modeling with exponentially many constr.
Matteo Fischetti, University of Padova
Integer Programming (정수계획법)
Cynthia Phillips (Sandia National Laboratories)
Part II General Integer Programming
Intersection Cuts from Bilinear Disjunctions
Chapter 1. Formulations.
Branch-and-Bound Algorithm for Integer Program
1.2 Guidelines for strong formulations
Chapter 6. Large Scale Optimization
1.2 Guidelines for strong formulations
Presentation transcript:

Linear & Integer Programming: A Decade of Computation Robert E. Bixby ILOG, Inc. and Rice University Co-Authors Mary Fenelon, Zongao Gu, Irv Lustig, Ed Rothberg, Roland Wunderling ILOG, Inc

Machine Comparison Model: PILOTS constraints: 1141, variables: 3652, nonzeros: Machine Seconds Sun 3/ Pentium PC (60 MHz) IBM 590 Powerstation 65.0 SGI R8000 Power Challenge 44.8 Athlon (650 MHz) 22.2 Compaq (667 Mhz EV67) 6.8 ~5000x improvement

Outline Linear programming (LP) –Introduction –Computational history 1947 to late 1980s –The last decade Mixed-integer programming (MIP) – Closing the gap between theory and practice –Introduction –Computation history 1954 to late 1990s –Features in modern codes –The last year –A new kind of cutting planes The future

LP

A linear program ( LP ) is an optimization problem of the form Minimize c T x Subject to Ax = b l  x  u

Computational History: 1950 – Dantzig invents simplex method 1951 SEAC ( Standards Eastern Automatic Computer ) 48 cons. & 72 vars. –“One could have started an iteration, gone to lunch and returned before it finished” William Orchard-Hays, IBM 7090, LP cons. –Oil companies used LP IBM 360, MPSX & MPSIII cons. –These codes lasted into the mid 80s with little fundamental change. Mid 1980s – 1990 –1984 Karmarkar, Interior-point (barrier) methods –1991 Grötschel: “Some linear programs were hard to solve, even for highly praised commercial codes like IBM’s MPSX” – Late 1980s: OSL, XPRESS, CPLEX …

1989 – 1998 An Example

LAU2 : A Fleet Assignment Model (1989) 4420 cons, 6711 vars, nzs (Tests run on 500 MHz EV6 & Cray Y/MP) Idea 0: Run CPLEX –7 hours on a Cray Y/MP, stalled in phase I. Idea 1: Handling degeneracy: Perturbation –12332 secs, itns Idea 2: Barrier methods – 656 secs (Cray Y/MP) Idea 3: Better pricing: hybrid = partial pricing + devex (1973) – 307 secs Idea 4: Use the dual –Explicit dual: 103 secs –Dual simplex: 345 secs Idea 5: Steepest edge –Dual steepest edge: 21 secs

Examine larger models:  rows Bottleneck: Linear solves for systems with very sparse input and very sparse output (BTRAN, FTRAN) Eliminating the Bottleneck: These solves can be done in “linear time” (Linear-Algebra folklore: reachability) 1999 – 2000

Bottleneck Removed: Exploiting It Dual: Variables with two finite bounds usually do not need to be binding in the ratio test. Sparse pricing: Fast updates for minimum when few reduced-costs change. …

BIG Test Set

LP Performance Improvement 1999 – 2000 Barrier: All 3.6

Algorithm Comparison Dual vs. Primal: 2.6x (7 not solved by primal) Dual vs. Barrier: 1.2x And barrier is now faster anyway: CPLEX 7.0 barrier 1.6x faster

MIP: Closing the Gap between Theory and Practice

A mixed-integer program ( MIP ) is an optimization problem of the form Minimize c T x Subject to Ax=b l  x  u some or all x j integral

Branch and Bound (Cut) Tree Root Integer v  3 v  4 x  2 x  3 y  0 y  1 z  0 z  1 Lower Bound Integer Upper Bound Infeas z  0 z  1 GAPGAP Remarks: (1) GAP = 0  Proof of optimality (2) Practice: Often good enough to have good Solution Solve LP relaxation: v=3.5 (fractional)

MIP really is HARD A Customer Model: 44 cons, 51 vars, 167 nzs, maximization 51 general integer variables Branch-and-Cut: Initial integer solution Initial upper bound …after 120,000 seconds, 370,000,000 B&C nodes, 45 Gig tree Integer solution and bound: UNCHANGED Electrical Power Industry, ERPI GS-6401, June 1989: Mixed-integer programming is a powerful modeling tool, “They are, however, theoretically complicated and computationally cumbersome”

UNITCAL_7: cons, vars (2856 binary) California Unit Commitment: 7 Day Model Previous attempts (by model formulator) 2 Day model: 8 hours, no progress 7 Day model: 1 hour to solve initial LP CPLEX 7.0 on 667 MHz Compaq EV67 Running defaults...

Problem 'unitcal_7.sav.gz' read. Reduced MIP has rows, columns, and nonzeros. Root relaxation solution time = 5.22 sec. Nodes Cuts/ Node Left Objective IInf Best Integer Best Node ItCnt Gap e e e Cuts: e Cuts: e Cuts: e Flowcuts: e Cuts: e e * e e e % * e e e % GUB cover cuts applied: 2 Cover cuts applied: 7 Implied bound cuts applied: 1186 Flow cuts applied: 1120 Flow path cuts applied: 7 Gomory fractional cuts applied: 147 Integer optimal solution: Objective = e+07 Solution time = sec. Iterations = Nodes = 6718 Model: UNITCAL_7

Computational History: 1950 – Dantzig, Fulkerson, S. Johnson: 49 city TSP –Solved to optimality using cutting planes and solving LPs by hand 1957 Gomory –Cutting plane algorithm: A complete solution 1960 Land, Doig –B&B 1966 Beale, Small –B&B, Depth-first-search 1972 UMPIRE, Forrest, Hirst, Tomlin –SOS, pseudo-costs, best projection, … 1972 – 1998 Good B&B remained the state-of-the-art in commercial codes, in spite of –1983 Crowder, Johnson, Padberg: PIPX, pure 0/1 MIP –1987 Van Roy and Wolsey: MPSARX, mixed 0/1 MIP

1998… A new generation of MIP codes Linear programming –Usable, stable, robust performance Variable selection –pseudo-costs, strong branching Primal heuristics –5 different tried at root, one selected Node presolve –Fast, incremental bound strengthening Probing –Three levels Auto disaggregation –  x j  (  u j ) y, y = 0/1 preferred Cutting planes –Gomory, knapsack covers, flow covers, mix-integer rounding, cliques, GUB covers, implied bounds, path cuts, disjunctive cuts

y   3.5  y   3.5  (0, 3.5) x + y  3.5, x  0, y  0 integral

y   3.5  y   3.5  CUT: 2x + y  4 x + y  3.5, x  0, y  0 integral

Gomory Mixed Cut Given y, x j  Z +, and y +  a ij x j = d =  d  + f, f > 0 Rounding: Where a ij =  a ij  + f j, define t = y +  (  a ij  x j : f j  f) +  (  a ij  x j : f j > f)  Z Then  (f j x j : f j  f) +  (f j -1)x j : f j > f) = d - t Disjunction: t   d    (f j x j : f j  f)  f t   d    ((1-f j )x j : f j > f)  1-f Combining:  ((f j /f)x j : f j  f) +  ([(1-f j )/(1-f)]x j : f j > f)  1

BIGTEST – 80 Models CPLEX 6.0 versus CPLEX 7.0 Running defaults (7200 second limit) –CPLEX 6.0 FAILS on 31 –CPLEX 7.0 FAILS on 2 CPLEX 6.0 tuned versus CPLEX 7.0 defaults –CPLEX x faster

Performance Impact: Individual Cuts Cliques - 3 % Implied - 1 % Path 0 % GUB covers 14 % Disjunctive 17 % Flow covers 41 % MIR 56 % Covers 56 % Gomory 114 %

Local Cuts for MIP: An idea from the TSP (Applegate, Chvátal, Cook, Bixby)

Membership Problem Given: a. A polytope P  R n. b. An oracle for optimizing linear objectives over P. c. x*  R n Question: Find p 1,…,p k  P giving x* as a convex combination, or find (a,  ) such that a T x* >  and a T x    x  P

Solving Membership: Delayed Column Generation Step 1: Find 1,…, k such that  j p j = x*  j = 1 j  0 (all j) Succeed: Done Fail: LP code gives (a,  ) such that a T x* >  and a T p j   for j = 1,…,k. Step 2: Use the oracle to solve  = Maximize a T y Subject to y  P Let y*  P satisfy  = a T y*. Case 1:     done Case 2: Append y* to the list p 1,…,p k and return to Step 1.

Application to MIP For the given MIP: Let x* be a solution of an LP relaxation minimize {c T x: Ax=b, l  x  u} and assume x* is not integral feasible. Let P = polyhedron defined by a subset of Ax=b together with l  x  u. Prototypical choice: A single constraint. Apply delayed column generation using MIP code itself as the optimization oracle.

Future? Linear programming –The improvements in the last 2 years were completely unanticipated! –Examine behavior of even larger and more-difficult models. Mixed-integer programming –Increasingly exploit special structure.