Efficient Branch-and-Bound Algorithms on a Two-Level Memory System

Branch-and-bound algorithms in a system with a two-level memory hierarchy were evaluated. An efficient implementation depends on the disparities in the numbers of subproblems expanded between the depth-first and best-first searches as well as the relative speeds of the main and secondary memories. A best-first search should be used when it expands a much smaller number of subproblems than that of a depth-first search, and the secondary memory is relatively slow. In contrast, a depth-first search should be used when the number of expanded subproblems is close to that of a best-first search. The choice is not as clear for cases in between these cases are studied. Two strategies are proposed and analyzed: a specialized virtual-memory system that matches the architectural design with the characteristics of the existing algorithm, and a modified branch-and-bound algorithm that can be tuned to the characteristic of the problem and the architecture. The latter strategy illustrates that designing a better algorithm is sometimes more effective that tuning the architecture alone. >

[1]  W. W. Bledsoe,et al.  Review of "Problem-Solving Methods in Artificial Intelligence by Nils J. Nilsson", McGraw-Hill Pub. , 1971, SGAR.

[2]  Kenneth Steiglitz,et al.  Characterization and Theoretical Comparison of Branch-and-Bound Algorithms for Permutation Problems , 1974, JACM.

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

[4]  Domenico Ferrari,et al.  The Improvement of Program Behavior , 1976, Computer.

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

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

[7]  Domenico Ferrari,et al.  Tailoring Programs to Models of Program Behavior , 1975, IBM J. Res. Dev..

[8]  Vipin Kumar,et al.  A General Branch and Bound Formulation for Understanding and Synthesizing And/Or Tree Search Procedures , 1983, Artif. Intell..

[9]  Jean-Loup Baer,et al.  Dynamic Improvement of Locality in Virtual Memory Systems , 1976, IEEE Transactions on Software Engineering.

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

[11]  Benjamin W. Wah,et al.  Learning Dominance Relations in Combinatorial Search Problems , 1988, IEEE Trans. Software Eng..

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

[13]  James E. Morrison User Program Performance in Virtual Storage Systems , 1973, IBM Syst. J..

[14]  Toshihide Ibaraki,et al.  Computational Efficiency of Approximate Branch-and-Bound Algorithms , 1976, Math. Oper. Res..

[15]  C. Zheng,et al.  ; 0 ; , 1951 .

[16]  Richard E. Korf,et al.  Iterative-Deepening-A*: An Optimal Admissible Tree Search , 1985, IJCAI.

[17]  Nils J. Nilsson,et al.  Principles of Artificial Intelligence , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[18]  Chee Fen Yu Efficient combinatorial search algorithms , 1986 .

[19]  Barbara S. Brawn,et al.  Sorting in a paging environment , 1970, Commun. ACM.

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

[21]  Donald J. Hatfield,et al.  Program Restructuring for Virtual Memory , 1971, IBM Syst. J..

[22]  Ilkka J. Haikala,et al.  Virtual Memory Behavior of Some Sorting Algorithms , 1984, IEEE Transactions on Software Engineering.

[23]  Alan Jay Smith,et al.  Sequentiality and prefetching in database systems , 1978, TODS.

[24]  Richard E. Korf,et al.  Depth-First Iterative-Deepening: An Optimal Admissible Tree Search , 1985, Artif. Intell..

[25]  Patrick C. Fischer,et al.  Storage reorganization techniques for matrix computation in a paging environment , 1979, CACM.

[26]  E. L. Lawler,et al.  Branch-and-Bound Methods: A Survey , 1966, Oper. Res..

[27]  Hans J. Berliner,et al.  The B* Tree Search Algorithm: A Best-First Proof Procedure , 1979, Artif. Intell..

[28]  Domenico Ferrari,et al.  Improving locality by critical working sets , 1974, CACM.

[29]  Donald E. Knuth,et al.  The Solution for the Branching Factor of the Alpha-Beta Pruning Algorithm , 1981, ICALP.

[30]  Harold S. Stone,et al.  The Average Complexity of Depth-First Search with Backtracking and Cutoff , 1986, IBM J. Res. Dev..

[31]  Edward G. Coffman,et al.  Organizing matrices and matrix operations for paged memory systems , 1969, Commun. ACM.

[32]  Alberto Martelli,et al.  Optimizing decision trees through heuristically guided search , 1978, CACM.

[33]  Douglas Comer,et al.  Ubiquitous B-Tree , 1979, CSUR.

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

[35]  Averill M. Law,et al.  The art and theory of dynamic programming , 1977 .

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

[37]  Laveen N. Kanal,et al.  Degree in Electrical Engineering from Carnegie- Problem Reduction Representation for the Linguistic Analysis of Waveforms , 2022 .

[38]  Benjamin W. Wah,et al.  Multiprocessing of Combinatorial Search Problems , 1985, Computer.