10 likes | 113 Views
High-Performance Tree Search and Discrete Optimization L. Lad ányi (IBM Research) T . K. Ralphs (Lehigh), M. J. Saltzman (Clemson), Y. Xu (SAS) . CHiPPS Framework C++ class library Intuitive interface, open source Very general, easy to specialize
E N D
High-Performance Tree Search and Discrete OptimizationL. Ladányi (IBM Research) T. K. Ralphs (Lehigh), M. J. Saltzman (Clemson), Y. Xu (SAS) • CHiPPS Framework • C++ class library • Intuitive interface, open source • Very general, easy to specialize • Designed for scalability, data-intensive problems • Applications • EMS facility location • Vehicle routing • Radiation treatment targeting • Production scheduling • Network design • etc. • BiCePS (Branch-Constrain-Price Software) • Base classes for optimization • Variable, constraints • Relaxation, bounds, constraint generation, variable generation, branching • Differencing reduces memory, communication overhead Three-Layer Hierarchy for Discrete Optimization • BLIS (BiCePS Linear Integer Solver • Mixed integer solver • Linear programming relaxations • Branch and cut • Heuristic solvers • Easy to specialize • Traveling Salesman Problem • Vehicle Routing Problem • etc. • Algorithm • Divide and conquer • Split solution space • Solve relaxed subproblems • Record best feasible solution • Recurse if solution not feasible • Result is a tree of subproblems • Search in parallel? • Hard because tree is dynamic • Overhead impedes scaling Parallel Tree Search Manager General Optimization (Branch-Cut-Price) LP-based Mixed Integer Optimization • Computational Tests • ALPS + Knapsack solver • Efficiency 0.77—1.30 on up to 2048 processors • BLIS • Varies a lot with problem instance, algorithm parameters • Promising, but more development needed • ALPS (Abstract Library for Parallel Search) • Designed for scalable distributed computation • Asynchronous knowledge sharing • Master-hub-worker • Dynamic task granularity • Static and dynamic load balancing Winner 1st Open Contest of Parallel Programming at the 19th International Symposium on Computer Architecture and High-Performance Computing • Parallel Overhead • Communication • Idle Time • Handshaking • Task starvation • Ramp up/down • Redundant work Knowledge sharing—Pools and Brokers • The COIN-OR Project • Open-source software for operations research • Virtual organization provides tools for distributedcollaborative development • Version control • Wiki • Web pages • Mailing list • Bug tracker • Build tools • Downloads • 40 active projects, more to come • http://www.coin-or.org Master-hub-worker Subtree is unit of work