cug 2009
play

CUG 2009 May 7, 2009 * National Center for Computational Sciences + - PowerPoint PPT Presentation

Solution of Mixed-Integer Programming Problems on the XT5 Rebecca J. Hartman-Baker * Ingrid K. Busch + Michael R. Hilliard + Richard S. Middleton + Michael S. Schultze + Oak Ridge National Laboratory CUG 2009 May 7, 2009 * National Center for


  1. Solution of Mixed-Integer Programming Problems on the XT5 Rebecca J. Hartman-Baker * Ingrid K. Busch + Michael R. Hilliard + Richard S. Middleton + Michael S. Schultze + Oak Ridge National Laboratory CUG 2009 May 7, 2009 * National Center for Computational Sciences + Center for Transportation Analysis Managed by UT-Battelle for the Department of Energy

  2. Outline • Motivation • Problem Formulation – Linear Programming – Mixed-Integer Linear Programming • Problem Solution – Linear Programming – Mixed-Integer Linear Programming – Parallelization of MILP solvers • Existing MILP Solvers • Results • Future Work 2 Managed by UT-Battelle for the Department of Energy

  3. Motivation • Mixed-integer linear programs arise in many applications – Logistics – Supply-chain analysis – Data mining • Problems that restrict some solution variables to integer values – E.g., can’t place 0.6 biorefineries 3 Managed by UT-Battelle for the Department of Energy

  4. Linear Programming • Optimization problem in which objective function and constraints are linear functions of unknowns c T x min subject to Ax ≤ b 4 Managed by UT-Battelle for the Department of Energy

  5. Mixed-Integer Linear Programming • Linear program in which some variables restricted to integer values c T x min subject to Ax ≤ b , x j ∈ Z ∀ j ∈ D D = set of indices of integer variables in x 5 Managed by UT-Battelle for the Department of Energy

  6. Solving Linear Programs • Simplex method – Iteratively examine all vertices of polytope – Worst-case performance ( n variables, m   n constraints):   m   – Pathological examples exist but average performance O( min {(m-n) 2 , n 2 }) 6 Managed by UT-Battelle for the Department of Energy

  7. Solving Mixed-Integer Linear Programs (MILPs) • MILPs are NP- complete – use heuristics • Solvers rely on branching concept • Combine branching with means to compute lower bounds, to develop branch and bound method 7 Managed by UT-Battelle for the Department of Energy

  8. Branch and Bound • Improve upper and lower bounds by systematic bounding and branching of subproblems • Use relaxation of MILP to LP as bounding function • Eliminate nonviable pieces of domain by applying bounds • Systematically search domain – Best-first search (smallest lower bounds first) – Depth-first search (deepest branch first) 8 Managed by UT-Battelle for the Department of Energy

  9. Branch and Cut • Lower bound generated by LP relaxation often too loose for efficient solution • Improve bound by adding valid inequalities to problem as computation proceeds 9 Managed by UT-Battelle for the Department of Energy

  10. Parallelization of MILP Solvers • Algorithm can be broken into 3 parts – Ramp-Up – Search and Process – Ramp-Down 10 Managed by UT-Battelle for the Department of Energy

  11. Ramp-Up Phase • Break feasible region into enough pieces for all processes to share • Uninvolved processors are idle • Can occupy uninvolved processors with auxiliary tasks such as preprocessing and computation of upper bounds, but may not be worth time • Ideally, shorten ramp-up phase • No good ramp-up acceleration techniques developed 11 Managed by UT-Battelle for the Department of Energy

  12. Search and Process Phase • Search and process branch nodes, and use and share info (knowledge management) • Two approaches – Centralized control: manager-worker paradigm, not scalable, but clearer global picture of problem – Decentralized control: more scalable, local hubs serve as local centralized control, may perform more work • Search strategy must be considered in terms of global and local scope 12 Managed by UT-Battelle for the Department of Energy

  13. Ramp-Down Phase • Symmetric to ramp-up phase • Face similar issues • Generally ignored but can lead to serious scalability issues 13 Managed by UT-Battelle for the Department of Energy

  14. Existing MILP Solvers: Commercial • CPLEX – Leading commercial package – Shared-memory parallel version available – ParaLEX, distributed memory version, developed by researchers, and shows limited promise • Gurobi – Just released (Spring 2009) – Parallelizes across multicore processors 14 Managed by UT-Battelle for the Department of Energy

  15. Existing MILP Solvers: Open Source • COIN-OR – Repository of operations research-related open source software – Repository includes SYMPHONY and CHiPPS – CHiPPS contains BLIS, distributed parallel MILP solver • PICO – Distributed parallel package – Capable of scaling to thousands of processors 15 Managed by UT-Battelle for the Department of Energy

  16. BLIS Parallelization Strategy • Decentralized approach • Global list of candidate nodes spread across all processes • Every process selects nodes from local pool • Load balancing uses 3-level master/hub/ worker paradigm 16 Managed by UT-Battelle for the Department of Energy

  17. PICO Parallelization Strategy • Hybrid knowledge management scheme, similar to BLIS • Idle processes given work from overburdened processes by hub processes • Communication occurs between hub and its workers and between hubs 17 Managed by UT-Battelle for the Department of Energy

  18. Results • Two sets of test problems run on Jaguar Cray XT5 at ORNL • Standard Test Problems – Problems of varying sizes that came with BLIS distribution – 100-7200 unknowns, 90-1600 constraints • Canadian Cities Problems – Placement of facilities in Canadian cities – 26,000-2.4 million unknowns and constraints 18 Managed by UT-Battelle for the Department of Energy

  19. Results: Standard Test Problems BLIS PICO !####" #!!!!$ #!!!$ !###" !"##$%&'($)*(+,-.*/$ !"##$%&'($)*(+,-.*/$ +,-!%"./0$ #!!$ 1233%"./0$ )*+#,-./0" !##" 1,2405#"./0$ 1233,-./0" 4260&"./0$ #!$ 1*2405!-./0" 7,8"./0$ 67-&#-$#-(-./0" 0/9(,-"./0$ !#" #$ :/.&"./0$ !" !"#$ $" '" %" !&" ($" &'" !$%" &$ )$ ($ #'$ *&$ ')$ #&($ &%'$ %#&$ 01'2(3$,4$53,+(**,3*$ 01'2(3$,4$53,+(**,3*$ 19 Managed by UT-Battelle for the Department of Energy

  20. Results: Standard Test Problems !####" !###" !"##$%&'($)*(+,-.*/$ *+,#$"-./012" !##" *+,#$"-30452" 6+789:!"-./012" 6+789:!"-30452" !#" !" %" (" '" !&" )%" &(" !%'" %$&" $!%" 01'2(3$,4$53,+(**,3*$ 20 Managed by UT-Battelle for the Department of Energy

  21. Results: Canadian Cities BLIS PICO #!!!!$ #!!!!$ *+,-./01$ +,-./012$ *2+1,34$ +3,2-45$ 56-01/01$ 60147819:$ 5/037809:$ #!!!$ ;-<7=->$ #!!!$ ;,<7=,>$ ;-.7<012$ ;,-7</01$ !"##$%&'($)*(+,-.*/$ ?7/8@:1:+$ ?708@:2:,$ A,B,<$ A-B-<$ #!!$ !"##$%&'($)*(+,-.*/$ #!!$ A01601$ A12C12$ C7DD7DD,2E,$ D00-E-$ F0+/@G40+9$ F3:4:8$ H//,I,$ #!$ G:H72-$ J2:3:8$ #!$ K:E71,$ G78@.12C$ K78@-016$ I-J9-0112$ L,D9,/001$ I8-,41,13H@$ #$ L8,+30+02E@$ #$ I3,,:5$ L2++:4$ K1,1201$ M0+01/0$ L72CJ1,$ N,1802B:+$ !"#$ O716D0+$ L7227/:H$ !"#$ %$ )$ ($ #'$ *%$ ')$ #%($ %&'$ O7117.:E$ M1,9$ %$ ($ &$ #'$ )%$ '($ #%&$ P0+9$ 01'2(3$,4$53,+(**,3*$ 01'2(3$,4$53,+(**,3*$ 21 Managed by UT-Battelle for the Department of Energy

  22. Results: Analysis • Some scalability for standard test problems • No scaling for Canadian cities problems – Majority of compute time spent in ramp-up phase – No room to scale! • Both PICO and BLIS had trouble solving some problems – Segfaults, OOM, hangs – Insufficiently robust for petascale • In principle, parallel MILP solvers show promise; in practice, need improvement 22 Managed by UT-Battelle for the Department of Energy

  23. Future Work • More code development needed • One idea: use existing parallel framework to parallelize MILP solvers – MADNESS (Multiscale Adaptive Numerical Environment for Scientific Simulation) good candidate – Use MADNESS to distribute branches across processes, paired with well-established branching and bounding/cutting methods 23 Managed by UT-Battelle for the Department of Energy

  24. Acknowledgments • This research was sponsored by the Laboratory Directed Research and Development Program of Oak Ridge National Laboratory, managed by UT-Battelle, LLC, for the U.S. Department of Energy. • This research used resources of the National Center for Computational Sciences at Oak Ridge National Laboratory, which is supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC05-00OR22725. 24 Managed by UT-Battelle for the Department of Energy

  25. Resources • BLIS Available for download from http://www.coin-or.org/ • PICO Jonathan Eckstein, Cynthia A. Phillips and William E. Hart, “PICO: An object-oriented framework for parallel branch-and-bound,” in Proc Inherently Parallel Algorithms in Feasibility and Optimization and Their Applications , Elsevier Scientific Series on Studies in Computational Mathematics, pp. 219 -- 265, 2001. 25 Managed by UT-Battelle for the Department of Energy

Recommend


More recommend