Parallel best-first branch-and-bound in discrete optimization: a framework

In this report, parallelism is used as a way to solve {\em discrete optimization problems}. We search for an {\em optimal solution} $x^{*}\in S^{*}$, where $S^{*}$ is the set of all best solutions in a {\em % domain} $S$, defined as the discrete set of all vectors $x$ in the solution space that satisfy a set of constraints. Improving the search efficiency is of considerable importance since exhaustive search is often impracticable. The method called {\em % branch-and-bound} (noted B\&B) is a tree search algorithm often used as an intelligent search in this context. Its principle lies in successive decompositions of the original problem in smaller disjoint subproblems until an optimal solution is found. The algorithm consists of a heuristic itn this context. Its principle lies in successive decompositions of the original problem in smaller disjoint subproblems until an optimal solution is found. The algorithm consists of a heuristic iterative search that avoids visiting some subproblems which are known not to contain an optimal solution. Parallel processing has been widely studied as an additional source of improvement in search efficiency in discrete optimization. We review in this report the literature pertinent to {\em parallel branch-and-bound algorithms}. The focus is on {\em distributed memory} parallel systems, which are composed of a set of processors connected by a physical network, each one with its own local memory. The communications between two different processors are implemented through the exchange of messages over links of the network connecting the two processors. Given that an attractive feature is that disjoint subproblems can be decomposed simultaneously and independently, the challenge is how to use the set of processors to improve the search efficiency of B\&B algorithms, concurrently decomposing several subproblems at each iteration. In general terms, the potential to be explored consists of a linear -- on the number of processors -- reduction on the number of iterations. However, the reduction on the number of iterations can deviate considerably from linear due to possible {\em % speedup anomalies}. Parallel B\&B is traditionally considered as an irregular parallel algorithm due to the fact that the structure of the search tree is not known beforehand. It may result in unnecessary work if a subproblem that does not contain an optimal solution is chosen and assigned to a processor to be decomposed. Therefore, the use of a distributed memory parallel system incurs a number of overheads, including communication overheads and idle time due to workload imbalance and contention on common data structures. Several special techniques have been developed to address these problems, essentially related to the amount of ``necessary'''' work assigned to each processor. This report reviews these techniques, attempting to tie the area of parallel B\&B under a common, uniform terminology. It can be profitable both to the parallel processing

[1]  John N. Tsitsiklis,et al.  Parallel and distributed computation , 1989 .

[2]  K. Schwan,et al.  Process and workload migration for a parallel branch-and-bound algorithm on a hypercube multicomputer , 1989, C3P.

[3]  T. N. Mudge,et al.  Parallel branch and bound algorithms on hypercube multiprocessors , 1989, C3P.

[4]  Michael J. Quinn,et al.  An upper bound for the speedup of parallel best-bound branch-and-bound algorithms , 1986, BIT Comput. Sci. Sect..

[5]  Lawrence R. Rabiner,et al.  Combinatorial optimization:Algorithms and complexity , 1984 .

[6]  Michael J. Quinn,et al.  Analysis and Implementation of Branch-and Bound Algorithms on a Hypercube Multicomputer , 1990, IEEE Trans. Computers.

[7]  Joseph F. Pekny,et al.  A parallel branch and bound algorithm for solving large asymmetric traveling salesman problems , 1992, CSC '90.

[8]  Alan P. Sprague,et al.  Performance of parallel branch-and-bound algorithms , 1985, IEEE Transactions on Computers.

[9]  B. Gillett,et al.  A parallel integer linear programming algorithm , 1988 .

[10]  Benjamin W. Wah,et al.  Stochastic Modeling of Branch-and-Bound Algorithms with Best-First Search , 1985, IEEE Transactions on Software Engineering.

[11]  Jens Clausen,et al.  Do Inherently Sequential Branch-and-Bound Algorithms Exist? , 1994, Parallel Process. Lett..

[12]  G. Nemhauser,et al.  Branch-and-bound and parallel computation: A historical note , 1988 .

[13]  Toshihide Ibaraki,et al.  The Power of Dominance Relations in Branch-and-Bound Algorithms , 1977, JACM.

[14]  Joseph F. Pekny,et al.  A parallel branch and bound algorithm for solving large asymmetric traveling salesman problems , 1992, Math. Program..

[15]  Richard M. Karp,et al.  Randomized parallel algorithms for backtrack search and branch-and-bound computation , 1993, JACM.

[16]  Douglas R. Smith,et al.  Random Trees and the Analysis of Branch and Bound Procedures , 1984, JACM.

[17]  Henri E. Bal,et al.  A comparison of two paradigms for distributed shared memory , 1992, Softw. Pract. Exp..

[18]  J. Pekny,et al.  Results from a parallel branch and bound algorithm for the asymmetric traveling salesman problem , 1989 .

[19]  Laurence A. Wolsey,et al.  Integer and Combinatorial Optimization , 1988, Wiley interscience series in discrete mathematics and optimization.

[20]  Alberto Martelli,et al.  Dynamic Programming as Graph Searching: An Algebraic Approach , 1981, JACM.

[21]  Panos M. Pardalos,et al.  A parallel algorithm for the quadratic assignment problem , 1989, Proceedings of the 1989 ACM/IEEE Conference on Supercomputing (Supercomputing '89).

[22]  John L. Gustafson,et al.  The consequences of fixed time performance measurement , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[23]  Afonso Ferreira,et al.  A Distributed Implementation of Asynchronous Parallel Branch and Bound , 1995 .

[24]  Alan P. Sprague,et al.  A Note on Anomalies in Parallel Branch-and-Bound Algorithms with One-to-One Bounding Functions , 1986, Inf. Process. Lett..

[25]  Richard M. Karp,et al.  A randomized parallel branch-and-bound procedure , 1988, STOC '88.

[26]  Barr and Feigenbaum Edward A. Avron,et al.  The Handbook of Artificial Intelligence , 1981 .

[27]  Benjamin W. Wah,et al.  MANIP—A Multicomputer Architecture for Solving Combinatonal Extremum-Search Problems , 1984, IEEE Transactions on Computers.

[28]  Benjamin W. Wah,et al.  Coping with Anomalies in Parallel Branch-and-Bound Algorithms , 1986, IEEE Transactions on Computers.

[29]  Thomas L. Morin,et al.  Branch-and-Bound Strategies for Dynamic Programming , 2015, Oper. Res..

[30]  Toshihide Ibaraki,et al.  Branch-and-Bound Procedure and State-Space Representation of Combinatorial Optimization Problems , 1978, Inf. Control..

[31]  Sartaj Sahni,et al.  Anomalies in Parallel Branch-and-Bound Algorithms , 1984 .

[32]  Vipin Kumar,et al.  Efficient parallel algorithms for search problems: applications in VLSI CAD , 1990, [1990 Proceedings] The Third Symposium on the Frontiers of Massively Parallel Computation.

[33]  Kenneth Steiglitz,et al.  Combinatorial Optimization: Algorithms and Complexity , 1981 .

[34]  Judea Pearl,et al.  Heuristics : intelligent search strategies for computer problem solving , 1984 .

[35]  Vipin Kumar,et al.  Parallel Best-First Search of State-Space Graphs: A Summary of Results , 1988, AAAI.

[36]  George Karypis,et al.  Introduction to Parallel Computing , 1994 .

[37]  Udi Manber,et al.  DIB—a distributed implementation of backtracking , 1987, TOPL.

[38]  Reinhard Lüling,et al.  Load balancing for distributed branch & bound algorithms , 1992, Proceedings Sixth International Parallel Processing Symposium.

[39]  R. P. Ma,et al.  A dynamic load balancer for a parallel branch and bound algorithm , 1989, C3P.

[40]  Jonathan Eckstein,et al.  Parallel Branch-and-Bound Algorithms for General Mixed Integer Programming on the CM-5 , 1994, SIAM J. Optim..

[41]  Catherine Roucairol,et al.  A parallel branch and bound algorithm for the quadratic assignment problem , 1987, Discret. Appl. Math..

[42]  Afonso Ferreira,et al.  On the Effectiveness of Synchronous Parallel Branch-and-Bound Algorithms , 1995, Parallel Process. Lett..

[43]  L. N. Kanal,et al.  The CDP: A unifying formulation for heuristic search, dynamic programming, and branch-and-bound , 1988 .

[44]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[45]  Ellis Horowitz,et al.  Divide-and-Conquer for Parallel Processing , 1983, IEEE Transactions on Computers.

[46]  Jonathan Eckstein Control strategies for parallel mixed integer branch and bound , 1994, Proceedings of Supercomputing '94.

[47]  Panos M. Pardalos,et al.  Parallel Processing of Discrete Optimization Problems , 1995 .

[48]  L. G. Mitten Branch-and-Bound Methods: General Formulation and Properties , 1970, Oper. Res..

[49]  Jan Karel Lenstra,et al.  BRANCHING FROM THE LARGEST UPPER BOUND: FOLKLORE AND FACTS , 1978 .

[50]  Bernard Mans Contribution a l'algorithmique non numerique parallele : parallelisation de methodes de recherche arborescentes , 1992 .

[51]  Benjamin W. Wah,et al.  The status of manip - a multicomputer architecture for solving, combinatorial extremum-search problems , 1984, ISCA '84.

[52]  Vipin Kumar,et al.  General Branch and Bound, and its Relation to A and AO , 1984, Artif. Intell..

[53]  Afonso Ferreira,et al.  Modeling Parallel Branch-and-Bound for Asynchronous Implementations , 1994, Parallel Processing of Discrete Optimization Problems.

[54]  Giovanni Coray,et al.  A Parallel Best-First B&B with Synchronization Phases , 1992, CONPAR.