Work Stealing Strategies For Multi-Core Parallel Branch-and-Bound Algorithm Using Factorial Number System

Many real-world problems in different industrial and economic fields are permutation combinatorial optimization problems. Solving to optimality large instances of these problems, such as the flowshop problem, is a challenge for multi-core computing. This paper proposes four work stealing strategies for the multithreaded factoradic-based branch-and-bound (B&B) algorithm to solve permutation combinatorial problems on multi-core processors. The factoradic, called also factorial number system, is a mixed radix numeral system adapted to numbering permutations. In our new parallel strategies, the B&B is based on a matrix of integers instead of a pool of permutations, and work units exchanged between threads are intervals of factoradics instead of sets of nodes. The experiments show that the strategy based on selecting the largest interval is better than the three other strategies in terms of the number of interval sharing events. Furthermore, the worst factoradic-based strategy spends on average 7.2 times less time managing the pool of subproblems than a conventional pool-based parallel B&B algorithm.

[1]  Michael A. Bauer,et al.  Parallel Branch and Bound Algorithm - A comparison between serial, OpenMP and MPI implementations , 2010 .

[2]  Éric D. Taillard,et al.  Benchmarks for basic scheduling problems , 1993 .

[3]  Salah Dowaji,et al.  Parallel and Distributed Branch-and-Bound/A* Algorithms , 1994 .

[4]  Albert Corominas,et al.  Branch and win: OR tree search algorithms for solving combinatorial optimisation problems , 2004 .

[5]  Bernard Gendron,et al.  Parallel Branch-and-Branch Algorithms: Survey and Synthesis , 1994, Oper. Res..

[6]  Inmaculada García,et al.  Adaptive parallel interval branch and bound algorithms based on their performance for multicore architectures , 2011, The Journal of Supercomputing.

[7]  S. M. Johnson,et al.  Optimal two- and three-stage production schedules with setup times included , 1954 .

[8]  Weixiong Zhang,et al.  Cut-and-solve: An iterative search strategy for combinatorial optimization problems , 2006, Artif. Intell..

[9]  B. J. Lageweg,et al.  A General Bounding Scheme for the Permutation Flow-Shop Problem , 1978, Oper. Res..

[10]  C. Laisant Sur la numération factorielle, application aux permutations , .

[11]  Dharma P. Agrawal,et al.  A randomized parallel branch-and-bound algorithm , 1989, International Journal of Parallel Programming.

[12]  Cynthia A. Phillips,et al.  Pico: An Object-Oriented Framework for Parallel Branch and Bound * , 2001 .

[13]  Gerard Sierksma,et al.  Branch and peg algorithms for the simple plant location problem , 2003, Computers & Operations Research.

[14]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[15]  Vipin Kumar,et al.  Parallel Branch-and-Bound Formulations for AND/OR Tree Search , 1984, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[16]  Donald Ervin Knuth,et al.  The Art of Computer Programming, Volume II: Seminumerical Algorithms , 1970 .

[17]  Ravi Sethi,et al.  The Complexity of Flowshop and Jobshop Scheduling , 1976, Math. Oper. Res..

[18]  Hamid Sarbazi-Azad,et al.  A Multithreaded Branch-and-Bound Algorithm for Solving The Flow-Shop Problem on A Multicore Environment , 2014 .

[19]  Joseph F. Pekny,et al.  Commentary - The Role of Performance Metrics for Parallel Mathematical Programming Algorithms , 1993, INFORMS J. Comput..

[20]  Teodor Gabriel Crainic,et al.  PARALLEL BRANCH-AND-BOUND ALGORITHMS: SURVEY AND SYNTHESIS , 1993 .

[21]  El-Ghazali Talbi,et al.  A Grid-enabled Branch and Bound Algorithm for Solving Challenging Combinatorial Optimization Problems , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[22]  Remigijus Paulavičius,et al.  Parallel Branch and Bound Algorithm with Combination of Lipschitz Bounds over Multidimensional Simplices for Multicore Computers , 2009 .