pivot and shift – a mixed integer programming heuristic egon balas and chris wallace
TRANSCRIPT
Pivot and Shift – A Mixed Integer Programming HeuristicEgon Balas and Chris Wallace
History
Pivot and Complement: A Heuristic for 0-1Prog-ramming (E. Balas and C. Martin, Man. Sci 1980) Pure 0/1 programming. Fortran implementation with own LP code
Pivot and Shift, 1986 (E. Balas and C. Martin 1986) Mixed 0/1 and general integer. Fortran implementation with own LP code
S. Schmieta 2001 conversion of 1986 Fortran code to C++ using Xpress LP code
E. Balas and C. Wallace 2003 modified pivots / shifts and included neighborhood search through MIP solver
Introduction to Pivot and Shift
Rounding procedure with three phases Initialization
Search phase
Improvement phase
Search Phase
Quick rounding attempt, then
Pivots/shifts of several types : Type 0 - pivots out basic integer variables
Type 1- reduces the number of basic integer variables
Type 2- improves objective while not increasing integer infeasibility
Type 3-reduces integer infeasibility, ZI
min { d xi e –xi, xi-b xi c }ZI= i 2 I
Search Phase Continued
Type 0
n
Type 1
Round
Type 3
Type 2
No type 3 foundNeighborhood
searchStop
y
Search Phase- Small Neighborhood Search
min { d xi e –xi, xi-b xi c } S={ i 2 I : < }
i2 S b xi+0.5c <x(S)> =
Add the constraints:
<x(S)> - 1 x(S) <x(S)> + 1
Use Mip solver to find a solution
For small neighborhood search
Improvement Phase
Use reduced costs to fix variables
Single, Double and Triple Shifts
Large Neighborhood Search
Improvement Phase: Shifts
Fix all integer variables to best value and optimize continuous variables
Make integer variables nonbasic
Check all possible single and double shifts.
Improvement Phase:Large Neighborhood Search
Neighborhood search with constant changed from 1 to 5
<x(S)> - 5 x(S) <x(S)> + 5
Comparison
Xpress 14.2 vs Xpress 14.2 with pivot and shift
Xpress 14.2 with pivot and shift Run pivot and shift search phase at start to find
initial solution (5 second time limit)
Call Xpress MIP solver
After each solution found by Xpress, use improvement phase (30 second limit)
Instances used in Comparison
Only MIP’s which required more than 20 minutes
MIPs from three collections MIPLIB
Hans Mittelmann collection
Local Branching by M. Fischetti and A. Lodi
Stein81, Stein135, Stein243
MIPLIB Arki001, Danoint, Dano3mip, Fast0507, Harp2,
Markshare1, Markshare2, Mas74, Mkc, Noswot, Set1ch, Seymour, Swath
Hans Mittelmann collection Acctight4, Bc, Bc1, Bienst2, Binkar10_1, Dano3_5,
Markshare2_1, Mkc1,N3700, N3701,…,N370e, Neos6, Neos7, Neos9, Neos13, Neos14, Neos15, Ran14x18, Ran14x18_1, Ran16x16, Seymour1
M. Fischetti and A. Lodi A1c1s1, A2c2s2, B1c1s1, B2c1s2, Glass4, Nsr8k,
Nsrand_ipx, Rail507, Rail2586c, Rail2636c, Rail4284c, Rail4872c, Roll3000, Sp97ar,Sp97ic, Sp98ar, Sp98ic, Tr1203-, Umts, Van
Results Xpress 14.2
Xpress with PS
ONLY 0 6 BEST 8 39 FIRST 7 8
ONLY- Only this code found a solution BEST- This code found the best solution
(without ties) FIRST- In case of ties, this code found the
best solution first
SeymourTime Xpress
14.2 Xpress with PS
9.6 776 9.6 771
229.9 432 234.6 432 247.5 432 242.2 430 518.5 431 902.1 427 904.3 426 937.4 430
1200.0 430 426
•Source: MIPLIB
•Rows - 4944
•Cols - 1372
•0/1 - 1372
•Comment:
Set Covering
Time Xpress 14.2
Xpress with PS
4.2 1342560 11.1 1342211 11.2 1334471 14.3 1333929 17.1 1333769
.
.
. 938.9 1695345
1200.0 1695345 1333769
N3700
•Source:
M. Sun et al
•Rows - 5150
•Cols - 10000
•0/1 - 5000
•Comment:
Fixed charge
network flow
N3701
•Source:
M. Sun et al
•Rows - 5150
•Cols - 10000
•0/1 - 5000
•Comment:
Fixed charge
network flow
Time Xpress 14.2
Xpress with PS
4.3 1310970 10.0 1310596 12.7 1310515
.
.
. 1069 1601892
1200.0 1601982 1310515
N370c•Source:
M. Sun et al
•Rows - 5150
•Cols - 10000
•0/1 - 5000
•Comment:
Fixed charge
network flow
Time Xpress 14.2
Xpress with PS
4.1 1343749 13.1 1343672 16.9 1343672 16.9 1343598
.
.
. 840.5 1448469 1200 1448469 1343698
Sp97ic Time Xpress 14.2 Xpress with PS
144.2 450780795.36 163.8 450780795.36 172.6 449603831.84 173.8 447332172.96 174.9 445731264.0 176.1 444553684.48 177.4 444075509.6 178.6 444001910.88 179.7 442866081.44
.
.
. 1200.0 450780795.36 442866082.14
•Source:
J. Goosens et al
(2001)
•Rows - 1033
•Cols - 12497
•0/1 - 12497
•Comment:
Railway line
planning
Sp98ic Time Xpress 14.2 Xpress with PS
190.1 521407347.36 209.0 521407347.36 216.0 509176683.04 216.8 505632081.12 218.7 491042673.92 219.5 488667256.16 223.3 482463814.88 246.2 478597018.56 391.4 465282826.56 682.5 475812997.44 684.4 474622322.56 685.7 472719763.68
1086.1 467412638.24 1088.3 461222600.64 1200.0 465282826.56 461222600.64
•Source:
J. Goosens et al
(2001)
•Rows - 825
•Cols - 10894
•0/1 - 10894
•Comment:
Railway line
planning
Time Xpress 14.2
Xpress with PS
119.0 566 157.5 565 157.6 564
. . . 346.8 200 347.0 199
1200.0 No solution 199
Rail507•Source:
A. Caprara et al
(1999)
•Rows - 509
•Cols - 63019
•0/1 - 63019
•Comment:
Railway crew
scheduling
Rail2536cTime Xpress
14.2 Xpress
with PS 185.5 2916 210.6 2914 211.0 2912
. . . 639.0 1078 639.3 1076
1200.0 No solution 1076
•Source:
A. Caprara et al
(1999)
•Rows - 2539
•Cols - 15293
•0/1 - 15284
•Comment:
Railway crew
scheduling
B2c1s1•Source:
Pochet et al
(2001)
•Rows - 3904
•Cols - 3872
•0/1 - 233
•Comment:
Lot Sizing
Time Xpress 14.2 Xpress with PS
1.0 70651.01 1.2 70575.52
40.0 31578.64 43.4 31578.64 72.8 30909.52
250.0 30479.07 295.0 27500.22 336.4 30296.40 369.9 29921.44 426.5 28207.02
1200.0 28207.02 27500.22
Binkar10_1Time Xpress
14.2 Xpress with PS
4.9 7017.58 7.4 6977.45 9.6 7017.58 9.8 6877.39
10.0 7014.44 10.0 7004.32 10.7 6993.37 12.8 6933.42 13.0 6932.92 13.2 6781.95 13.9 6915.83 14.7 6910.47 20.5 6855 20.7 6851.86 20.8 6836.98
Time Xpress 14.2
Xpress with PS
25.6 6782.02 28.7 6777.45 35.3 6779.18 42.0 6777.41 42.7 6765.69 44.7 6756.26 60.0 6777.07 60.2 6775.08 60.2 6771.95 60.9 6747.89 61.4 6742.2
268.8 6746.44 1022.8 6745.57 1053.0 6742.2 1200.0 6742.2 6742.2
•Source- Neos•Rows - 1026
•Cols - 2298•0/1 - 170
Roll3000Time Xpress
14.2 Xpress
with PS 76.3 16954 81.3 16954
104.1 13330 109.8 16682 118.6 15319 147.5 13330 170.1 13222 808.2 13182
1184.0 13155 1187.7 12936 1200.0 13182 12936
•Source:
Fischetti and Lodi
(2002)
•Rows - 2295
•Cols - 1166
•0/1 - 246
•Cont - 428
•Comment:
Railway stock
and line planning
Questions
Hans Mittelmann collection
M. Walser ,G. Nemhauser, M. Trick Acc Basketball conference scheduling
Acctight series- Acctight4
M. Sun, J. Aronson, P. McKeown, D. Drinka Fixed charge transportation problems
N3700 series: N3700,n3701,… n3709, n370a,…,n370e
Ran series: Ran14x18, ran14x18_1, ran16x16
Hans Mittelmann collectioncontinued
Argonne National Laboratory Neos series: neos6-neos9, neos13-
neos15
Bc,Bc1, Binkar10_1
Remaining unreferencedBienst2, Dano3_5, Markshare2_1, Mkc1,
Seymour1
Fischetti and Lodi
P. Belotti : Network design Net12
Double-Click sas: Crew scheduling Nrsr8k, Biella1
I. Luzzi : nesting Glass 4
C.Polo, C. Mannino, E. Parello: telecommnunication designUmts, Van
Fischetti & Lodi Continued
M. Van Vyve, Y. Pochet: Lot sizing A1c1s1, a2c1s2 , b1c1s1, b2c1s1, tr12-30
L. Kroon: Rolling stock and line planningRoll3000, Nsrand_ipx
A. Caprara, M. Fischetti, P. Toth: Railway crew schedulingRail507, rail2636c, rail2586c, rail4284c, rail4872c
J. Gooesens, S. van Hoesel, L. Kroon: Railway line planningSp97ar, sp97ic, sp98ar, sp98ic