33
Exact Solutions in Linear and Integer Programming Francois de Lucy

Exact Solutions in Linear and Integer Programming

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Exact Solutions in Linear and Integer Programming

Exact Solutions in Linear and Integer

Programming

Francois de Lucy

Page 2: Exact Solutions in Linear and Integer Programming

Martin Groetschel, 2006

“The development of linear programming is -- in my opinion -- the most important contribution of the mathematics of the 20th century to the solution of practical problems arising in industry and commerce.”

Page 3: Exact Solutions in Linear and Integer Programming

Top Ten Algorithms of the Century

Page 4: Exact Solutions in Linear and Integer Programming

Top Ten Algorithms of the Century

Page 5: Exact Solutions in Linear and Integer Programming

Professor Richard Tapia

Page 6: Exact Solutions in Linear and Integer Programming

Professor Richard Tapia

“Cook, second place sucks.”

Page 7: Exact Solutions in Linear and Integer Programming

Cplex 7.1 Primal 6398.71Cplex 7.1 Dual 6484.44Cplex 9.0 Primal 6406.78Cplex 9.0 Dual 6484.47Cplex 11.0 Primal 6425.87Cplex 11.0 Dual 6484.46XPress-15 Primal 6380.45XPress-15 Dual 6344.30CPL-1.02.01 6480.95GLPK-4.7 6463.66QSopt Primal 6419.94QSopt Dual 6480.33Soplex 1.2.2 6473.33

Example: sgpf5y6 (Mittelmann LP test set)

Page 8: Exact Solutions in Linear and Integer Programming

6,300

6,350

6,400

6,450

6,500

sgpf5y6 LP Value

Page 9: Exact Solutions in Linear and Integer Programming
Page 10: Exact Solutions in Linear and Integer Programming

Nature, Vol. 395, 1 October 1998

Thomas C. Hales

Page 11: Exact Solutions in Linear and Integer Programming

Nature, Vol. 395, 1 October 1998

“at the heart of the proof are some 100,000 linear programming problems, each involving 100 to 200 variables and 1,000 to 2,000 constraints.”

Page 12: Exact Solutions in Linear and Integer Programming

Nature, Vol. 424, 3 July 2003

Page 13: Exact Solutions in Linear and Integer Programming

“Floating-point arithmetic was used freely in obtaining these bounds. The linear programming package CPLEX was used (see www.cplex.com). However, the results, once obtained, could be checked rigorously as follows.”

Page 14: Exact Solutions in Linear and Integer Programming
Page 15: Exact Solutions in Linear and Integer Programming
Page 16: Exact Solutions in Linear and Integer Programming

“e.g, round-off error eliminated by interval arithmetic”

Page 17: Exact Solutions in Linear and Integer Programming
Page 18: Exact Solutions in Linear and Integer Programming

SmallMediumLarge

5.75.21.8

15.8414.6

3621.5

Simplex Alg −> BasisSolve Rational Linear SystemCheck Optimality Conditions

Increase precision on the fly (GNU−MP package)

Rational approximations of floating−point results toavoid rational linear solves (continued fractions)

Large scale instances

Callable library for modifying LP models

Full simplex code with steepest edge pricing

D. Applegate, S. Dash, D. Espinoza

QSopt _ex vs QSopt

Implementation based on QSopt

625 Test Instances from GAMS World

Exact LP Code

Geom Mean QSopt Seconds

Applegate and Still (1995)

Kwappik et al. (2003)

Koch (2004)

Page 19: Exact Solutions in Linear and Integer Programming

Use of QSopt_ex

Sean McLaughlin

Solve each Kepler LPStore exact dual LP solution

Verify Kepler bounds via LP dualityComputations carried out in the ML language

Page 20: Exact Solutions in Linear and Integer Programming

Rational Number Reconstruction

Legendre

|α− p

q| <

12q2

, thenp

qoccurs as a convergent for α

Modular Reconstructionnq ≡ p mod M with M > 2q2, then we can construct

p

qExtended Euclidean Algorithm

Continued Fraction Expansion

von zur Gathen and Gerhard (1999), Wang and Pan (2003, 2004)

Page 21: Exact Solutions in Linear and Integer Programming

Wiedemann (1986): solving over finite fields

Solving Rational Linear Systems

LaMacchia and Odlyzko (1990), Eberly et al. (2006),Wan (2006)

Dixon (1982): p-adaic lifting

Computational Studies

LinBox C++ Software

Page 22: Exact Solutions in Linear and Integer Programming

0

50

100

150

200

250

300

350

400

450

500

1 10 100

Num

ber o

f ins

tanc

es

Number of times slower than fastest

DixonIterative Refinement

Exact LUWiedemann

Page 23: Exact Solutions in Linear and Integer Programming

“These default values indicate to CPLEX to stop when an integer feasible solution has been proved to be within 0.01% of optimality.”

Page 24: Exact Solutions in Linear and Integer Programming

Accurate Gomory CutsSanjeeb Dash, Ricardo Fukasawa, Marcos Goycoolea

0

10

20

30

40

50

60

70

80

90

100

0 0.2 0.4 0.6 0.8 1

Num

ber o

f ins

tanc

es

GAP closed (x 100%)

’round1’’round2’’round4’’round8’

’round16’’finalround’

Page 25: Exact Solutions in Linear and Integer Programming

Any hope for a solution?

RSA-2048 (Formerly $200,000)MIPs with 7,000 Variables

Dan Steffy: Chvatal/MIR Closures of Horner Systems

Page 26: Exact Solutions in Linear and Integer Programming

Optimizing Irrational Functions

28.71937

Example: Euclidean TSP

28.71936

Exact Geometric Computation: LEDA, CGAL, COREYap (2003) -- survey paper

Page 27: Exact Solutions in Linear and Integer Programming

Sum of Square Roots ProblemGarey, Graham, Johnson (STOC 1976),

Ron Graham in early 1980s, O’Rourke (American Math Monthly 1981)

How small can this value be?

|∑√

ai −∑√

bi | #= 0

a1, . . . , an, b1, . . . , bn integers (k-bit)

(Qian and Wang 2006), (Burnikel et al. 2000)

Polynomial bound on number of bits?

≥ (2n− 32 )k ≤ 4k22n

Page 28: Exact Solutions in Linear and Integer Programming

Branch-and-Bound with Increasing PrecisionCannot Discard LPs with Integer Optimal Solutions

Must Explore Search Tree to reach all Indistinguishable Tours

Page 29: Exact Solutions in Linear and Integer Programming

1,188 edges after duality elimination

500 Random Points in 1,000 by 1,000 Grid

Page 30: Exact Solutions in Linear and Integer Programming

615 edges after depth-1 branching

500 Random Points in 1,000 by 1,000 Grid

Page 31: Exact Solutions in Linear and Integer Programming

Optimal Tour

500 Random Points in 1,000 by 1,000 Grid

Page 32: Exact Solutions in Linear and Integer Programming

48 States in 10 Days

Maura Gatensby: “There is more poetry in walking in the footsteps of giants.”

Page 33: Exact Solutions in Linear and Integer Programming