Linear integer programming a decade of computation l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 31

Linear & Integer Programming: A Decade of Computation PowerPoint PPT Presentation


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 Seconds Sun 3/150 44064.0

Download Presentation

Linear & Integer Programming: A Decade of Computation

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Linear integer programming a decade of computation l.jpg

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 43167 l.jpg

MachineSeconds

Sun 3/150 44064.0

Pentium PC (60 MHz) 222.6

IBM 590 Powerstation 65.0

SGI R8000 Power Challenge 44.8

Athlon (650 MHz) 22.2

Compaq (667 Mhz EV67) 6.8

~5000x improvement

Machine ComparisonModel: PILOTSconstraints: 1141, variables: 3652, nonzeros: 43167


Outline l.jpg

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


Slide4 l.jpg

LP


Slide5 l.jpg

A linear program (LP) is an optimization problem of the form

Minimize cTx

Subject to Ax = b

l x  u


Computational history 1950 1990 l.jpg

Computational History:1950 –1990

  • 1947 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, 1990.

  • 1963 IBM 7090, LP90 1024 cons.

    • Oil companies used LP.

  • 1973 IBM 360, MPSX & MPSIII 32000 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 l.jpg

1989 – 1998 An Example


Slide8 l.jpg

Idea 0:Run CPLEX

7 hours on a Cray Y/MP, stalled in phase I.

Idea 1:Handling degeneracy: Perturbation

12332 secs, 1548304 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

LAU2: A Fleet Assignment Model (1989)4420 cons, 6711 vars, 101377 nzs(Tests run on 500 MHz EV6 & Cray Y/MP)


Slide9 l.jpg

1999 – 2000

  • Examine larger models:  10000 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)


Bottleneck removed exploiting it l.jpg

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 l.jpg

BIG Test Set


Lp performance improvement 1999 2000 l.jpg

LP Performance Improvement1999 – 2000

Barrier: All 3.6


Algorithm comparison l.jpg

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 l.jpg

MIP:Closing the Gap between Theory and Practice


Slide15 l.jpg

A mixed-integer program (MIP) is an optimization problem of the form

Minimize cTx

Subject to Ax=b

l x  u

some or all xj integral


Slide16 l.jpg

v  4

v  3

x  2

z  1

x  3

z  0

y  0

y  1

z  0

z  1

Branch and Bound (Cut) Tree

Solve LP relaxation:

v=3.5 (fractional)

Root

Upper Bound

G

A

P

Integer

Lower Bound

Infeas

Integer

Remarks:

(1) GAP = 0  Proof of optimality

(2) Practice: Often good enough to have good Solution


Mip really is hard l.jpg

MIP really is HARD

A Customer Model: 44 cons, 51 vars, 167 nzs, maximization

51 general integer variables

  • Branch-and-Cut: Initial integer solution -2586.0

    • Initial upper bound -1379.4

  • …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”


Slide18 l.jpg

California Unit Commitment:

7 Day Model

UNITCAL_7: 48939 cons,25755 vars (2856 binary)

  • 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 ...


Slide19 l.jpg

Model:UNITCAL_7

Problem 'unitcal_7.sav.gz' read.

Reduced MIP has 39359 rows, 20400 columns, and 106950 nonzeros.

Root relaxation solution time = 5.22 sec.

Nodes Cuts/

Node Left Objective IInf Best Integer Best Node ItCnt Gap

0 0 1.9396e+07 797 1.9396e+07 13871

1.9487e+07 315 Cuts: 1992 17948

1.9561e+07 377 Cuts: 1178 22951

1.9565e+07 347 Cuts: 247 24162

1.9566e+07 346 Flowcuts: 68 24508

1.9567e+07 354 Cuts: 105 25024

100 87 1.9921e+07 110 1.9571e+07 34065

* 152 135 1.9958e+07 0 1.9958e+07 1.9571e+07 34973 1.94%

* 1157 396 1.9636e+07 0 1.9636e+07 1.9626e+07 178619 0.05%

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 = 1.9635558244e+07

Solution time = 1234.05 sec. Iterations = 310699 Nodes = 6718


Computational history 1950 1998 l.jpg

1954 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

Computational History:1950 –1998


1998 a new generation of mip codes l.jpg

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

 xj  ( uj) y, y = 0/1 preferred

Cutting planes

Gomory, knapsack covers, flow covers, mix-integer rounding, cliques, GUB covers, implied bounds, path cuts, disjunctive cuts

1998…A new generation of MIP codes


Slide22 l.jpg

y 3.5

(0, 3.5)

y  3.5

x + y  3.5, x  0, y  0 integral


Slide23 l.jpg

y 3.5

CUT:

2x + y  4

y  3.5

x + y  3.5, x  0, y  0 integral


Gomory mixed cut l.jpg

Gomory Mixed Cut

  • Given y, xjZ+, and

    y +  aijxj = d = d + f, f > 0

  • Rounding: Where aij = aij + fj, define

    t = y + (aijxj: fj  f) + (aijxj: fj > f)  Z

  • Then

    (fj xj: fj f) + (fj-1)xj: fj > f) = d - t

  • Disjunction:

    t d(fjxj : fj f)  f

    t d((1-fj)xj: fj > f)  1-f

  • Combining:

    ((fj/f)xj: fj  f) + ([(1-fj)/(1-f)]xj: fj > f)  1


Bigtest 80 models cplex 6 0 versus cplex 7 0 l.jpg

BIGTEST – 80 ModelsCPLEX 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 tunedversus CPLEX 7.0 defaults

    • CPLEX 7.0 5.1x faster


Performance impact individual cuts l.jpg

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 l.jpg

Local Cuts for MIP:An idea from the TSP

(Applegate, Chvátal, Cook, Bixby)


Membership problem l.jpg

Given: a. A polytope P  Rn.

b. An oracle for optimizing linear

objectives over P.

c. x*  Rn

Question: Find p1,…,pk P giving x* as a convex

combination, or find (a, ) such that

aTx* >  and aTx  xP

Membership Problem


Solving membership delayed column generation l.jpg

Step 1: Find 1,…, k such that

jpj = x*

j = 1

j  0 (all j)

Succeed: Done

Fail: LP code gives (a, ) such

that

aTx* >  and aTpj  

for j = 1,…,k.

Step 2: Use the oracle to solve

 = Maximize aTy

Subject to yP

Let y*P satisfy  = aTy*.

Case 1: done

Case 2: Append y* to the list p1,…,pk and return to Step 1.

Solving Membership:Delayed Column Generation


Application to mip l.jpg

Application to MIP

For the given MIP:

  • Let x* be a solution of an LP relaxation

    minimize {cTx: 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 l.jpg

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.


  • Login