1 / 29

Pivot and Shift – A Mixed Integer Programming Heuristic

Pivot and Shift – A Mixed Integer Programming Heuristic. Egon 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

cooper
Download Presentation

Pivot and Shift – A Mixed Integer Programming Heuristic

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pivot and Shift – A Mixed Integer Programming Heuristic Egon Balas and Chris Wallace

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

  3. Introduction to Pivot and Shift • Rounding procedure with three phases • Initialization • Search phase • Improvement phase

  4. 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 ZI= åi 2 I min { d xie –xi, xi-b xic }

  5. Round y n Type 0 Stop Type 3 Neighborhood search No type 3 found Type 2 Search Phase Continued Type 1

  6. Search Phase- Small Neighborhood Search • min { d xie –xi, xi-b xic } S={ i 2 I : <  } • i2 Sb xi+0.5c <x(S)> = å • For small neighborhood search • Add the constraints: <x(S)> - 1  x(S)  <x(S)> + 1 • Use Mip solver to find a solution

  7. Improvement Phase • Use reduced costs to fix variables • Single, Double and Triple Shifts • Large Neighborhood Search

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

  9. Improvement Phase:Large Neighborhood Search Neighborhood search with constant changed from 1 to 5 <x(S)> - 5  x(S)  <x(S)> + 5

  10. 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)

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

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

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

  14. Seymour • Source: MIPLIB • Rows - 4944 • Cols - 1372 • 0/1 - 1372 • Comment: Set Covering

  15. N3700 • Source: M. Sun et al • Rows - 5150 • Cols - 10000 • 0/1 - 5000 • Comment: Fixed charge network flow

  16. N3701 • Source: M. Sun et al • Rows - 5150 • Cols - 10000 • 0/1 - 5000 • Comment: Fixed charge network flow

  17. N370c • Source: M. Sun et al • Rows - 5150 • Cols - 10000 • 0/1 - 5000 • Comment: Fixed charge network flow

  18. Sp97ic • Source: J. Goosens et al (2001) • Rows - 1033 • Cols - 12497 • 0/1 - 12497 • Comment: Railway line planning

  19. Sp98ic • Source: J. Goosens et al (2001) • Rows - 825 • Cols - 10894 • 0/1 - 10894 • Comment: Railway line planning

  20. Rail507 • Source: A. Caprara et al (1999) • Rows - 509 • Cols - 63019 • 0/1 - 63019 • Comment: Railway crew scheduling

  21. Rail2536c • Source: A. Caprara et al (1999) • Rows - 2539 • Cols - 15293 • 0/1 - 15284 • Comment: Railway crew scheduling

  22. B2c1s1 • Source: Pochet et al (2001) • Rows - 3904 • Cols - 3872 • 0/1 - 233 • Comment: Lot Sizing

  23. Source- Neos Rows - 1026 Cols - 2298 0/1 - 170 Binkar10_1

  24. Roll3000 • Source: Fischetti and Lodi (2002) • Rows - 2295 • Cols - 1166 • 0/1 - 246 • Cont - 428 • Comment: Railway stock and line planning

  25. Questions

  26. Hans Mittelmann collection • M. Walser ,G. Nemhauser, M. TrickAcc 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

  27. Hans Mittelmann collectioncontinued • Argonne National Laboratory • Neos series: neos6-neos9, neos13-neos15 • Bc,Bc1, Binkar10_1 • Remaining unreferenced • Bienst2, Dano3_5, Markshare2_1, Mkc1, Seymour1

  28. 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 design • Umts, Van

  29. Fischetti & Lodi Continued • M. Van Vyve, Y. Pochet: Lot sizing • A1c1s1, a2c1s2 , b1c1s1, b2c1s1, tr12-30 • L. Kroon:Rolling stock and line planning • Roll3000, Nsrand_ipx • A. Caprara, M. Fischetti, P. Toth: Railway crew scheduling • Rail507, rail2636c, rail2586c, rail4284c, rail4872c • J. Gooesens, S. van Hoesel, L. Kroon: Railway line planning • Sp97ar, sp97ic, sp98ar, sp98ic

More Related