Solving Linear and Integer Programs: Time is Money

Solving Linear and Integer
Programs: Time is Money
Robert E. Bixby
1
War of 1812
December 24, 1814: Treaty of Ghent – “ending war”
January 8, 1815: 5300 British troops attack New Orleans
2
War of 1812
December 24, 1814: Treaty of Ghent – “ending the war”
January 8, 1815: 5300 British troops attack New Orleans
Ghent
Boston
New Orleans
Total travel time Ghent-New Orleans:
Approximately 3 weeks
1865: Transatlantic telegraph cable completed –
Communication time reduced from weeks to seconds
3
Linear Programming
T George Dantzig, 1947
T
Introduces LP and recognized it as more than a conceptual
tool: Computing answer important.
T
Invented “primal” simplex algorithm.
T
First LP solved: Laderman, 9 cons., 77 vars., 120 MANDAYS.
T What is the single most important event in LP since
Dantzig?
4
Linear Programming
T George Dantzig, 1947
T
Introduces LP and recognized it as more than a conceptual
tool: Computing answer important.
T
Invented “primal” simplex algorithm.
T
First LP solved: Laderman, 9 cons., 77 vars., 120 MANDAYS.
T What is the single most important event in LP since
Dantzig? We now (since ~1990) have 3 algorithms to
solve LPs
5
T
Primal Simplex Algorithm (Dantzig 1947)
T
Dual Simplex Algorithm (Lemke, 1954)
T
Barrier Algorithm (Karmarkar, 1984)
LP
PDS Models
“Patient Distribution System”: Carolan, Hill, Kennington, Niemi, Wichmann,
An empirical evaluation of the KORBX algorithms for military airlift
applications, Operations Research 38 (1990), pp. 240-248
MODEL
ROWS
pds02
2953
pds06
9881
pds10 16558
pds20 33874
pds30 49944
pds40 66844
pds50 83060
pds60 99431
pds70 114944
6
CPLEX1.0
1988
0.4
26.4
208.9
5268.8
15891.9
58920.3
122195.9
205798.3
335292.1
CPLEX5.0
1997
0.1
2.4
13.0
232.6
1154.9
2816.8
8510.9
7442.6
21120.4
Primal
Simplex
Dual
Simplex
CPLEX8.0
2002
0.1
0.9
2.6
20.9
39.1
79.3
114.6
160.5
197.8
Dual
Simplex
SPEEDUP
1.0Æ8.0
4.0
29.3
80.3
247.3
406.4
743.0
1066.3
1282.2
1695.1
LP
Not just faster -- Growth with size:
Quadratic then & Linear now !
400000.00
250.00
350000.00
CPLEX 1.0 seconds
250000.00
150.00
200000.00
100.00
150000.00
100000.00
50.00
50000.00
.00
.00
.00
10.00
20.00
30.00
40.00
50.00
60.00
# Time Periods: PDS02 -- PDS70
7
70.00
80.00
CPLEX 8.0 seconds
200.00
300000.00
LP
BIG TEST: The testing methodology
T Not possible for one test to cover 10+ years:
Combined several tests.
T The biggest single test:
T
T
Assembled 680 real LPs (up to 7 million consts.)
Test runs: Using a time limit (4 days per LP) two
chosen methods would be compared as follows:
P Run method 1: Generate 680 solve times
P Run method 2: Generate 680 solve times
P Compute 680 ratios and form GEOMETRIC MEAN
(not arithmetic mean!)
The same methodology was applied throughout.
8
LP
Progress: 1988 – Present
T Algorithms
T
Best simplex
T
Best simplex + barrier
960x
2360x
T Machines
9
T
Simplex algorithms
800x
T
Barrier algorithms
13000x
LP
Algorithm comparison: Extracted
from the previous results …
10
T Dual simplex vs. primal:
Dual 2x faster
T Best simplex vs. barrier:
About even
T Best of three vs. primal:
Best 7.5x faster
Mixed-Integer
Programming
11
MIP
A mixed-integer program (MIP) is
an optimization problem of the form
cT x
Ax = b
l≤ x≤u
some or all x j integer
Maximize
Subject to
12
Branch-and-Cut
Solve LP relaxation:
v=3.5 (fractional)
Root
3
z≤
2
4
1
x≤
≥
v≥
z≥
x
3
0
v≤
Upper Bound
G
A
P
Lower Bound
1
y≤
y≥
0
Integer
z≥
z≤
0
Infeas
1
Integer
Remarks:
(1) GAP = 0 ⇒ Proof of optimality
(2) In practice: Often good enough to have good Solution
13
MIP
Example 1: LP still can be HARD
SGM: Schedule Generation Model
157323 rows, 182812 columns, 6348437 nzs
T LP relaxation at root node:
T
Barrier: Solve time estimate 3-6 days.
T
Primal steepest edge: 18 hours
T Branch-and-cut
T
368 nodes enumerated, infeasibility reduced by 3x.
T
Time: 2 weeks.
T Does not appear to be difficult.
Likely solvable
to optimality – with only a 1000x improvement
in LP speed!
14
MIP
Example 2: MIP really is HARD
A customer model: 44 cons, 51 vars, 167 nzs, maximization
51 general integer variables (and no bounds)
Branch-and-cut: Initial integer solution -2186.0
Initial upper bound
-1379.4
…after 1.4 days, 32,000,000 B&C nodes, 5.5 Gig tree
Integer solution and bound: UNCHANGED
What’s wrong? Bad modeling. Free GIs
chase each other off to infinity.
15
MIP
Example 3: A typical situation today –
Supply-chain scheduling
T
T
T
16
Model description:
T
Weekly model, daily buckets: Objective to minimize end-ofday inventory.
T
Production (single facility), inventory, shipping (trucks),
wholesalers (demand known)
Initial modeling phase
T
Simplified prototype + complicating constraints (production
run grouping req’t, min truck constraints)
T
RESULT: Couldn’t get good feasible solutions.
Decomposition approach
T
Talk to manual schedulers: They first decide on “producibles”
schedule. Simulate using Constraint Programming.
T
Fixed model: Fix variables and run MIP
MIP
Supply-chain scheduling (continued):
Solving the fixed model
CPLEX 5.0:
Integer optimal solution (0.0001/0): Objective =
1.5091900536e+05
Current MIP best bound =
1.5090391809e+05 (gap = 15.0873)
Solution time = 3465.73 sec. Iterations = 7885711 Nodes = 489870 (2268)
CPLEX 8.0:
Implied bound cuts applied:
Flow cuts applied: 200
55
Integer optimal solution (0.0001/1e-06): Objective =
1.5091904146e+05
Current MIP best bound =
1.5090843265e+05 (gap = 10.6088, 0.01%)
Solution time =
1.53 sec. Iterations = 3187 Nodes = 58 (2)
17
Original model: Now solves to optimality
in 2 hours (20% improvement in solution
quality)
MIP
Computational History:
1950 –1998
T
1954 Dantzig, Fulkerson, S.
Johnson: 42 city TSP
T
T
1957 Gomory
T
T
Cutting plane algorithm: A
complete solution
1960 Land, Doig, 1965 Dakin
T
18
Solved to optimality using
cutting planes and LP
Branch-and-bound (B&B)
T
1971 MPSX/370, Benichou
et al.
T
1972 UMPIRE, Forrest,
Hirst, Tomlin (Beale)
T
1972 – 1998 Good B&B
remained the state-of-theart in commercial codes, in
spite of
T
T
T
T
T
1973 Padberg
1974 Balas (disjunctive
programming)
1983 Crowder, Johnson,
Padberg: PIPX, pure 0/1 MIP
1987 Van Roy and Wolsey:
MPSARX, mixed 0/1 MIP
Grötschel, Padberg, Rinaldi
…TSP (120, 666, 2392 city
models solved)
MIP
1998… A new generation of MIP codes
T Linear programming
T
Stable, robust dual simplex
T Variable/node selection
T
T
ideas
T
Influenced by traveling
salesman problem
T Primal heuristics
T
T Presolve – numerous small
8 different tried at root
Retried based upon success
T Cutting planes
T
T Node presolve
T
19
Fast, incremental bound
strengthening (very similar
to Constraint Programming)
Probing in constraints:
∑ xj ≤ (∑ uj) y, y = 0/1
Î xj ≤ ujy (for all j)
T
Gomory, knapsack covers,
flow covers, mix-integer
rounding, cliques, GUB
covers, implied bounds,
path cuts, disjunctive cuts
Various extensions
P Aggregation
MIP
The BEST of the cuts:
A view of Gomory Mixed Cuts
(Nemhauser & Wolsey)
20
MIP
y
x + y ≥ 3.5, x,y ≥ 0, y integral
y ≥ 3.5
4.0
(0, 3.5)
3.0
2.0
y ≤ 3.5
1.0
21
1.0
2.0
3.0
4.0
x
MIP
y
x + y ≥ 3.5, x,y ≥ 0, y integral
y ≥ 3.5
4.0
General formula: x + y ≥ b ⇒ x/f + y ≥ b
3.0
CUT:
2x + y ≥ 4
2.0
y ≤ 3.5
1.0
22
1.0
2.0
3.0
4.0
x
MIP
Computational Results I: 964 models
(30 hour time limit)
Finding Feasible Solutions
Solving to Optimality
100%
100%
5%
8%
80%
80%
60%
11%
98% (19 MIPs)
60%
40%
40%
74%
74%
56%
20%
20%
0%
0%
CPLEX 5.0
CPLEX 8.0
CPLEX 8.0
Setting: "MIP emphasis feasibility"
Integer Solution with > 10% Gap
Integer Solution with < 10% Gap
23
Solved to provable optimality
MIP
Computational Results II: 651 models
(all solvable to optimality)
T Ran for 30 hours using defaults
T Relative speedups:
24
T
All models
(651):
12x
T
CPLEX 5.0 > 1 second
(447):
41x
T
CPLEX 5.0 > 10 seconds
(362):
87x
T
CPLEX 5.0 > 100 seconds
(281): 171x
MIP
Computational Results III: 78 Models
Which single feature helps most?
T Cuts
25
33.3x
T Presolve
7.7x
T Old variable selection
2.7x
T CPLEX 5.0 presolve
2.6x
T Node presolve
1.3x
T Heuristics
1.1x
T Probing on dives
1.1x
Conclusions
T Through a combination of advances in algorithms and
computing machines, combined with developments in
data availability and modern modeling languages,
what is possible today could only have been dreamed
of even 10 years ago.
T The result is that whole new application domains have
been enabled
26
T
Larger, more accurate models and multiple scenarios
T
Tactical and day-of-operations are possible, not just
planning
T
Disparate components of the extended enterprise can now
be “optimized” in concert.
Acknowledgement – The CPLEX
development team: Mary Fenelon,
Zonghao Gu, Javier Lefuente, Ed
Rothberg, Roland Wunderling (and
Irv Lustig, in a previous life).
27